return -1;
}
-static int skel_removexattr(vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- const char *name)
-{
- errno = ENOSYS;
- return -1;
-}
-
static int skel_fremovexattr(vfs_handle_struct *handle,
struct files_struct *fsp, const char *name)
{
.getxattrat_recv_fn = skel_getxattrat_recv,
.fgetxattr_fn = skel_fgetxattr,
.flistxattr_fn = skel_flistxattr,
- .removexattr_fn = skel_removexattr,
.fremovexattr_fn = skel_fremovexattr,
.fsetxattr_fn = skel_fsetxattr,
return SMB_VFS_NEXT_FLISTXATTR(handle, fsp, list, size);
}
-static int skel_removexattr(vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- const char *name)
-{
- return SMB_VFS_NEXT_REMOVEXATTR(handle, smb_fname, name);
-}
-
static int skel_fremovexattr(vfs_handle_struct *handle,
struct files_struct *fsp, const char *name)
{
.getxattrat_recv_fn = skel_getxattrat_recv,
.fgetxattr_fn = skel_fgetxattr,
.flistxattr_fn = skel_flistxattr,
- .removexattr_fn = skel_removexattr,
.fremovexattr_fn = skel_fremovexattr,
.fsetxattr_fn = skel_fsetxattr,
* Change to Version 45 - will ship with 4.15
* Version 45 - Remove SMB_VFS_LISTXATTR
* Version 45 - Remove SMB_VFS_SETXATTR
+ * Version 45 - Remove SMB_VFS_REMOVEXATTR
*/
#define SMB_VFS_INTERFACE_VERSION 45
uint8_t **xattr_value);
ssize_t (*fgetxattr_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name, void *value, size_t size);
ssize_t (*flistxattr_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, char *list, size_t size);
- int (*removexattr_fn)(struct vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- const char *name);
int (*fremovexattr_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name);
int (*fsetxattr_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name, const void *value, size_t size, int flags);
ssize_t smb_vfs_call_flistxattr(struct vfs_handle_struct *handle,
struct files_struct *fsp, char *list,
size_t size);
-int smb_vfs_call_removexattr(struct vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- const char *name);
int smb_vfs_call_fremovexattr(struct vfs_handle_struct *handle,
struct files_struct *fsp, const char *name);
int smb_vfs_call_lsetxattr(struct vfs_handle_struct *handle, const char *path,
ssize_t vfs_not_implemented_flistxattr(vfs_handle_struct *handle,
struct files_struct *fsp, char *list,
size_t size);
-int vfs_not_implemented_removexattr(vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- const char *name);
int vfs_not_implemented_fremovexattr(vfs_handle_struct *handle,
struct files_struct *fsp, const char *name);
int vfs_not_implemented_setxattr(vfs_handle_struct *handle,
#define SMB_VFS_NEXT_FLISTXATTR(handle,fsp,list,size) \
smb_vfs_call_flistxattr((handle)->next,(fsp),(list),(size))
-#define SMB_VFS_REMOVEXATTR(conn,smb_fname,name) \
- smb_vfs_call_removexattr((conn)->vfs_handles,(smb_fname),(name))
-#define SMB_VFS_NEXT_REMOVEXATTR(handle,smb_fname,name) \
- smb_vfs_call_removexattr((handle)->next,(smb_fname),(name))
-
#define SMB_VFS_FREMOVEXATTR(fsp,name) \
smb_vfs_call_fremovexattr((fsp)->conn->vfs_handles, (fsp), (name))
#define SMB_VFS_NEXT_FREMOVEXATTR(handle,fsp,name) \
return listxattr(fsp->fsp_name->base_name, list, size);
}
-static int vfswrap_removexattr(struct vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- const char *name)
-{
- return removexattr(smb_fname->base_name, name);
-}
-
static int vfswrap_fremovexattr(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name)
{
int fd = fsp_get_pathref_fd(fsp);
.getxattrat_recv_fn = vfswrap_getxattrat_recv,
.fgetxattr_fn = vfswrap_fgetxattr,
.flistxattr_fn = vfswrap_flistxattr,
- .removexattr_fn = vfswrap_removexattr,
.fremovexattr_fn = vfswrap_fremovexattr,
.fsetxattr_fn = vfswrap_fsetxattr,
return -1;
}
-int vfs_not_implemented_removexattr(vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- const char *name)
-{
- errno = ENOSYS;
- return -1;
-}
-
int vfs_not_implemented_fremovexattr(vfs_handle_struct *handle,
struct files_struct *fsp, const char *name)
{
.getxattrat_recv_fn = vfs_not_implemented_getxattrat_recv,
.fgetxattr_fn = vfs_not_implemented_fgetxattr,
.flistxattr_fn = vfs_not_implemented_flistxattr,
- .removexattr_fn = vfs_not_implemented_removexattr,
.fremovexattr_fn = vfs_not_implemented_fremovexattr,
.fsetxattr_fn = vfs_not_implemented_fsetxattr,
return handle->fns->flistxattr_fn(handle, fsp, list, size);
}
-int smb_vfs_call_removexattr(struct vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- const char *name)
-{
- VFS_FIND(removexattr);
- return handle->fns->removexattr_fn(handle, smb_fname, name);
-}
-
int smb_vfs_call_fremovexattr(struct vfs_handle_struct *handle,
struct files_struct *fsp, const char *name)
{