summaryrefslogtreecommitdiff
path: root/source3/modules/vfs_default.c
AgeCommit message (Collapse)AuthorFilesLines
2013-01-18Move copychunk locking to be local to the read/write calls.Jeremy Allison1-0/+42
Eliminates the need to hold locks across the entire lifetime of the call. Next commit will remove these. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org>
2013-01-16s3-vfs: add copy_chunk vfs hooksDavid Disseldorp1-0/+111
copy_chunk copies n bytes from a source file at a specific offset to a destination file at a given offset. This interface will be used in handling smb2 FSCTL_SRV_COPYCHUNK ioctl requests. Use a pread/pwrite loop in vfs_default, so that requests referring to the same src and dest file are possible. Provide send and receive hooks for copy chunk VFS interface, allowing asynchronous behaviour. Check whether the request source offset + length exceeds the current size. Return STATUS_INVALID_VIEW_SIZE under such a condition, matching Windows server behaviour. Reviewed by: Jeremy Allison <jra@samba.org>
2012-11-05s3:vfs_default: optimize vfswrap_asys_finished() and read as much as we canStefan Metzmacher1-16/+33
Signed-off-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Mon Nov 5 19:01:13 CET 2012 on sn-devel-104
2012-10-11vfs: Improve formatting of vfs_defaultAndrew Bartlett1-23/+23
This avoids this bad style being copied into new modules. Andrew Bartlett
2012-10-11vfs: Use posix_sys_acl_blob_get_file in vfs_default for posix ACLsAndrew Bartlett1-0/+2
2012-10-11smbd: Add mem_ctx to {f,}get_nt_acl VFS callAndrew Bartlett1-2/+6
This makes it clear which context the returned SD is allocated on, as a number of callers do not want it on talloc_tos(). As the ACL transformation allocates and then no longer needs a great deal of memory, a talloc_stackframe() call is used to contain the memory that is not returned further up the stack. Andrew Bartlett
2012-10-11smbd: Add mem_ctx to sys_acl_init() and all callersAndrew Bartlett1-4/+9
This changes from allocation on NULL to allocation on the supplied memory context. Currently that supplied context is talloc_tos() at the the final consumer of the ACL. Andrew Bartlett
2012-09-08s3:vfs_default: add basic support for durable handle request and reconnectMichael Adam1-3/+6
We only grant durable handles for CIFS/SMB2 only access, that means "kernel oplocks", "kernel share modes" and "posix locking" need to be set to "no". For now we also don't grant durable handles if delete on close is active on the handle. Pair-Programmed-With: Stefan Metzmacher <metze@samba.org> Pair-Programmed-With: Volker Lendecke <vl@samba.org>
2012-09-08s3:vfs: add durable VFS operationsMichael Adam1-1/+34
This allows a VFS module to implement durable handles in different ways. Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
2012-08-15s3-smbd: Remove sys_acl_*() VFS wrapper functionsAndrew Bartlett1-102/+0
We no longer do struct smb_acl_t manipuations via the VFS layer, which is now reduced to handling the get/set functions. The only backend that implemented these functions (aside from audit) was the vfs_default module calling the sys_acl code. The various ACL implementation modules either worked on the fully initilaised smb_acl_t object or on NT ACLs. This not only makes the operation of the posix ACL code more efficient (as allocation and free is not put via the VFS), it makes it easier to test and removes the fantasy that a module could safely redefine this structure or the behaviour here. The smb_acls.idl now defines the structure, and it is now allocated with talloc. These operations were originally added to the VFS in commit 3bb219161a270f12c27c3bc7e1220829c6e9f284. Andrew Bartlett
2012-07-18s3-vfs: async fsyncVolker Lendecke1-0/+44
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18s3: Move the aio_pthread read/write functionality to vfs_defaultVolker Lendecke1-70/+138
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18s3-aio: Remove unused VFS functions and moreVolker Lendecke1-70/+0
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18s3-vfs: async preadVolker Lendecke1-0/+45
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18s3-vfs: async pwriteVolker Lendecke1-0/+48
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18loadparm: make the source3/ lp_ functions take an explicit TALLOC_CTX *.Rusty Russell1-1/+1
They use talloc_tos() internally: hoist that up to the callers, some of whom don't want to us talloc_tos(). A simple patch, but hits a lot of files. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-12s3: make log message of FSCTL_IS_VOLUME_DIRTY more clearBjörn Jacke1-1/+1
2012-06-21Fix bug #8974 - Kernel oplocks are broken when uid(file) != uid(process).Jeremy Allison1-5/+0
Based on a fix from "Etienne Dechamps " <e-t172@akegroup.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Thu Jun 21 21:53:58 CEST 2012 on sn-devel-104
2012-06-15s3:vfs_default: use fsp_fnum_dbg() for fsp->fnum logging.Michael Adam1-6/+10
Note: it is actually wrong to access the fsp->fnum at all here, since the fnum is part of the smb layer that should not be used in the vfs layer. But this is subject be separated more cleanly in later commits. This change only unifies the logging of fsp->fnum. Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-12s3: Make vfswrap_audit_file staticVolker Lendecke1-5/+5
Signed-off-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Tue Jun 12 02:26:31 CEST 2012 on sn-devel-104
2012-06-02lib/replace: xattr wrappers in lib/replace rather than source3/lib/system.cAndrew Bartlett1-8/+8
This also moves all the still-used configure tests etc. The unused OSF API is also removed at this time. Andrew Bartlett
2012-05-24s3:smbd/msdfs: pass 'allow_broken_path' to get_referred_path()Stefan Metzmacher1-1/+3
Note the DCERPC code should not be smb2 specific! I wonder why this is at all smb2 specific... metze
2012-04-28Add an audit file VFS routine so we can handle auditing with SACLs.Richard Sharpe1-0/+10
Autobuild-User: Richard Sharpe <sharpe@samba.org> Autobuild-Date: Sat Apr 28 08:05:00 CEST 2012 on sn-devel-104
2012-04-09s3: Move the aio signal init to the vfs moduleVolker Lendecke1-0/+8
On platforms that don't have an RT signal space, signal initialization fails. aio_fork and aio_pthread don't need the signal, so this would block them from running as well.
2012-04-06Bug found by Herb. blkcnt_t st_ex_blksize is defined as a signed value. When ↵Jeremy Allison1-0/+13
it is on a 32-bit system and defined as a long, then inside vfswrap_get_alloc_size() we cast to a uint64_t. This sign-extends when converting to unsigned, so if the high bit of st_ex_blksize is set we return insane values to clients.
2012-04-06build: Remove SMB_OFF_T, replace with off_tAndrew Bartlett1-15/+15
Now that we always require a 64 bit off_t, we no longer need SMB_OFF_T. Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Fri Apr 6 01:47:43 CEST 2012 on sn-devel-104
2012-04-05s3-vfs: Remove unused lremovexattr call from VFS modules, system.c and configureAndrew Bartlett1-6/+0
If this is ever needed again, it would be more appropriate as an options argument to removexattr. Andrew Bartlett
2012-04-05s3-vfs: Remove unused lsetxattr call from VFS modules, system.c and configureAndrew Bartlett1-6/+0
If this is ever needed again, it would be more appropriate as an options argument to listxattr. Andrew Bartlett
2012-04-05s3-vfs: Remove unused llistxattr call from VFS modules, system.c and configureAndrew Bartlett1-6/+0
If this is ever needed again, it would be more appropriate as an options argument to listxattr. Andrew Bartlett
2012-04-05s3-vfs: Remove unused lgetxattr call from VFS modules, system.c and configureAndrew Bartlett1-6/+0
2012-04-05build: Remove SMB_STRUCT_DIR defineAndrew Bartlett1-10/+10
2012-04-05build: Remove SMB_STRUCT_DIRENT defineAndrew Bartlett1-2/+2
2012-04-05build: Remove sys_rewinddir wrapperAndrew Bartlett1-1/+1
2012-04-05build: Remove sys_closedir wrapperAndrew Bartlett1-1/+1
2012-04-05build: Remove sys_telldir wrapperAndrew Bartlett1-1/+1
2012-04-05build: Remove sys_seekdir wrapperAndrew Bartlett1-1/+1
2012-04-05build: Remove sys_readdir wrapperAndrew Bartlett1-1/+1
2012-04-05build: Remove sys_opendir wrapperAndrew Bartlett1-1/+1
2012-04-05build: Remove sys_open wrapperAndrew Bartlett1-1/+1
2012-04-05build: Remove sys_lseek wrapperAndrew Bartlett1-1/+1
2012-04-05build: Remove sys_ftruncate wrapperAndrew Bartlett1-4/+4
2012-03-26s3: Pass filters explicitly through vfs notify watchVolker Lendecke1-3/+4
This removes a dependency on "struct notify_entry" and makes the nature of the API more explicit. We depend upon the VFS module to mask out elements from e->filter and e->subdir_filter that it took over to handle. Autobuild-User: Volker Lendecke <vl@samba.org> Autobuild-Date: Mon Mar 26 17:45:44 CEST 2012 on sn-devel-104
2012-03-21s3: Remove "conn" from sys_notify_contextVolker Lendecke1-1/+1
2012-03-21s3: Pass "path" through vfs_notify_watchVolker Lendecke1-1/+3
2012-03-11s3: Improve statvfs supportBrad Smith1-6/+6
Autobuild-User: Volker Lendecke <vl@samba.org> Autobuild-Date: Sun Mar 11 14:18:04 CET 2012 on sn-devel-104
2012-03-02s3: Further fix for bug 8777Brad Smith1-1/+1
2012-02-25s3: Fix bug 8777, sys_statvfs() wrapper support for OpenBSD/FreeBSD/DragonFlyBrad Smith1-1/+1
2011-12-12vfs: Make function pointer names consistent. They all end in _fnRichard Sharpe1-113/+113
Autobuild-User: Richard Sharpe <sharpe@samba.org> Autobuild-Date: Mon Dec 12 04:58:40 CET 2011 on sn-devel-104
2011-10-14Add support for VFS op streaminfo chaining in all relevant VFS modules.Frank Lahm1-15/+10
Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Fri Oct 14 03:26:06 CEST 2011 on sn-devel-104
2011-10-08s3:vfs: add SMB_VFS_GET_DFS_REFERRAL() hooksStefan Metzmacher1-0/+177
metze