summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorDavid Disseldorp <ddiss@samba.org>2019-04-12 13:52:43 +0200
committerJeremy Allison <jra@samba.org>2019-04-12 18:38:20 +0000
commit4982e282f2f2246952854ccc10d4787ac6653a7f (patch)
treeda2a12180c93f1982340bfd52c1f686122f5a4f9 /source3
parent2b5dbb352553699afce62dca4964eb0bd64477f8 (diff)
downloadsamba-4982e282f2f2246952854ccc10d4787ac6653a7f.tar.gz
vfs_ceph: explicitly enable libcephfs POSIX ACL support
libcephfs disables ACL support by default and returns -EOPNOTSUPP in the POSIX ACL get/setxattr paths as a result. Enable support by setting the following Ceph config parameters during mount: client acl type = posix_acl fuse default permissions = false Bug: https://bugzilla.samba.org/show_bug.cgi?id=13896 Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3')
-rw-r--r--source3/modules/vfs_ceph.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/source3/modules/vfs_ceph.c b/source3/modules/vfs_ceph.c
index 38ffe08887e..cf45fb4c919 100644
--- a/source3/modules/vfs_ceph.c
+++ b/source3/modules/vfs_ceph.c
@@ -119,6 +119,17 @@ static int cephwrap_connect(struct vfs_handle_struct *handle, const char *servi
goto err_cm_release;
}
+ /* libcephfs disables POSIX ACL support by default, enable it... */
+ ret = ceph_conf_set(cmount, "client_acl_type", "posix_acl");
+ if (ret < 0) {
+ goto err_cm_release;
+ }
+ /* tell libcephfs to perform local permission checks */
+ ret = ceph_conf_set(cmount, "fuse_default_permissions", "false");
+ if (ret < 0) {
+ goto err_cm_release;
+ }
+
DBG_DEBUG("[CEPH] calling: ceph_mount\n");
ret = ceph_mount(cmount, NULL);
if (ret < 0) {