diff options
author | Tim Prouty <tprouty@samba.org> | 2009-07-06 14:36:16 -0700 |
---|---|---|
committer | Tim Prouty <tprouty@samba.org> | 2009-07-06 15:38:41 -0700 |
commit | 99bd4fda0cd97eb211549a511a2ff6153c2bde2d (patch) | |
tree | db1e4d3424b6bd1215a341f727ef94c748244454 /source3/modules | |
parent | 0f6e10886f3f778fe301ee981873f29d295d39c5 (diff) | |
download | samba-99bd4fda0cd97eb211549a511a2ff6153c2bde2d.tar.gz samba-99bd4fda0cd97eb211549a511a2ff6153c2bde2d.tar.bz2 samba-99bd4fda0cd97eb211549a511a2ff6153c2bde2d.zip |
s3: Plumb smb_filename around SMB_VFS_CHFLAGS
SMB_VFS_CHFLAGS isn't actually getting the smb_filename struct for now
since it only operates on the basefile. This is the strategy for all
path-based operations that will never actually operate on a stream.
By clarifying the meaning of path based operations that don't take an
smb_filename struct, modules that implement streams such as vfs_onefs
no longer need to implement SMB_VFS_CHFLAGS to ensure it's only called
on the base_name.
Diffstat (limited to 'source3/modules')
-rw-r--r-- | source3/modules/onefs.h | 3 | ||||
-rw-r--r-- | source3/modules/onefs_streams.c | 20 | ||||
-rw-r--r-- | source3/modules/vfs_onefs.c | 2 |
3 files changed, 0 insertions, 25 deletions
diff --git a/source3/modules/onefs.h b/source3/modules/onefs.h index 0c39a282d4..88ba5a93f6 100644 --- a/source3/modules/onefs.h +++ b/source3/modules/onefs.h @@ -74,9 +74,6 @@ int onefs_lstat(vfs_handle_struct *handle, struct smb_filename *smb_fname); int onefs_unlink(vfs_handle_struct *handle, const char *path); -int onefs_chflags(vfs_handle_struct *handle, const char *path, - unsigned int flags); - NTSTATUS onefs_streaminfo(vfs_handle_struct *handle, struct files_struct *fsp, const char *fname, diff --git a/source3/modules/onefs_streams.c b/source3/modules/onefs_streams.c index c22fc711a0..2a31036862 100644 --- a/source3/modules/onefs_streams.c +++ b/source3/modules/onefs_streams.c @@ -544,26 +544,6 @@ int onefs_vtimes_streams(vfs_handle_struct *handle, const char *fname, return ret; } -int onefs_chflags(vfs_handle_struct *handle, const char *path, - unsigned int flags) -{ - char *base = NULL; - char *stream = NULL; - - if (!NT_STATUS_IS_OK(onefs_split_ntfs_stream_name(talloc_tos(), path, - &base, &stream))) { - DEBUG(10, ("onefs_split_ntfs_stream_name failed\n")); - errno = ENOMEM; - return -1; - } - - /* - * Only set the attributes on the base file. ifs_createfile handles - * file creation attribute semantics. - */ - return SMB_VFS_NEXT_CHFLAGS(handle, base, flags); -} - /* * Streaminfo enumeration functionality */ diff --git a/source3/modules/vfs_onefs.c b/source3/modules/vfs_onefs.c index c143fcf54b..8ca3795e27 100644 --- a/source3/modules/vfs_onefs.c +++ b/source3/modules/vfs_onefs.c @@ -290,8 +290,6 @@ static vfs_op_tuple onefs_ops[] = { SMB_VFS_LAYER_TRANSPARENT}, {SMB_VFS_OP(onefs_ntimes), SMB_VFS_OP_NTIMES, SMB_VFS_LAYER_OPAQUE}, - {SMB_VFS_OP(onefs_chflags), SMB_VFS_OP_CHFLAGS, - SMB_VFS_LAYER_TRANSPARENT}, {SMB_VFS_OP(onefs_file_id_create), SMB_VFS_OP_FILE_ID_CREATE, SMB_VFS_LAYER_OPAQUE}, {SMB_VFS_OP(onefs_streaminfo), SMB_VFS_OP_STREAMINFO, |