1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-14 19:24:43 +03:00

3082 Commits

Author SHA1 Message Date
Volker Lendecke
305204a241 test: Intercept open in vfs_error_inject
Bug: https://bugzilla.samba.org/show_bug.cgi?id=14285
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-02-20 20:48:29 +00:00
Jeremy Allison
0528584482 s3: VFS: vfs_time_audit: Add read_dfs_pathat().
Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2020-02-18 21:08:33 +00:00
Jeremy Allison
263df98883 s3: VFS: vfs_full_audit: Add read_dfs_pathat().
Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2020-02-18 21:08:33 +00:00
Jeremy Allison
16acdc348d s3: VFS: catia: Add read_dfs_pathat().
Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2020-02-18 21:08:33 +00:00
Jeremy Allison
9f6c01b2cd s3: VFS: cap: Add cap_read_dfs_pathat().
Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2020-02-18 21:08:33 +00:00
Jeremy Allison
9e92d46b75 s3: VFS: shadow_copy2: Add shadow_copy2_read_dfs_pathat().
Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2020-02-18 21:08:33 +00:00
Jeremy Allison
018af49b93 s3: VFS: gluster: Add vfs_gluster_read_dfs_pathat().
Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2020-02-18 21:08:33 +00:00
Jeremy Allison
e52e2135dd s3: VFS: ceph: Add vfswrap_ceph_read_dfs_pathat().
Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2020-02-18 21:08:33 +00:00
Jeremy Allison
96bc3298fc s3: VFS: Add SMB_VFS_READ_DFS_PATHAT().
Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2020-02-18 21:08:33 +00:00
Stefan Metzmacher
195e88cea3 s3:modules: add vfs_io_uring module
The module makes use of the new io_uring infrastructure
(intruduced in linux 5.1), see https://lwn.net/Articles/778411/ and
http://git.kernel.dk/cgit/liburing/

Currently this only implements SMB_VFS_{PREAD,PWRITE,FSYNC}_SEND/RECV
and avoids the overhead of our userspace threadpool.

In future we'll hopefully make more use of more advanced io_uring
features.

For now we don't have automated tests as our test infrastructure
doesn't use a recent kernel. At least we're able to do compile tests
on fedora31.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Sat Feb 15 11:37:45 UTC 2020 on sn-devel-184
2020-02-15 11:37:45 +00:00
Ralph Wuerthner
6be818b47b vfs_gpfs: Remove discard_const_p() from gpfswrap_quotactl() calls
Signed-off-by: Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
Reviewed-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>

