VFS: Remove SMB_VFS_SET_DOS_ATTRIBUTE, no longer used
authorNoel Power <noel.power@suse.com>
Wed, 3 Mar 2021 10:26:39 +0000 (10:26 +0000)
committerJeremy Allison <jra@samba.org>
Thu, 8 Apr 2021 18:38:40 +0000 (18:38 +0000)
                              -------------------
                             /                   \
                            /        REST         \
                           /          IN           \
                          /          PEACE          \
                         /                           \
                         |                           |
                         | SMB_VFS_SET_DOS_ATTRIBUTE |
                         |                           |
                         |                           |
                         |         3 March           |
                         |           2021            |
                         |                           |
                         |                           |
                        *|      *  *  *        * *   | *
                _________)/\\_//(\/(/\)/\//\/\////\\/|_)_______
Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Apr  8 18:38:40 UTC 2021 on sn-devel-184

13 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_default.c
source3/modules/vfs_full_audit.c
source3/modules/vfs_gpfs.c
source3/modules/vfs_not_implemented.c
source3/modules/vfs_time_audit.c
source3/modules/vfs_tsmsm.c
source3/modules/vfs_vxfs.c
source3/smbd/vfs.c

index b58cfaffd22daa0c1cc4d3a904aa1cf5d3c4869b..79ed98897be6a290370c229426c18a48404b7c5b 100644 (file)
@@ -766,13 +766,6 @@ static NTSTATUS skel_fget_dos_attributes(struct vfs_handle_struct *handle,
        return NT_STATUS_NOT_IMPLEMENTED;
 }
 
-static NTSTATUS skel_set_dos_attributes(struct vfs_handle_struct *handle,
-                               const struct smb_filename *smb_fname,
-                               uint32_t dosmode)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
 static NTSTATUS skel_fset_dos_attributes(struct vfs_handle_struct *handle,
                                struct files_struct *fsp,
                                uint32_t dosmode)
@@ -1088,7 +1081,6 @@ static struct vfs_fn_pointers skel_opaque_fns = {
        .get_dos_attributes_send_fn = skel_get_dos_attributes_send,
        .get_dos_attributes_recv_fn = skel_get_dos_attributes_recv,
        .fget_dos_attributes_fn = skel_fget_dos_attributes,
-       .set_dos_attributes_fn = skel_set_dos_attributes,
        .fset_dos_attributes_fn = skel_fset_dos_attributes,
 
        /* NT ACL operations. */
index 2a92cadd4e2faf95a24474c1ca6cde03ecd198b1..6c5e9002e1670876b2fd7e2b7f87d0676dcd5b9a 100644 (file)
@@ -1022,15 +1022,6 @@ static NTSTATUS skel_fget_dos_attributes(struct vfs_handle_struct *handle,
                                dosmode);
 }
 
-static NTSTATUS skel_set_dos_attributes(struct vfs_handle_struct *handle,
-                               const struct smb_filename *smb_fname,
-                               uint32_t dosmode)
-{
-       return SMB_VFS_NEXT_SET_DOS_ATTRIBUTES(handle,
-                               smb_fname,
-                               dosmode);
-}
-
 static NTSTATUS skel_fset_dos_attributes(struct vfs_handle_struct *handle,
                                struct files_struct *fsp,
                                uint32_t dosmode)
