VFS: Rename kernel_flock to filesystem_sharemode
authorChristof Schmitt <cs@samba.org>
Mon, 20 Sep 2021 21:51:02 +0000 (14:51 -0700)
committerChristof Schmitt <cs@samba.org>
Tue, 21 Sep 2021 18:47:38 +0000 (18:47 +0000)
With the removal of the call to flock LOCK_MAND, the only remaining use
of this VFS path is to register sharemodes with specific file systems.
Rename the VFS call to reflect that this is no longer related to flock.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
16 files changed:
examples/VFS/skel_opaque.c
examples/VFS/skel_transparent.c
source3/include/vfs.h
source3/include/vfs_macros.h
source3/modules/vfs_catia.c
source3/modules/vfs_ceph.c
source3/modules/vfs_default.c
source3/modules/vfs_full_audit.c
source3/modules/vfs_glusterfs.c
source3/modules/vfs_gpfs.c
source3/modules/vfs_not_implemented.c
source3/modules/vfs_streams_xattr.c
source3/modules/vfs_time_audit.c
source3/smbd/close.c
source3/smbd/open.c
source3/smbd/vfs.c

index 25241feeb26c170fc17142ea6389904da0d86310..8ea05f46d94e6407233ab2592ff174d1bb1866b5 100644 (file)
@@ -1009,7 +1009,7 @@ static struct vfs_fn_pointers skel_opaque_fns = {
        .ftruncate_fn = skel_ftruncate,
        .fallocate_fn = skel_fallocate,
        .lock_fn = skel_lock,
-       .kernel_flock_fn = skel_kernel_flock,
+       .filesystem_sharemode_fn = skel_kernel_flock,
        .fcntl_fn = skel_fcntl,
        .linux_setlease_fn = skel_linux_setlease,
        .getlock_fn = skel_getlock,
index 77121259550391fcbc0bc0cea87cfac8925a3576..cc734f7fc5958ef3c4ceef87a73a40bc464e5ac8 100644 (file)
@@ -552,7 +552,10 @@ static int skel_kernel_flock(struct vfs_handle_struct *handle,
                             struct files_struct *fsp, uint32_t share_mode,
                             uint32_t access_mask)
 {
-       return SMB_VFS_NEXT_KERNEL_FLOCK(handle, fsp, share_mode, access_mask);
+       return SMB_VFS_NEXT_FILESYSTEM_SHAREMODE(handle,
+                                                fsp,
+                                                share_mode,
+                                                access_mask);
 }
 
 static int skel_fcntl(struct vfs_handle_struct *handle,
@@ -1315,7 +1318,7 @@ static struct vfs_fn_pointers skel_transparent_fns = {
        .ftruncate_fn = skel_ftruncate,
        .fallocate_fn = skel_fallocate,
        .lock_fn = skel_lock,
-       .kernel_flock_fn = skel_kernel_flock,
+       .filesystem_sharemode_fn = skel_kernel_flock,
        .fcntl_fn = skel_fcntl,
        .linux_setlease_fn = skel_linux_setlease,
        .getlock_fn = skel_getlock,
index ee6e48a62d1ab5076cda0d1eeb8d35d494e5d991..a467f312288b61052e0f281790f8776a08cf30a4 100644 (file)
@@ -1039,8 +1039,10 @@ struct vfs_fn_pointers {
                            off_t offset,
                            off_t len);
        bool (*lock_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, int op, off_t offset, off_t count, int type);
-       int (*kernel_flock_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp,
-                              uint32_t share_access, uint32_t access_mask);
+       int (*filesystem_sharemode_fn)(struct vfs_handle_struct *handle,
+                                      struct files_struct *fsp,
+                                      uint32_t share_access, uint32_t
+                                      access_mask);
        int (*fcntl_fn)(struct vfs_handle_struct *handle,
                        struct files_struct *fsp, int cmd, va_list cmd_arg);
        int (*linux_setlease_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, int leasetype);
@@ -1543,9 +1545,10 @@ int smb_vfs_call_fallocate(struct vfs_handle_struct *handle,
 bool smb_vfs_call_lock(struct vfs_handle_struct *handle,
                       struct files_struct *fsp, int op, off_t offset,
                       off_t count, int type);
-int smb_vfs_call_kernel_flock(struct vfs_handle_struct *handle,
-                             struct files_struct *fsp, uint32_t share_access,
-                             uint32_t access_mask);
+int smb_vfs_call_filesystem_sharemode(struct vfs_handle_struct *handle,
+                                     struct files_struct *fsp,
+                                     uint32_t share_access,
+                                     uint32_t access_mask);
 int smb_vfs_call_fcntl(struct vfs_handle_struct *handle,
                       struct files_struct *fsp, int cmd, ...);
 int smb_vfs_call_linux_setlease(struct vfs_handle_struct *handle,
@@ -1964,9 +1967,10 @@ int vfs_not_implemented_fallocate(vfs_handle_struct *handle, files_struct *fsp,
                                  uint32_t mode, off_t offset, off_t len);
 bool vfs_not_implemented_lock(vfs_handle_struct *handle, files_struct *fsp, int op,
                              off_t offset, off_t count, int type);
-int vfs_not_implemented_kernel_flock(struct vfs_handle_struct *handle,
-                                    struct files_struct *fsp,
-                                    uint32_t share_access, uint32_t access_mask);
+int vfs_not_implemented_filesystem_sharemode(struct vfs_handle_struct *handle,
+                                            struct files_struct *fsp,
+                                            uint32_t share_access,
+                                            uint32_t access_mask);
 int vfs_not_implemented_fcntl(struct vfs_handle_struct *handle,
                              struct files_struct *fsp, int cmd, va_list cmd_arg);
 int vfs_not_implemented_linux_setlease(struct vfs_handle_struct *handle,
index c20db416b54eaad6dac205b41115184de54be6ec..2ab5b4b56cc8d771047d97c8cbb33fc40d0d3512 100644 (file)
 #define SMB_VFS_NEXT_LOCK(handle, fsp, op, offset, count, type) \
        smb_vfs_call_lock((handle)->next, (fsp), (op), (offset), (count), (type))
 
-#define SMB_VFS_KERNEL_FLOCK(fsp, share_access, access_mask) \
-       smb_vfs_call_kernel_flock((fsp)->conn->vfs_handles, (fsp), (share_access), (access_mask))
-#define SMB_VFS_NEXT_KERNEL_FLOCK(handle, fsp, share_access, access_mask)      \
-       smb_vfs_call_kernel_flock((handle)->next, (fsp), (share_access), (access_mask))
+#define SMB_VFS_FILESYSTEM_SHAREMODE(fsp, share_access, access_mask) \
+       smb_vfs_call_filesystem_sharemode((fsp)->conn->vfs_handles, \
+                                         (fsp), \
+                                         (share_access), \
+                                         (access_mask))
+#define SMB_VFS_NEXT_FILESYSTEM_SHAREMODE(handle, fsp, share_access, \
+                                         access_mask) \
+       smb_vfs_call_filesystem_sharemode((handle)->next, \
+                                         (fsp), \
+                                         (share_access), \
+                                         (access_mask))
 
 #define SMB_VFS_FCNTL(fsp, cmd, ...) \
        smb_vfs_call_fcntl((fsp)->conn->vfs_handles, (fsp), (cmd), (__VA_ARGS__))
index ce5a91c9f10cb313a6fbe3d6e414d09aee37a698..01d9c03728e871f0ee37ffa263d8bb2c9e7c7157 100644 (file)
@@ -1624,7 +1624,10 @@ static int catia_kernel_flock(struct vfs_handle_struct *handle,
                return -1;
        }
 
-       ret = SMB_VFS_NEXT_KERNEL_FLOCK(handle, fsp, share_access, access_mask);
+       ret = SMB_VFS_NEXT_FILESYSTEM_SHAREMODE(handle,
+                                               fsp,
+                                               share_access,
+                                               access_mask);
 
        CATIA_FETCH_FSP_POST_NEXT(&cc, fsp);
 
@@ -1892,7 +1895,7 @@ static struct vfs_fn_pointers vfs_catia_fns = {
        .ftruncate_fn = catia_ftruncate,
        .fallocate_fn = catia_fallocate,
        .lock_fn = catia_lock,
-       .kernel_flock_fn = catia_kernel_flock,
+       .filesystem_sharemode_fn = catia_kernel_flock,
        .linux_setlease_fn = catia_linux_setlease,
        .getlock_fn = catia_getlock,
        .realpath_fn = catia_realpath,
index 3f55d7241434fc0687b899fd782d68f40fc0b11b..0a98e8cdbf61fc1a5cb9365da2932257931e0dc9 100644 (file)
@@ -1628,7 +1628,7 @@ static struct vfs_fn_pointers ceph_fns = {
        .ftruncate_fn = cephwrap_ftruncate,
        .fallocate_fn = cephwrap_fallocate,
        .lock_fn = cephwrap_lock,
-       .kernel_flock_fn = cephwrap_kernel_flock,
+       .filesystem_sharemode_fn = cephwrap_kernel_flock,
        .fcntl_fn = cephwrap_fcntl,
        .linux_setlease_fn = cephwrap_linux_setlease,
        .getlock_fn = cephwrap_getlock,
index 2687d17588024db8bdc317e53d91e37be1541adb..a2c43e2de5a98d9b0a2dccebd03d5b5e730fb1e6 100644 (file)
@@ -3970,7 +3970,7 @@ static struct vfs_fn_pointers vfs_default_fns = {
        .ftruncate_fn = vfswrap_ftruncate,
        .fallocate_fn = vfswrap_fallocate,
        .lock_fn = vfswrap_lock,
-       .kernel_flock_fn = vfswrap_kernel_flock,
+       .filesystem_sharemode_fn = vfswrap_kernel_flock,
        .fcntl_fn = vfswrap_fcntl,
        .linux_setlease_fn = vfswrap_linux_setlease,
        .getlock_fn = vfswrap_getlock,
index ceda99d4568ab316baeea4c5669f5556d40309d3..be022047063937c42bbe356c1b43a79d867f831c 100644 (file)
@@ -1774,10 +1774,10 @@ static int smb_full_audit_kernel_flock(struct vfs_handle_struct *handle,
 {
        int result;
 
-       result = SMB_VFS_NEXT_KERNEL_FLOCK(handle,
-                                          fsp,
-                                          share_access,
-                                          access_mask);
+       result = SMB_VFS_NEXT_FILESYSTEM_SHAREMODE(handle,
+                                                  fsp,
+                                                  share_access,
+                                                  access_mask);
 
        do_log(SMB_VFS_OP_KERNEL_FLOCK, (result >= 0), handle, "%s",
               fsp_str_do_log(fsp));
@@ -2938,7 +2938,7 @@ static struct vfs_fn_pointers vfs_full_audit_fns = {
        .ftruncate_fn = smb_full_audit_ftruncate,
        .fallocate_fn = smb_full_audit_fallocate,
        .lock_fn = smb_full_audit_lock,
-       .kernel_flock_fn = smb_full_audit_kernel_flock,
+       .filesystem_sharemode_fn = smb_full_audit_kernel_flock,
        .fcntl_fn = smb_full_audit_fcntl,
        .linux_setlease_fn = smb_full_audit_linux_setlease,
        .getlock_fn = smb_full_audit_getlock,
index c9736459cf5cb6d071e2410c2e118b4acd84ed01..cfb076c2ebcbe61a8a2cbadef460ae49ee958c93 100644 (file)
@@ -2362,7 +2362,7 @@ static struct vfs_fn_pointers glusterfs_fns = {
        .ftruncate_fn = vfs_gluster_ftruncate,
        .fallocate_fn = vfs_gluster_fallocate,
        .lock_fn = vfs_gluster_lock,
-       .kernel_flock_fn = vfs_gluster_kernel_flock,
+       .filesystem_sharemode_fn = vfs_gluster_kernel_flock,
        .fcntl_fn = vfs_gluster_fcntl,
        .linux_setlease_fn = vfs_gluster_linux_setlease,
        .getlock_fn = vfs_gluster_getlock,
index 80273c1029ccc8105b45e3f4e2aa3e99d63ff49f..2d8ea3d0f53b37a7fa5c40094ba9b74fcef22865 100644 (file)
@@ -2580,7 +2580,7 @@ static struct vfs_fn_pointers vfs_gpfs_fns = {
        .disk_free_fn = vfs_gpfs_disk_free,
        .get_quota_fn = vfs_gpfs_get_quota,
        .fs_capabilities_fn = vfs_gpfs_capabilities,
-       .kernel_flock_fn = vfs_gpfs_kernel_flock,
+       .filesystem_sharemode_fn = vfs_gpfs_kernel_flock,
        .linux_setlease_fn = vfs_gpfs_setlease,
        .get_real_filename_fn = vfs_gpfs_get_real_filename,
        .get_dos_attributes_send_fn = vfs_not_implemented_get_dos_attributes_send,
index 387c06c3587bda8d4854f4ef8866b9d1b8d0c84e..41f16869b3795febcba71e1274b882579da44c8e 100644 (file)
@@ -425,9 +425,10 @@ bool vfs_not_implemented_lock(vfs_handle_struct *handle, files_struct *fsp, int
        return false;
 }
 
-int vfs_not_implemented_kernel_flock(struct vfs_handle_struct *handle,
-                                    struct files_struct *fsp,
-                                    uint32_t share_access, uint32_t access_mask)
+int vfs_not_implemented_filesystem_sharemode(struct vfs_handle_struct *handle,
+                                            struct files_struct *fsp,
+                                            uint32_t share_access,
+                                            uint32_t access_mask)
 {
        errno = ENOSYS;
        return -1;
@@ -1013,7 +1014,7 @@ static struct vfs_fn_pointers vfs_not_implemented_fns = {
        .ftruncate_fn = vfs_not_implemented_ftruncate,
        .fallocate_fn = vfs_not_implemented_fallocate,
        .lock_fn = vfs_not_implemented_lock,
-       .kernel_flock_fn = vfs_not_implemented_kernel_flock,
+       .filesystem_sharemode_fn = vfs_not_implemented_filesystem_sharemode,
        .fcntl_fn = vfs_not_implemented_fcntl,
        .linux_setlease_fn = vfs_not_implemented_linux_setlease,
        .getlock_fn = vfs_not_implemented_getlock,
index 558bf2287940f643672829d99472ee86339ab635..74018c3084873b01533e8753ef9b9e44a91941f8 100644 (file)
@@ -1498,8 +1498,10 @@ static int streams_xattr_kernel_flock(vfs_handle_struct *handle,
                (struct stream_io *)VFS_FETCH_FSP_EXTENSION(handle, fsp);
 
        if (sio == NULL) {
-               return SMB_VFS_NEXT_KERNEL_FLOCK(handle, fsp,
-                                                share_access, access_mask);
+               return SMB_VFS_NEXT_FILESYSTEM_SHAREMODE(handle,
+                                                        fsp,
+                                                        share_access,
+                                                        access_mask);
        }
 
        return 0;
@@ -1558,7 +1560,7 @@ static struct vfs_fn_pointers vfs_streams_xattr_fns = {
 
        .lock_fn = streams_xattr_lock,
        .getlock_fn = streams_xattr_getlock,
-       .kernel_flock_fn = streams_xattr_kernel_flock,
+       .filesystem_sharemode_fn = streams_xattr_kernel_flock,
        .linux_setlease_fn = streams_xattr_linux_setlease,
        .strict_lock_check_fn = streams_xattr_strict_lock_check,
 
index 5933d8dc4016bfa5aa7b07fb435e0d2accaaf421..c2034d20c2c05edf868b505f06e659ecc69d6974 100644 (file)
@@ -1359,8 +1359,10 @@ static int smb_time_audit_kernel_flock(struct vfs_handle_struct *handle,
        double timediff;
 
        clock_gettime_mono(&ts1);
-       result = SMB_VFS_NEXT_KERNEL_FLOCK(handle, fsp, share_access,
-                                          access_mask);
+       result = SMB_VFS_NEXT_FILESYSTEM_SHAREMODE(handle,
+                                                  fsp,
+                                                  share_access,
+                                                  access_mask);
        clock_gettime_mono(&ts2);
        timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
 
@@ -2746,7 +2748,7 @@ static struct vfs_fn_pointers vfs_time_audit_fns = {
        .ftruncate_fn = smb_time_audit_ftruncate,
        .fallocate_fn = smb_time_audit_fallocate,
        .lock_fn = smb_time_audit_lock,
-       .kernel_flock_fn = smb_time_audit_kernel_flock,
+       .filesystem_sharemode_fn = smb_time_audit_kernel_flock,
        .fcntl_fn = smb_time_audit_fcntl,
        .linux_setlease_fn = smb_time_audit_linux_setlease,
        .getlock_fn = smb_time_audit_getlock,
index 191626557dc22db8c4a19b984bc3a9006b90e547..87c6a44d295478dc152231936b11cd47c1dc7316 100644 (file)
@@ -458,7 +458,7 @@ static NTSTATUS close_remove_share_mode(files_struct *fsp,
                 * A file system sharemode could block the unlink;
                 * remove filesystem sharemodes first.
                 */
-               ret_flock = SMB_VFS_KERNEL_FLOCK(fsp, 0, 0);
+               ret_flock = SMB_VFS_FILESYSTEM_SHAREMODE(fsp, 0, 0);
                if (ret_flock == -1) {
                        DBG_INFO("removing kernel flock for %s failed: %s\n",
                                  fsp_str_dbg(fsp), strerror(errno));
@@ -519,7 +519,7 @@ static NTSTATUS close_remove_share_mode(files_struct *fsp,
                int ret_flock;
 
                /* remove filesystem sharemodes */
-               ret_flock = SMB_VFS_KERNEL_FLOCK(fsp, 0, 0);
+               ret_flock = SMB_VFS_FILESYSTEM_SHAREMODE(fsp, 0, 0);
                if (ret_flock == -1) {
                        DEBUG(2, ("close_remove_share_mode: removing kernel "
                                  "flock for %s failed: %s\n",
index 9c146177897a5c88ceaf4ae9baded573483fe2bb..8318972286d8dbf79d3730034eb4117b1c6df4f1 100644 (file)
@@ -4059,7 +4059,9 @@ static NTSTATUS open_file_ntcreate(connection_struct *conn,
                 * check is deferred to the VFS module implementing
                 * the file-system sharemode call.
                 */
-               ret_flock = SMB_VFS_KERNEL_FLOCK(fsp, share_access, access_mask);
+               ret_flock = SMB_VFS_FILESYSTEM_SHAREMODE(fsp,
+                                                        share_access,
+                                                        access_mask);
                if(ret_flock == -1 ){
 
                        del_share_mode(lck, fsp);
index 34831385e09d41b731938e0d97ce22baf63b33f4..ddea7b16d15c1c2f32b8acecdfb84222f69f30ef 100644 (file)
@@ -2283,13 +2283,16 @@ int smb_vfs_call_fallocate(struct vfs_handle_struct *handle,
        return handle->fns->fallocate_fn(handle, fsp, mode, offset, len);
 }
 
-int smb_vfs_call_kernel_flock(struct vfs_handle_struct *handle,
-                             struct files_struct *fsp, uint32_t share_mode,
-                             uint32_t access_mask)
-{
-       VFS_FIND(kernel_flock);
-       return handle->fns->kernel_flock_fn(handle, fsp, share_mode,
-                                        access_mask);
+int smb_vfs_call_filesystem_sharemode(struct vfs_handle_struct *handle,
+                                     struct files_struct *fsp,
+                                     uint32_t share_mode,
+                                     uint32_t access_mask)
+{
+       VFS_FIND(filesystem_sharemode);
+       return handle->fns->filesystem_sharemode_fn(handle,
+                                                   fsp,
+                                                   share_mode,
+                                                   access_mask);
 }
 
 int smb_vfs_call_fcntl(struct vfs_handle_struct *handle,