Autobuild-User(master): Christof Schmitt <cs@samba.org>
Autobuild-Date(master): Mon Feb  3 21:53:05 UTC 2020 on sn-devel-184
2020-02-03 21:53:05 +00:00
Ralph Wuerthner
ea45cba9ee vfs_gpfs: Remove discard_const_p() from gpfs_putacl() calls
Signed-off-by: Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
Reviewed-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
2020-02-03 20:27:37 +00:00
Ralph Wuerthner
508ae8ee7a vfs_gpfs: Remove discard_const_p() from gpfswrap_quotactl() calls
Signed-off-by: Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
Reviewed-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
2020-02-03 20:27:37 +00:00
Jeremy Allison
042249d95f s3: VFS: Implement create_dfs_pathat() in catia.
Now we use this instead of symlinks to create
DFS links, it's needed in cap.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>

Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Thu Jan 30 18:21:47 UTC 2020 on sn-devel-184
2020-01-30 18:21:47 +00:00
Jeremy Allison
fa2f83e13a s3: VFS: Implement create_dfs_pathat() in catia.
Now we use this instead of symlinks to create
DFS links, it's needed in catia.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2020-01-30 16:55:45 +00:00
Christof Schmitt
a39c4d9bed vfs_gpfs: Preserve errno across unbecome_root call
Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-21 22:08:41 +00:00
Christof Schmitt
fed2c3edc5 vfs_gpfs: Cleanup lease mapping function
Shorten the function a bit by directly returning the mapped value.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-21 22:08:41 +00:00
Christof Schmitt
4958478278 vfs_gpfs: Change lease helper function to only provide mapping
The set_gpfs_lease function first maps the lease argument to the GPFS
version and then issues the API call. Change this to only do the mapping
in the helper function.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-21 22:08:41 +00:00
Christof Schmitt
96252a0ec4 vfs_gpfs: Remove function call from "if" statement
Follow the current coding guidelines to first issue the function call
and then check the return code.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-21 22:08:41 +00:00
Christof Schmitt
d9c992a7a9 vfs_gpfs: Reformat function definition of vfs_gpfs_setlease
Remove trailing whitespace and put each argument on a seperate line.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-21 22:08:40 +00:00
Christof Schmitt
22cd011bc4 vfs_gpfs: Remove call to linux_set_lease_capability
The API call is already done as root user (become_root), so that the
lease contains the root user. The lease capability is already implied by
the root user, so the explicit call to linux_set_lease_capability is not
required.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-21 22:08:40 +00:00
David Disseldorp
b813ef6ae7 Revert "vfs_glusterfs: Return fake fd from pipe() during open"
This reverts commit c9adf47ac5a5aa0dd12572c34b08cc51f15b2e97.
The fake fd is no longer necessary, as vfs_glusterfs now provides a
fcntl_fn hook.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14241

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2020-01-21 14:38:44 +00:00
David Disseldorp
cc4a55d290 vfs_glusterfs: add .fcntl_fn hook
This hook is currently called via vfs_set_blocking(), so can safely be
ignored.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14241

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2020-01-21 14:38:44 +00:00
David Disseldorp
b56c56eecd vfs_ceph: add .fcntl_fn hook
This hook is currently called via vfs_set_blocking(), so can safely be
ignored.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14241

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2020-01-21 14:38:44 +00:00
Anoop C S
c9adf47ac5 vfs_glusterfs: Return fake fd from pipe() during open
GlusterFS currently doesn't have an API implementation to set flags on
open file descriptor. Thus we use pipe() to provide valid file descriptor
from the system.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14241

Signed-off-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>

Autobuild-User(master): Günther Deschner <gd@samba.org>
Autobuild-Date(master): Fri Jan 17 17:14:43 UTC 2020 on sn-devel-184
2020-01-17 17:14:43 +00:00
Volker Lendecke
75ddd1d6ab nfs4acl: Align integer types
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-14 19:17:28 +00:00
David Disseldorp
e61ddeef4c vfs_ceph: drop support for pre-hammer libcephfs versions
The last Ceph Hammer release (0.94.10) came in Feb 2017, as is no longer
supported upstream. Drop support for building Samba vfs_ceph against
version prior to 0.94.0.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Samuel Cabrero <scabrero@samba.org>

