The branch, master has been updated
       via  3ff1b83 s3: vfs: catia: compression get/set must act only on base 
file, and must cope with fsp==NULL.
       via  1a7c0f7 s3: VFS: streams_xattr: Compression is only set/get on base 
filenames.
      from  54e6f15 packaging: Remove Solaris directory and contents

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 3ff1b83ab7cb3a6ab94b87d0bf73857b731c869d
Author: Jeremy Allison <j...@samba.org>
Date:   Fri Sep 8 15:28:39 2017 -0700

    s3: vfs: catia: compression get/set must act only on base file, and must 
cope with fsp==NULL.
    
    Correctly do filename conversion.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13003
    
    Signed-off-by: Jeremy Allison <j...@samba.org>
    Reviewed-by: Ralph Boehme <s...@samba.org>
    
    Autobuild-User(master): Ralph Böhme <s...@samba.org>
    Autobuild-Date(master): Tue Sep 12 10:50:57 CEST 2017 on sn-devel-144

commit 1a7c0f77e2203aa674eb8b06fe3220868f100001
Author: Jeremy Allison <j...@samba.org>
Date:   Fri Sep 8 15:27:37 2017 -0700

    s3: VFS: streams_xattr: Compression is only set/get on base filenames.
    
    Can be ignored (pass-through) in streams_xattr VFS module.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=13003
    
    Signed-off-by: Jeremy Allison <j...@samba.org>
    Reviewed-by: Ralph Boehme <s...@samba.org>

-----------------------------------------------------------------------

Summary of changes:
 source3/modules/vfs_catia.c         | 44 ++++++++++++++++++++++++++++++++-----
 source3/modules/vfs_streams_xattr.c | 37 -------------------------------
 2 files changed, 38 insertions(+), 43 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/vfs_catia.c b/source3/modules/vfs_catia.c
index 5cf7476..c47b64d 100644
--- a/source3/modules/vfs_catia.c
+++ b/source3/modules/vfs_catia.c
@@ -2435,16 +2435,48 @@ static NTSTATUS catia_get_compression(vfs_handle_struct 
*handle,
        NTSTATUS result;
        struct catia_cache *cc = NULL;
        int ret;
+       struct smb_filename *mapped_smb_fname = NULL;
+       char *mapped_name = NULL;
 
-       ret = CATIA_FETCH_FSP_PRE_NEXT(talloc_tos(), handle, fsp, &cc);
-       if (ret != 0) {
-               return map_nt_error_from_unix(errno);
+       if (fsp != NULL) {
+               ret = CATIA_FETCH_FSP_PRE_NEXT(talloc_tos(), handle, fsp, &cc);
+               if (ret != 0) {
+                       return map_nt_error_from_unix(errno);
+               }
+               mapped_smb_fname = fsp->fsp_name;
+       } else {
+               result = catia_string_replace_allocate(handle->conn,
+                               smb_fname->base_name,
+                               &mapped_name,
+                               vfs_translate_to_unix);
+               if (!NT_STATUS_IS_OK(result)) {
+                       return result;
+               }
+
+               mapped_smb_fname = synthetic_smb_fname(talloc_tos(),
+                                               mapped_name,
+                                               NULL,
+                                               NULL,
+                                               smb_fname->flags);
+               if (mapped_smb_fname == NULL) {
+                       TALLOC_FREE(mapped_name);
+                       return NT_STATUS_NO_MEMORY;
+               }
+
+               TALLOC_FREE(mapped_name);
        }
 
-       result = SMB_VFS_NEXT_GET_COMPRESSION(handle, mem_ctx, fsp, smb_fname,
-                                             _compression_fmt);
+       result = SMB_VFS_NEXT_GET_COMPRESSION(handle,
+                                       mem_ctx,
+                                       fsp,
+                                       mapped_smb_fname,
+                                       _compression_fmt);
 
-       CATIA_FETCH_FSP_POST_NEXT(&cc, fsp);
+       if (fsp != NULL) {
+               CATIA_FETCH_FSP_POST_NEXT(&cc, fsp);
+       } else {
+               TALLOC_FREE(mapped_smb_fname);
+       }
 
        return result;
 }
diff --git a/source3/modules/vfs_streams_xattr.c 
b/source3/modules/vfs_streams_xattr.c
index bd3965c..1b0b577 100644
--- a/source3/modules/vfs_streams_xattr.c
+++ b/source3/modules/vfs_streams_xattr.c
@@ -1653,40 +1653,6 @@ static bool streams_xattr_strict_lock_check(struct 
vfs_handle_struct *handle,
        return true;
 }
 
-static NTSTATUS streams_xattr_get_compression(struct vfs_handle_struct *handle,
-                                             TALLOC_CTX *mem_ctx,
-                                             struct files_struct *fsp,
-                                             struct smb_filename *smb_fname,
-                                             uint16_t *_compression_fmt)
-{
-       struct stream_io *sio =
-               (struct stream_io *)VFS_FETCH_FSP_EXTENSION(handle, fsp);
-
-       if (sio == NULL) {
-               return SMB_VFS_NEXT_GET_COMPRESSION(handle, mem_ctx, fsp,
-                                                   smb_fname, 
_compression_fmt);
-       }
-
-       *_compression_fmt = COMPRESSION_FORMAT_NONE;
-       return NT_STATUS_OK;
-}
-
-static NTSTATUS streams_xattr_set_compression(struct vfs_handle_struct *handle,
-                                             TALLOC_CTX *mem_ctx,
-                                             struct files_struct *fsp,
-                                             uint16_t compression_fmt)
-{
-       struct stream_io *sio =
-               (struct stream_io *)VFS_FETCH_FSP_EXTENSION(handle, fsp);
-
-       if (sio == NULL) {
-               return SMB_VFS_NEXT_SET_COMPRESSION(handle, mem_ctx, fsp,
-                                                   compression_fmt);
-       }
-
-       return NT_STATUS_NOT_SUPPORTED;
-}
-
 static struct vfs_fn_pointers vfs_streams_xattr_fns = {
        .fs_capabilities_fn = streams_xattr_fs_capabilities,
        .connect_fn = streams_xattr_connect,
@@ -1715,9 +1681,6 @@ static struct vfs_fn_pointers vfs_streams_xattr_fns = {
        .linux_setlease_fn = streams_xattr_linux_setlease,
        .strict_lock_check_fn = streams_xattr_strict_lock_check,
 
-       .get_compression_fn = streams_xattr_get_compression,
-       .set_compression_fn = streams_xattr_set_compression,
-
        .fchown_fn = streams_xattr_fchown,
        .fchmod_fn = streams_xattr_fchmod,
        .fsync_fn = streams_xattr_fsync,


-- 
Samba Shared Repository

Reply via email to