@@ -1395,7 +1386,6 @@ static struct vfs_fn_pointers skel_transparent_fns = {
        .get_dos_attributes_send_fn = skel_get_dos_attributes_send,
        .get_dos_attributes_recv_fn = skel_get_dos_attributes_recv,
        .fget_dos_attributes_fn = skel_fget_dos_attributes,
-       .set_dos_attributes_fn = skel_set_dos_attributes,
        .fset_dos_attributes_fn = skel_fset_dos_attributes,
 
        /* NT ACL operations. */
index 678db0b861fbbe3384914f51046693c78b1f9da0..d06a62e5151550733f4cafd82c0f9af30814e99c 100644 (file)
@@ -1161,10 +1161,6 @@ struct vfs_fn_pointers {
                                           struct files_struct *fsp,
                                           uint32_t *dosmode);
 
-       NTSTATUS (*set_dos_attributes_fn)(struct vfs_handle_struct *handle,
-                                         const struct smb_filename *smb_fname,
-                                         uint32_t dosmode);
-
        NTSTATUS (*fset_dos_attributes_fn)(struct vfs_handle_struct *hande,
                                           struct files_struct *fsp,
                                           uint32_t dosmode);
@@ -1630,9 +1626,6 @@ NTSTATUS smb_vfs_call_fsctl(struct vfs_handle_struct *handle,
 NTSTATUS smb_vfs_call_fget_dos_attributes(struct vfs_handle_struct *handle,
                                          struct files_struct *fsp,
                                          uint32_t *dosmode);
-NTSTATUS smb_vfs_call_set_dos_attributes(struct vfs_handle_struct *handle,
-                                        const struct smb_filename *smb_fname,
-                                        uint32_t dosmode);
 NTSTATUS smb_vfs_call_fset_dos_attributes(struct vfs_handle_struct *handle,
                                          struct files_struct *fsp,
                                          uint32_t dosmode);
index fe26c8fa34786450112b9a310cdf7afef52b5783..9ec9330095a819699f7630bea54005555383c7be 100644 (file)
 #define SMB_VFS_NEXT_GET_DOS_ATTRIBUTES_RECV(req, aio_state, dosmode) \
        smb_vfs_call_get_dos_attributes_recv((req), (aio_state), (dosmode))
 
-#define SMB_VFS_SET_DOS_ATTRIBUTES(conn, smb_fname, attributes) \
-       smb_vfs_call_set_dos_attributes((conn)->vfs_handles, (smb_fname), (attributes))
-#define SMB_VFS_NEXT_SET_DOS_ATTRIBUTES(handle, smb_fname, attributes) \
-       smb_vfs_call_set_dos_attributes((handle)->next, (smb_fname), (attributes))
 #define SMB_VFS_FSET_DOS_ATTRIBUTES(conn, fsp, attributes) \
        smb_vfs_call_fset_dos_attributes((conn)->vfs_handles, (fsp), (attributes))
 #define SMB_VFS_NEXT_FSET_DOS_ATTRIBUTES(handle, fsp, attributes) \
index de291ba7c31f5dccb625bdd4cb254210004bcb45..cb06a4de3550aa51e8371856c1e48582fa6f19e1 100644 (file)
@@ -2075,47 +2075,6 @@ static NTSTATUS catia_readdir_attr(struct vfs_handle_struct *handle,
        return status;
 }
 
-static NTSTATUS catia_set_dos_attributes(struct vfs_handle_struct *handle,
-                                        const struct smb_filename *smb_fname,
-                                        uint32_t dosmode)
-{
-       char *mapped_name = NULL;
-       const char *path = smb_fname->base_name;
-       struct smb_filename *mapped_smb_fname = NULL;
-       NTSTATUS status;
-
-       status = catia_string_replace_allocate(handle->conn,
-                               path, &mapped_name, vfs_translate_to_unix);
-       if (!NT_STATUS_IS_OK(status)) {
-               errno = map_errno_from_nt_status(status);
-               return status;
-       }
-       status = synthetic_pathref(talloc_tos(),
-                                       handle->conn->cwd_fsp,
-                                       mapped_name,
-                                       NULL,
-                                       &smb_fname->st,
-                                       smb_fname->twrp,
-                                       smb_fname->flags,
-                                       &mapped_smb_fname);
-       /*
-        * how about NT_STATUS_OBJECT_NAME_NOT_FOUND / link ? not sure
-        * if we let that go and return success or not :/
-        */
-
-       if (!NT_STATUS_IS_OK(status)) {
-               return status;
-       }
-
-       status = SMB_VFS_NEXT_SET_DOS_ATTRIBUTES(handle,
-                                                mapped_smb_fname,
-                                                dosmode);
-       TALLOC_FREE(mapped_name);
-       TALLOC_FREE(mapped_smb_fname);
-
-       return status;
-}
-
 static NTSTATUS catia_create_dfs_pathat(struct vfs_handle_struct *handle,
                        struct files_struct *dirfsp,
                        const struct smb_filename *smb_fname,
@@ -2246,7 +2205,6 @@ static struct vfs_fn_pointers vfs_catia_fns = {
        .fsctl_fn = catia_fsctl,
        .get_dos_attributes_send_fn = vfs_not_implemented_get_dos_attributes_send,
        .get_dos_attributes_recv_fn = vfs_not_implemented_get_dos_attributes_recv,
-       .set_dos_attributes_fn = catia_set_dos_attributes,
        .fset_dos_attributes_fn = catia_fset_dos_attributes,
        .fget_dos_attributes_fn = catia_fget_dos_attributes,
        .fget_compression_fn = catia_fget_compression,
index a3557fe2d14fd73e1071e0b09b9c01a44ce4ec74..58891a2c1c316040c9fe81d8d02dc38deef8ebec 100644 (file)
@@ -1865,13 +1865,6 @@ static NTSTATUS vfswrap_fget_dos_attributes(struct vfs_handle_struct *handle,
        return fget_ea_dos_attribute(fsp, dosmode);
 }
 
-static NTSTATUS vfswrap_set_dos_attributes(struct vfs_handle_struct *handle,
-                                          const struct smb_filename *smb_fname,
-                                          uint32_t dosmode)
-{
-       return set_ea_dos_attribute(handle->conn, smb_fname, dosmode);
-}
-
 static NTSTATUS vfswrap_fset_dos_attributes(struct vfs_handle_struct *handle,
                                            struct files_struct *fsp,
                                            uint32_t dosmode)
@@ -3836,7 +3829,6 @@ static struct vfs_fn_pointers vfs_default_fns = {
        .strict_lock_check_fn = vfswrap_strict_lock_check,
        .translate_name_fn = vfswrap_translate_name,
        .fsctl_fn = vfswrap_fsctl,
-       .set_dos_attributes_fn = vfswrap_set_dos_attributes,
        .fset_dos_attributes_fn = vfswrap_fset_dos_attributes,
        .get_dos_attributes_send_fn = vfswrap_get_dos_attributes_send,
        .get_dos_attributes_recv_fn = vfswrap_get_dos_attributes_recv,
index bbe5ea55dde700eaf3f53ba30ff29834ef1d4173..73e839093419c2068b5781d08db7f877f6ad689b 100644 (file)
@@ -185,7 +185,6 @@ typedef enum _vfs_op_type {
        SMB_VFS_OP_GET_DOS_ATTRIBUTES_SEND,
        SMB_VFS_OP_GET_DOS_ATTRIBUTES_RECV,
        SMB_VFS_OP_FGET_DOS_ATTRIBUTES,
-       SMB_VFS_OP_SET_DOS_ATTRIBUTES,
        SMB_VFS_OP_FSET_DOS_ATTRIBUTES,
 
        /* NT ACL operations. */
@@ -323,7 +322,6 @@ static struct {
        { SMB_VFS_OP_GET_DOS_ATTRIBUTES_SEND, "get_dos_attributes_send" },
        { SMB_VFS_OP_GET_DOS_ATTRIBUTES_RECV, "get_dos_attributes_recv" },
        { SMB_VFS_OP_FGET_DOS_ATTRIBUTES, "fget_dos_attributes" },
-       { SMB_VFS_OP_SET_DOS_ATTRIBUTES, "set_dos_attributes" },
        { SMB_VFS_OP_FSET_DOS_ATTRIBUTES, "fset_dos_attributes" },
        { SMB_VFS_OP_FGET_NT_ACL,       "fget_nt_acl" },
        { SMB_VFS_OP_GET_NT_ACL_AT,     "get_nt_acl_at" },
@@ -2432,26 +2430,6 @@ static NTSTATUS smb_full_audit_fget_dos_attributes(
        return status;
 }
 
-static NTSTATUS smb_full_audit_set_dos_attributes(
-                               struct vfs_handle_struct *handle,
-                               const struct smb_filename *smb_fname,
-                               uint32_t dosmode)
-{
-       NTSTATUS status;
-
-       status = SMB_VFS_NEXT_SET_DOS_ATTRIBUTES(handle,
-                               smb_fname,
-                               dosmode);
-
-       do_log(SMB_VFS_OP_SET_DOS_ATTRIBUTES,
-               NT_STATUS_IS_OK(status),
-               handle,
-               "%s",
-               smb_fname_str_do_log(handle->conn, smb_fname));
-
-       return status;
-}
-
 static NTSTATUS smb_full_audit_fset_dos_attributes(
                                struct vfs_handle_struct *handle,
                                struct files_struct *fsp,
@@ -3028,7 +3006,6 @@ static struct vfs_fn_pointers vfs_full_audit_fns = {
        .get_dos_attributes_send_fn = smb_full_audit_get_dos_attributes_send,
        .get_dos_attributes_recv_fn = smb_full_audit_get_dos_attributes_recv,
        .fget_dos_attributes_fn = smb_full_audit_fget_dos_attributes,
-       .set_dos_attributes_fn = smb_full_audit_set_dos_attributes,
        .fset_dos_attributes_fn = smb_full_audit_fset_dos_attributes,
        .fget_nt_acl_fn = smb_full_audit_fget_nt_acl,
        .get_nt_acl_at_fn = smb_full_audit_get_nt_acl_at,
index 172194dbeade71c7bf9915ae848995ccffb07ae1..48c9c6d14396ae4375fbc674e0138fa639a45f76 100644 (file)
@@ -1714,41 +1714,6 @@ static NTSTATUS vfs_gpfs_fget_dos_attributes(struct vfs_handle_struct *handle,
        return NT_STATUS_OK;
 }
 
-static NTSTATUS vfs_gpfs_set_dos_attributes(struct vfs_handle_struct *handle,
-                                          const struct smb_filename *smb_fname,
-                                          uint32_t dosmode)
-{
-       struct gpfs_config_data *config;
-       struct gpfs_winattr attrs = { };
-       int ret;
-
-       SMB_VFS_HANDLE_GET_DATA(handle, config,
-                               struct gpfs_config_data,
-                               return NT_STATUS_INTERNAL_ERROR);
-
-       if (!config->winattr) {
-               return SMB_VFS_NEXT_SET_DOS_ATTRIBUTES(handle,
-                                                      smb_fname, dosmode);
-       }
-
-       attrs.winAttrs = vfs_gpfs_dosmode_to_winattrs(dosmode);
-       ret = gpfswrap_set_winattrs_path(smb_fname->base_name,
-                                        GPFS_WINATTR_SET_ATTRS, &attrs);
-
-       if (ret == -1 && errno == ENOSYS) {
-               return SMB_VFS_NEXT_SET_DOS_ATTRIBUTES(handle,
-                                                      smb_fname, dosmode);
-       }
-
-       if (ret == -1) {
-               DBG_WARNING("Setting winattrs failed for %s: %s\n",
-                           smb_fname->base_name, strerror(errno));
-               return map_nt_error_from_unix(errno);
-       }
-
-       return NT_STATUS_OK;
-}
-
 static NTSTATUS vfs_gpfs_fset_dos_attributes(struct vfs_handle_struct *handle,
                                             struct files_struct *fsp,
                                             uint32_t dosmode)
@@ -2619,7 +2584,6 @@ static struct vfs_fn_pointers vfs_gpfs_fns = {
        .get_dos_attributes_send_fn = vfs_not_implemented_get_dos_attributes_send,
        .get_dos_attributes_recv_fn = vfs_not_implemented_get_dos_attributes_recv,
        .fget_dos_attributes_fn = vfs_gpfs_fget_dos_attributes,
-       .set_dos_attributes_fn = vfs_gpfs_set_dos_attributes,
        .fset_dos_attributes_fn = vfs_gpfs_fset_dos_attributes,
        .fget_nt_acl_fn = gpfsacl_fget_nt_acl,
        .get_nt_acl_at_fn = gpfsacl_get_nt_acl_at,
index 2b4e534dffb7386679cc6f78f3b7b6939f772bf9..0163bed084e822a265d9a64a711b7ba02ca80158 100644 (file)
@@ -770,13 +770,6 @@ NTSTATUS vfs_not_implemented_fget_dos_attributes(struct vfs_handle_struct *handl
        return NT_STATUS_NOT_IMPLEMENTED;
 }
 
-NTSTATUS vfs_not_implemented_set_dos_attributes(struct vfs_handle_struct *handle,
-                                               const struct smb_filename *smb_fname,
-                                               uint32_t dosmode)
-{
-       return NT_STATUS_NOT_IMPLEMENTED;
-}
-
 NTSTATUS vfs_not_implemented_fset_dos_attributes(struct vfs_handle_struct *handle,
                                                 struct files_struct *fsp,
                                                 uint32_t dosmode)
@@ -1092,7 +1085,6 @@ static struct vfs_fn_pointers vfs_not_implemented_fns = {
        .get_dos_attributes_send_fn = vfs_not_implemented_get_dos_attributes_send,
        .get_dos_attributes_recv_fn = vfs_not_implemented_get_dos_attributes_recv,
        .fget_dos_attributes_fn = vfs_not_implemented_fget_dos_attributes,
-       .set_dos_attributes_fn = vfs_not_implemented_set_dos_attributes,
        .fset_dos_attributes_fn = vfs_not_implemented_fset_dos_attributes,
 
        /* NT ACL operations. */
index 97e893b9ba41fc843c6c331af9bf83033b51f8fb..212b2c76d9afccadc905298cf8710303640b6c6e 100644 (file)
@@ -1975,30 +1975,6 @@ static NTSTATUS smb_time_fget_dos_attributes(struct vfs_handle_struct *handle,
        return result;
 }
 
-static NTSTATUS smb_time_set_dos_attributes(struct vfs_handle_struct *handle,
-                                       const struct smb_filename *smb_fname,
-                                       uint32_t dosmode)
-{
-       NTSTATUS result;
-       struct timespec ts1,ts2;
-       double timediff;
-
-       clock_gettime_mono(&ts1);
-       result = SMB_VFS_NEXT_SET_DOS_ATTRIBUTES(handle,
-                               smb_fname,
-                               dosmode);
-       clock_gettime_mono(&ts2);
-       timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9;
-
-       if (timediff > audit_timeout) {
-               smb_time_audit_log_fname("set_dos_attributes",
-                               timediff,
-                               smb_fname->base_name);
-       }
-
-       return result;
-}
-
 static NTSTATUS smb_time_fset_dos_attributes(struct vfs_handle_struct *handle,
                                        struct files_struct *fsp,
                                        uint32_t dosmode)
@@ -2874,7 +2850,6 @@ static struct vfs_fn_pointers vfs_time_audit_fns = {
        .get_dos_attributes_send_fn = smb_time_audit_get_dos_attributes_send,
        .get_dos_attributes_recv_fn = smb_time_audit_get_dos_attributes_recv,
        .fget_dos_attributes_fn = smb_time_fget_dos_attributes,
-       .set_dos_attributes_fn = smb_time_set_dos_attributes,
        .fset_dos_attributes_fn = smb_time_fset_dos_attributes,
        .fget_nt_acl_fn = smb_time_audit_fget_nt_acl,
        .get_nt_acl_at_fn = smb_time_audit_get_nt_acl_at,
index eacbd0f59f047ef183149d72997f8e28117a599d..eda25fa39e3d29df6867bc6cb89eb776e84fa22d 100644 (file)
@@ -519,37 +519,6 @@ static NTSTATUS tsmsm_set_offline(struct vfs_handle_struct *handle,
        return NT_STATUS_OK;
 }
 
-static NTSTATUS tsmsm_set_dos_attributes(struct vfs_handle_struct *handle,
-                                        const struct smb_filename *smb_fname,
-                                        uint32_t dosmode)
-{
-       NTSTATUS status;
-       uint32_t old_dosmode;
-       struct smb_filename *fname = NULL;
-
-       /* dos_mode() doesn't like const smb_fname */
-       fname = cp_smb_filename(talloc_tos(), smb_fname);
-       if (fname == NULL) {
-               return NT_STATUS_NO_MEMORY;
-       }
-
-       old_dosmode = fdos_mode(smb_fname->fsp);
-       TALLOC_FREE(fname);
-
-       status = SMB_VFS_NEXT_SET_DOS_ATTRIBUTES(handle, smb_fname, dosmode);
-       if (!NT_STATUS_IS_OK(status)) {
-               return status;
-       }
-
-       if (!(old_dosmode & FILE_ATTRIBUTE_OFFLINE) &&
-           (dosmode & FILE_ATTRIBUTE_OFFLINE))
-       {
-               return NT_STATUS_OK;
-       }
-
-       return tsmsm_set_offline(handle, smb_fname);
-}
-
 static NTSTATUS tsmsm_fset_dos_attributes(struct vfs_handle_struct *handle,
                                          struct files_struct *fsp,
                                          uint32_t dosmode)
@@ -590,7 +559,6 @@ static struct vfs_fn_pointers tsmsm_fns = {
        .pwrite_send_fn = tsmsm_pwrite_send,
        .pwrite_recv_fn = tsmsm_pwrite_recv,
        .sendfile_fn = tsmsm_sendfile,
-       .set_dos_attributes_fn = tsmsm_set_dos_attributes,
        .fset_dos_attributes_fn = tsmsm_fset_dos_attributes,
        .get_dos_attributes_send_fn = vfs_not_implemented_get_dos_attributes_send,
        .get_dos_attributes_recv_fn = vfs_not_implemented_get_dos_attributes_recv,
index 6c6f92e1f524fed03aaa954b230d921966cd1e64..adf687b58a59f1fd65a4a05e3b4d9468735659a1 100644 (file)
@@ -661,52 +661,6 @@ static ssize_t vxfs_flistxattr(struct vfs_handle_struct *handle,
         return result;
 }
 
-static NTSTATUS vxfs_set_ea_dos_attributes(struct vfs_handle_struct *handle,
-                                          const struct smb_filename *smb_fname,
-                                          uint32_t dosmode)
-{
-       NTSTATUS        err;
-       int                     ret = 0;
-       bool            attrset = false;
-       bool            is_dir = false;
-
-       DBG_DEBUG("Entered function\n");
-
-       is_dir = S_ISDIR(smb_fname->st.st_ex_mode);
-       if (!(dosmode & FILE_ATTRIBUTE_READONLY)) {
-               ret = vxfs_checkwxattr_path(smb_fname->base_name);
-               if (ret == -1) {
-                       DBG_DEBUG("ret:%d\n", ret);
-                       if ((errno != EOPNOTSUPP) && (errno != ENOENT)) {
-                               return map_nt_error_from_unix(errno);
-                       }
-               }
-       }
-       if (dosmode & FILE_ATTRIBUTE_READONLY) {
-               ret = vxfs_setwxattr_path(smb_fname->base_name, is_dir);
-               DBG_DEBUG("ret:%d\n", ret);
-               if (ret == -1) {
-                       if ((errno != EOPNOTSUPP) && (errno != EINVAL)) {
-                               return map_nt_error_from_unix(errno);
-                       }
-               } else {
-                       attrset = true;
-               }
-       }
-       err = SMB_VFS_NEXT_SET_DOS_ATTRIBUTES(handle, smb_fname, dosmode);
-       if (!NT_STATUS_IS_OK(err)) {
-               if (attrset) {
-                       ret = vxfs_clearwxattr_path(smb_fname->base_name, is_dir);
-                       DBG_DEBUG("ret:%d\n", ret);
-                       if ((ret == -1) && (errno != ENOENT)) {
-                               return map_nt_error_from_unix(errno);
-                       }
-               }
-       }
-
-       return err;
-}
-
 static NTSTATUS vxfs_fset_ea_dos_attributes(struct vfs_handle_struct *handle,
                                            struct files_struct *fsp,
                                            uint32_t dosmode)
@@ -773,7 +727,6 @@ static struct vfs_fn_pointers vfs_vxfs_fns = {
        .sys_acl_set_fd_fn = vxfs_sys_acl_set_fd,
 #endif
 
-       .set_dos_attributes_fn = vxfs_set_ea_dos_attributes,
        .fset_dos_attributes_fn = vxfs_fset_ea_dos_attributes,
        .getxattr_fn = vxfs_get_xattr,
        .getxattrat_send_fn = vfs_not_implemented_getxattrat_send,
index 34d8474ff36f422829cb650c357b103b14cf2efa..ed138514c22bafd28f509a326fdab0d3971a6b55 100644 (file)
@@ -2469,14 +2469,6 @@ NTSTATUS smb_vfs_call_fget_dos_attributes(struct vfs_handle_struct *handle,
        return handle->fns->fget_dos_attributes_fn(handle, fsp, dosmode);
 }
 
-NTSTATUS smb_vfs_call_set_dos_attributes(struct vfs_handle_struct *handle,
-                                        const struct smb_filename *smb_fname,
-                                        uint32_t dosmode)
-{
-       VFS_FIND(set_dos_attributes);
-       return handle->fns->set_dos_attributes_fn(handle, smb_fname, dosmode);
-}
-
 NTSTATUS smb_vfs_call_fset_dos_attributes(struct vfs_handle_struct *handle,
                                          struct files_struct *fsp,
                                          uint32_t dosmode)