From 99bd4fda0cd97eb211549a511a2ff6153c2bde2d Mon Sep 17 00:00:00 2001 From: Tim Prouty Date: Mon, 6 Jul 2009 14:36:16 -0700 Subject: 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. --- source3/modules/onefs.h | 3 --- source3/modules/onefs_streams.c | 20 -------------------- source3/modules/vfs_onefs.c | 2 -- 3 files changed, 25 deletions(-) (limited to 'source3/modules') 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, -- cgit