summaryrefslogtreecommitdiffstats
path: root/source3/include/vfs.h
Commit message (Collapse)AuthorAgeFilesLines
* s3: Fix some nonempty blank linesVolker Lendecke2011-08-051-3/+3
|
* Bump the smbd vfs interface version to 29. Samba 3.6.0 will shipJeremy Allison2011-06-101-1/+2
| | | | with interface 28.
* Remove the char * argument from the SMB_VFS_GETWD() call. Now alwaysJeremy Allison2011-06-011-2/+3
| | | | | | | returns malloc'ed memory. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Wed Jun 1 04:06:12 CEST 2011 on sn-devel-104
* s3:include/vfs.h: remove very old hints for vfs modules with interface ↵Stefan Metzmacher2011-04-231-8/+0
| | | | | | | | | | | | version < 8 The interface version is at 28 now, and this defines cause problem on some systems, e.g. Tru64 defines vfs_init in the system headers. metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Sat Apr 23 12:07:35 CEST 2011 on sn-devel-104
* Revert "s3-vfs: another attempt to fix the Tru64 build."Stefan Metzmacher2011-04-231-4/+0
| | | | | | | | This reverts commit 52909271879d909533a86c3a448839debb6497c6. A better fix will follow. metze
* s3-vfs: another attempt to fix the Tru64 build.Günther Deschner2011-04-221-0/+4
| | | | | | | | | vfsops struct on Tru64 has a vfs_init function pointer. Guenther Autobuild-User: Günther Deschner <gd@samba.org> Autobuild-Date: Fri Apr 22 01:49:59 CEST 2011 on sn-devel-104
* Revert "s3-vfs: try to fix the Tru64 build."Günther Deschner2011-04-221-6/+0
| | | | This reverts commit 1b7cd33291ec69f58a68396cf7406a6da3083df3.
* s3-vfs: try to fix the Tru64 build.Günther Deschner2011-04-211-0/+6
| | | | | | | | | Volker, Jeremy please check. Guenther Autobuild-User: Günther Deschner <gd@samba.org> Autobuild-Date: Thu Apr 21 19:14:00 CEST 2011 on sn-devel-104
* s3-vfs: rename open function to open_fn.Günther Deschner2011-04-211-3/+4
| | | | | | | | | | | This should finally fix the AIX build and allow to remove AIX specific ifdefs. Guenther Signed-off-by: Jeremy Allison <jra@samba.org> Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Thu Apr 21 02:01:20 CEST 2011 on sn-devel-104
* s3: only include ntioctl.h where needed.Günther Deschner2011-03-301-2/+3
| | | | Guenther
* s3: Pass smb_filename through the set_offline vfs opVolker Lendecke2011-03-021-2/+3
|
* s3: Pass smb_filename through the is_offline vfs opVolker Lendecke2011-03-021-2/+5
|
* s3-build __FUNCTION__ is always available, always use itAndrew Bartlett2011-03-011-2/+2
| | | | This avoids duplication between FUNCTION_NAME and __FUNCTION__
* Add fdopendir to the VFS. We will use this to reuse a directory fd already ↵Jeremy Allison2011-02-091-0/+6
| | | | | | | open by NtCreateX. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Wed Feb 9 00:55:22 CET 2011 on sn-devel-104
* Rename vfs operation posix_fallocate to just fallocate and add the ↵Jeremy Allison2010-12-181-2/+11
| | | | | | | | | | | | | | | | | | | | | | vfs_fallocate_mode parameter. It turns out we need the fallocate operations to be able to both allocate and extend filesize, and to allocate and not extend filesize, and posix_fallocate can only do the former. So by defining the vfs op as posix_fallocate we lose the opportunity to use any underlying syscalls (like Linux fallocate) that can do the latter as well. We don't currently use the non-extending filesize call, but now I've changed the vfs op definition we can in the future. For the moment simply map the fallocate op onto posix_fallocate for the VFS_FALLOCATE_EXTEND_SIZE case and return ENOSYS for the VFS_FALLOCATE_KEEP_SIZE case. Jeremy. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Sat Dec 18 08:59:27 CET 2010 on sn-devel-104
* Move posix_fallocate into the VFS where it belongs.Jeremy Allison2010-12-021-0/+10
| | | | Jeremy.
* Move the uglyness of #ifdef REALPATH_TAKES_NULL into the vfs_defaultJeremy Allison2010-11-201-3/+4
| | | | | | | | | | | | | module, change the signature of VFS_REALPATH to always return a malloc'ed string. Needed to make some privileges work I plan on doing shortly easier to code. Jeremy. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Sat Nov 20 02:15:50 CET 2010 on sn-devel-104
* Fix for bug #7189 - Open txt files with notepad on samba shares creates problem.Jeremy Allison2010-03-051-1/+4
| | | | | | | | | | Ensure we don't use any of the create_options for Samba private use. Add a new parameter to the VFS_CREATE call (private_flags) which is only used internally. Renumber NTCREATEX_OPTIONS_PRIVATE_DENY_DOS and NTCREATEX_OPTIONS_PRIVATE_DENY_FCB to match the S4 code). Rev. the VFS interface to version 28. Jeremy.
* s3: Do not talloc in readdirVolker Lendecke2009-11-181-4/+8
| | | | This is a hot codepath (called from the stat cache)
* s3: Add access_mask to the flock VFS callAbhidnya P Chirmule2009-10-061-2/+4
|
* vfs catia: Fix the double translation that was happening with createfile and ↵Aravind Srinivasan2009-09-241-2/+9
| | | | | | | | | | | | | | | open. Since the catia translation is implemented for open, it should not also be done in createfile. By removing createfile from catia, translation is now done correctly for the primary open path. In order to support systems that have custom createfile implementations that don't eventually call SMB_VFS_OPEN, SMB_VFS_TRANSLATE_NAME has been expanded to take an additional argument that specifies direction. Signed-off-by: Tim Prouty <tprouty@samba.org>
* s3: Add a new VFS op called SMB_VFS_TRANSLATE_NAMEAravind Srinivasan2009-08-281-0/+7
| | | | | | | | | | | This vop is designed to work in tandem with SMB_VFS_READDIR to allow vfs modules to make modifications to arbitrary filenames before they're consumed by callers. Subsequently the core directory enumeration code in smbd is now changed to free the memory that may be allocated in a module. This vop enables the new version of catia in the following patch. Signed-off-by: Tim Prouty <tprouty@samba.org>
* Second attempt at fix for bug 6529 - Offline files conflict with Vista and ↵Jeremy Allison2009-08-241-4/+6
| | | | | | | | Office 2003. Confirmation from reporter that this fixes the issue in master on ext3/ext4. Back-ports to follow. Jeremy.
* add my copyright after the VFS rewriteVolker Lendecke2009-07-241-0/+1
|
* Move the "enum _vfs_op_type" to full_auditVolker Lendecke2009-07-241-142/+0
| | | | | It's only used there now. Someone should now go in and simplify full_audit... :-)
* Make the smbd VFS typesafeVolker Lendecke2009-07-241-383/+504
|
* s3: Plumb smb_filename through SMB_VFS_NTIMESTim Prouty2009-07-061-2/+4
|
* s3: Plumb smb_filename through SMB_VFS_UNLINKTim Prouty2009-07-061-2/+3
|
* s3: Plumb smb_filename through SMB_VFS_RENAMETim Prouty2009-07-061-2/+5
|
* s3: Plumb smb_filename through SMB_VFS_STAT and SMB_VFS_LSTATTim Prouty2009-06-241-3/+3
| | | | | | | | | | | | | This patch introduces two new temporary helper functions vfs_stat_smb_fname and vfs_lstat_smb_fname. They basically allowed me to call the new smb_filename version of stat, while avoiding plumbing it through callers that are still too inconvenient. As the conversion moves along, I will be able to remove callers of this, with the goal being to remove all callers. There was also a bug in create_synthetic_smb_fname_split (also a temporary utility function) that caused it to incorrectly handle filenames with ':'s in them when in posix mode. This is now fixed.
* s3: Change SMB_VFS_OPEN to take an smb_filename structTim Prouty2009-06-171-2/+5
| | | | | | | | | | | | This was a little messy because of all of the vfs modules I had to touch. Most of them were pretty straight forward, but the streams modules required a little attention to handle smb_filename. Since the use of smb_filename enables the vfs modules to access the raw, over-the-wire stream, a little bit of the handling that was being done by split_ntfs_stream_name has now been shifted into the individual stream modules. It may be a little more code, but overall it gives more flexibility to the streams modules, while also allowing correct stream handling.
* s3: Plumb smb_filename through SMB_VFS_CREATE_FILETim Prouty2009-06-121-5/+5
|
* Add SMB_VFS_CONNECTPATH operationVolker Lendecke2009-06-021-0/+5
| | | | | | This is required for the shadow_copy2 module and "wide links = no". The file system snapshots by nature are typically outside of share directory. So the REALPATH result fails the wide links = no test.
* s3: Add strict lock/unlock calls to the vfs layer to replace is_lockedDave Richards2009-03-131-0/+13
|
* s3: Modify SMB_VFS_FILE_ID_CREATE to take a stat structTim Prouty2009-02-191-1/+2
| | | | | Since file_id_create_dev is incompatible with the concept of file_ids, it is now static and in the one file that needs it.
* Add VFS ops for Windows BRL: Lock, Unlock and Cancel:Zack Kirsch2009-02-131-0/+24
| | | | | | | | | | | | | | | | | | | | | | | This patch adds 3 new VFS OPs for Windows byte range locking: BRL_LOCK_WINDOWS, BRL_UNLOCK_WINDOWS and BRL_CANCEL_WINDOWS. Specifically: * I renamed brl_lock_windows, brl_unlock_windows and brl_lock_cancel to *_default as the default implementations of the VFS ops. * The blocking_lock_record (BLR) is now passed into the brl_lock_windows and brl_cancel_windows paths. The Onefs implementation uses it - future implementations may find it useful too. * Created brl_lock_cancel to do what brl_lock/brl_unlock do: set up a lock_struct and call either the Posix or Windows lock function. These happen to be the same for the default implementation. * Added helper functions: increment_current_lock_count() and decrement_current_lock_count(). * Minor spelling correction in brl_timeout_fn: brl -> blr. * Changed blocking_lock_cancel() to return the BLR that it has cancelled. This allows us to assert its the lock that we wanted to cancel. If this assert ever fires, this path will need to take in the BLR to cancel, rather than choosing on its own. * Adds a small helper function: find_blocking_lock_record_by_id(). Used by the OneFS implementation, but could be useful for others.
* s3: OneFS bulk directory enumeration supportSteven Danneman2009-02-091-1/+1
| | | | | | | | | | | | | | | | | | OneFS provides the bulk directory enumeration syscall readdirplus(). This syscall has the same semantics as the NFSv3 READDIRPLUS command, returning a batch of directory entries with prefetched stat information via one syscall. This commit wraps the readdirplus() call in the existing POSIX readdir/seekdir VFS interface. By default a batch of 128 directory entries are optimistically read from the kernel into a global cache, and fed to iterative calls of VFS_OP_READDIR. The global buffers could be avoided in the future by hanging connection specific buffers off the conn struct. Added new parameter "onefs:use readdirplus" which toggles usage of this code on or off.
* s3: Added SMB_VFS_INIT_SEARCH_OP to initialize data at the beginning of SMB ↵Steven Danneman2009-02-091-2/+6
| | | | | | | | search requests. By default this VFS call is a NOOP, but the onefs vfs module takes advantage of it to initialize direntry search caches at the beginning of each TRANS2_FIND_FIRST, TRANS2_FIND_NEXT, SMBffirst, SMBsearch, and SMBunique
* Add an optional SMB_STRUCT_SMB parameter to VFS_OP_READDIRSteven Danneman2009-02-091-1/+4
| | | | | | | | * this allows VFS implementations that prefetch stat information on readdir to return it through one VFS call * backwards compatibility is maintained by passing in NULL * if the system readdir doesn't return stat info, the stat struct is set to invalid
* s3 vfs: Add a destructor to the fsp extension data APITim Prouty2009-02-091-2/+2
| | | | | I'm not certain if the dummy pointer is needed in struct vfs_fsp_data, but I added it to be consistent with the comment below.
* s3: Add a new SMB_VFS_GET_ALLOC_SIZE vfs operationTim Prouty2009-01-291-0/+4
| | | | | This allows module implementors to customize what allocation size is returned to the client.
* Extend NTIMES to allow setting create_timetodd stecher2009-01-231-1/+3
| | | | | | | | | 1) Add in smb_file_time struct to clarify code and make room for createtime. 2) Get and set create time from SMB messages. 3) Fixup existing VFS modules + examples Some OS'es allow for the setting of the birthtime through kernel interfaces. This value is generically used for Windows createtime, but is not settable in the code today.
* Pass the get_real_filename operation through the VFSVolker Lendecke2008-12-101-0/+8
| | | | | | | | | | | | | | This is done to help file systems that can tell us about the real upper/lower case combination given a case-insensitive file name. The sample I will soon push is the gpfs module (recent gpfs has a get_real_filename function), others might have a similar function to help alleviate the 1million files in a single directory problem. Jeremy, please comment! Thanks, Volker
* s3: Change SMB_VFS_CREATE_FILE to take a create_file_flags argumentTim Prouty2008-12-031-1/+1
| | | | | | This replaces the is_dos_path bool with a more future-proof argument. The next step is to plumb INTERNAL_OPEN_ONLY through this flag instead of overridding the oplock_request.
* s3: Add new "is_dos_path" argument to SMB_VFS_CREATE_FILETim Prouty2008-12-031-0/+1
| | | | | Now unix paths can be differentiated from windows paths so the underlying create_file implementations can convert paths correctly.
* s3: Add SMB_VFS_CREATE_FILE to the vfs layerTim Prouty2008-12-031-0/+21
| | | | Modify all callers of create_file to go through SMB_VFS_CREATE_FILE
* Cope with VFS change.Jeremy Allison2008-10-131-1/+2
| | | | Jeremy.
* Use {u,}int64_t instead of SMB_BIG_{U,}INT.Jelmer Vernooij2008-10-141-8/+8
|
* Update vfs version as I've added a const to the security_descriptor paramter ↵Jeremy Allison2008-10-071-2/+3
| | | | | | | in fset_nt_acl(). Need to watch the build farm to make sure I haven't broken the AIX or Solaris ACL modules. Jeremy.
* Fix the compile on NetBSD -- readlink and read are macros thereVolker Lendecke2008-06-091-4/+4
| | | | | (cherry picked from commit 435b80a9a2e9324cc20594d922b3d8d6418c27af) (This used to be commit 055bb54fa646f6de7d7b748deaebd69ddeff33d1)