Autobuild-User(master): David Disseldorp <ddiss@samba.org>
Autobuild-Date(master): Sat Jan 11 14:59:36 UTC 2020 on sn-devel-184
2020-01-11 14:59:36 +00:00
David Disseldorp
888002f99e vfs_ceph: drop support for building without statx
libcephfs statx became available with the Kraken (11.2.0) release of
Ceph in Jan 2017. Versions prior to this are no longer supported
upstream, so we can drop support within Samba vfs_ceph.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Samuel Cabrero <scabrero@samba.org>
2020-01-11 13:34:30 +00:00
Jeremy Allison
54f9da4435 s3: VFS: Implement create_dfs_pathat() in time_audit.
Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
2020-01-10 19:38:42 +00:00
Jeremy Allison
23df92810b s3: VFS: Implement create_dfs_pathat() in full_audit.
Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
2020-01-10 19:38:42 +00:00
Jeremy Allison
51fd875661 s3: VFS: Implement create_dfs_pathat() in snapper.
Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
2020-01-10 19:38:42 +00:00
Jeremy Allison
6a46c5f207 s3: VFS: Implement create_dfs_pathat() in shadow_copy2.
Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
2020-01-10 19:38:42 +00:00
Jeremy Allison
235e59481d s3: VFS: Implement create_dfs_pathat() in gluster.
Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
2020-01-10 19:38:42 +00:00
Jeremy Allison
421d26a890 s3: VFS: Implement create_dfs_pathat() in ceph.
Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
2020-01-10 19:38:42 +00:00
Jeremy Allison
b0b9dd2f86 s3: VFS: Add SMB_VFS_CREATE_DFS_PATHAT().
Not yet used.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
2020-01-10 19:38:42 +00:00
David Disseldorp
60b72f589e vfs_ceph: assert renameat() fsps match cwd
As discussed with Jeremy in bug 14232, the vfs_ceph.renameat_fn
implementation currently ignores srcfsp and dstfsp. As a result,
relative smb_fname_src/smb_fname_dest paths will be processed as
relative to cwd.
This is currently a valid assumption, as srcfsp and dstfsp should
always match conn->cwd_fsp. Add an assert to clarify this.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Jan  9 20:20:05 UTC 2020 on sn-devel-184
2020-01-09 20:20:05 +00:00
Christof Schmitt
4ff13c0174 vfs_gpfs: Update message for requesting sharemode on stream
User newer debug macro and print full path to affected file.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Wed Jan  8 01:26:46 UTC 2020 on sn-devel-184
2020-01-08 01:26:46 +00:00
Christof Schmitt
5c20ef88ab vfs_gpfs: Log failed gpfs_set_share call as error
Any other error code from gpfs_set_share should never happen. Print a
error message in case this is ever encountered.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-08 00:01:37 +00:00
Christof Schmitt
47a2c6707b vfs_gpfs: Print message when share modes are disabled in file system
GPFS file systems can be configured without support for share modes. As
this results in an unique error code, print a message explaining this
situation and the required config changes.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-08 00:01:37 +00:00
Christof Schmitt
191e375d20 vfs_gpfs: Explicitly log when share mode has been denied
As this denies access to a file, provide a better error message for
easier troubleshooting.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-08 00:01:37 +00:00
Christof Schmitt
a64978e0dc vfs_gpfs: Use early return in sharemode function
This removes one level of indentation.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-08 00:01:37 +00:00
Christof Schmitt
03705f4c2f vfs_gpfs: Switch share mode helper function to return int
Follow the convention to return 0 on success and -1 when hitting an
error.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-08 00:01:37 +00:00
Christof Schmitt
f03c4485a2 vfs_gpfs: Remove logging for unsupported file system
The gpfs_set_share API call has been around for a long time and
definitely all supported GPFS versions have it. Remove the check and
fallback for old versions without this API.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-08 00:01:37 +00:00
Christof Schmitt
ef52a907fe vfs_gpfs: Only clear sharemode on close when sharemode has been taken
This avoids a redundant error message in case the call to acquire the
sharemode had failed before.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-08 00:01:37 +00:00
Christof Schmitt
c993480eef vfs_gpfs: Log error if clearing of sharemode fails on close
Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-08 00:01:37 +00:00
Christof Schmitt
d912895590 vfs_gpfs: Add comment explaining why sharemode is dropped in close call.
Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-08 00:01:36 +00:00
Christof Schmitt
56cf9b15f0 vfs_gpfs: Remove unncessary check from close function
The fsp has a valid file descriptor when this function is called. No
need for the additional check.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-08 00:01:36 +00:00
Christof Schmitt
5d5763ea8c vfs_gpfs: Cleanup debug message file system share mode
Use the newer debug macro and the full variable names.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-08 00:01:36 +00:00
Christof Schmitt
eff66787c6 vfs_gpfs: Cleanup clearing file system share mode
The VFS flock function is called with a zero access_mask to indicate
that the share mode should be cleared. Adjust the check to directly
check the access_mask and provide a better message to indicate this
case.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-08 00:01:36 +00:00
Christof Schmitt
79a50e75b2 vfs_gpfs: Move mapping to sharemode deny to helper function
Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2020-01-08 00:01:36 +00:00