static bool ceph_is_valid_xattr(const char *name)
 {
-       return !strncmp(name, XATTR_SECURITY_PREFIX,
+       return !strncmp(name, "ceph.", 5) ||
+              !strncmp(name, XATTR_SECURITY_PREFIX,
                        XATTR_SECURITY_PREFIX_LEN) ||
               !strncmp(name, XATTR_TRUSTED_PREFIX, XATTR_TRUSTED_PREFIX_LEN) ||
               !strncmp(name, XATTR_USER_PREFIX, XATTR_USER_PREFIX_LEN);
 }
 
 static struct ceph_vxattr_cb ceph_dir_vxattrs[] = {
-       { true, "user.ceph.dir.entries", ceph_vxattrcb_entries},
-       { true, "user.ceph.dir.files", ceph_vxattrcb_files},
-       { true, "user.ceph.dir.subdirs", ceph_vxattrcb_subdirs},
-       { true, "user.ceph.dir.rentries", ceph_vxattrcb_rentries},
-       { true, "user.ceph.dir.rfiles", ceph_vxattrcb_rfiles},
-       { true, "user.ceph.dir.rsubdirs", ceph_vxattrcb_rsubdirs},
-       { true, "user.ceph.dir.rbytes", ceph_vxattrcb_rbytes},
-       { true, "user.ceph.dir.rctime", ceph_vxattrcb_rctime},
+       { true, "ceph.dir.entries", ceph_vxattrcb_entries},
+       { true, "ceph.dir.files", ceph_vxattrcb_files},
+       { true, "ceph.dir.subdirs", ceph_vxattrcb_subdirs},
+       { true, "ceph.dir.rentries", ceph_vxattrcb_rentries},
+       { true, "ceph.dir.rfiles", ceph_vxattrcb_rfiles},
+       { true, "ceph.dir.rsubdirs", ceph_vxattrcb_rsubdirs},
+       { true, "ceph.dir.rbytes", ceph_vxattrcb_rbytes},
+       { true, "ceph.dir.rctime", ceph_vxattrcb_rctime},
        { true, NULL, NULL }
 };
 
 }
 
 static struct ceph_vxattr_cb ceph_file_vxattrs[] = {
-       { true, "user.ceph.layout", ceph_vxattrcb_layout},
+       { true, "ceph.layout", ceph_vxattrcb_layout},
        { NULL, NULL }
 };