[PATCH v2] vfs_ceph: add empty ACL callbacks
Ira Cooper
ira at samba.org
Wed Apr 1 03:26:15 MDT 2015
Please do not use control flow altering macros like WRAP_RETURN.
Thanks,
-Ira
On Tuesday, March 31, 2015, Yan, Zheng <zyan at redhat.com> wrote:
> If a vfs module has no ACL callbacks, smbd will use its default ACL
> callbacks. These default ACL callbacks operate on local filesytem,
> it's clearly wrong for ceph case.
>
> libcephfs does not support ACL yet, so this patch adds ACL callbacks
> that do nothing.
>
> Signed-off-by: Yan, Zheng <zyan at redhat.com <javascript:;>>
> ---
> source3/modules/vfs_ceph.c | 45
> +++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 45 insertions(+)
>
> diff --git a/source3/modules/vfs_ceph.c b/source3/modules/vfs_ceph.c
> index 3b165d1..eeabdcc 100644
> --- a/source3/modules/vfs_ceph.c
> +++ b/source3/modules/vfs_ceph.c
> @@ -1199,6 +1199,44 @@ static int cephwrap_set_offline(struct
> vfs_handle_struct *handle,
> return -1;
> }
>
> +static SMB_ACL_T cephwrap_sys_acl_get_file(struct vfs_handle_struct
> *handle,
> + const char *path_p,
> + SMB_ACL_TYPE_T type,
> + TALLOC_CTX *mem_ctx)
> +{
> + errno = ENOTSUP;
> + return NULL;
> +}
> +
> +static SMB_ACL_T cephwrap_sys_acl_get_fd(struct vfs_handle_struct *handle,
> + struct files_struct *fsp,
> + TALLOC_CTX *mem_ctx)
> +{
> + errno = ENOTSUP;
> + return NULL;
> +}
> +
> +static int cephwrap_sys_acl_set_file(struct vfs_handle_struct *handle,
> + const char *name,
> + SMB_ACL_TYPE_T acltype,
> + SMB_ACL_T theacl)
> +{
> + WRAP_RETURN(-ENOTSUP);
> +}
> +
> +static int cephwrap_sys_acl_set_fd(struct vfs_handle_struct *handle,
> + struct files_struct *fsp,
> + SMB_ACL_T theacl)
> +{
> + WRAP_RETURN(-ENOTSUP);
> +}
> +
> +static int cephwrap_sys_acl_delete_def_file(struct vfs_handle_struct
> *handle,
> + const char *path)
> +{
> + WRAP_RETURN(-ENOTSUP);
> +}
> +
> static struct vfs_fn_pointers ceph_fns = {
> /* Disk operations */
>
> @@ -1271,6 +1309,13 @@ static struct vfs_fn_pointers ceph_fns = {
> .setxattr_fn = cephwrap_setxattr,
> .fsetxattr_fn = cephwrap_fsetxattr,
>
> + /* Posix ACL Operations */
> + .sys_acl_get_file_fn = cephwrap_sys_acl_get_file,
> + .sys_acl_get_fd_fn = cephwrap_sys_acl_get_fd,
> + .sys_acl_set_file_fn = cephwrap_sys_acl_set_file,
> + .sys_acl_set_fd_fn = cephwrap_sys_acl_set_fd,
> + .sys_acl_delete_def_file_fn = cephwrap_sys_acl_delete_def_file,
> +
> /* aio operations */
> .aio_force_fn = cephwrap_aio_force,
>
> --
> 1.9.3
>
>
More information about the samba-technical
mailing list