]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
client: allow ceph.* xattrs
authorSage Weil <sage@inktank.com>
Sat, 19 Jan 2013 01:20:22 +0000 (17:20 -0800)
committerSage Weil <sage@inktank.com>
Mon, 4 Feb 2013 20:09:25 +0000 (12:09 -0800)
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit ad7ebad70bf810fde45067f78f316f130a243b9c)

src/client/Client.cc

index d876454f0f4be34dc9708ca581e6d885992df386..742ca837092f7dceecdc9bb51d8cfbf181821617 100644 (file)
@@ -6498,7 +6498,10 @@ int Client::ll_setxattr(vinodeno_t vino, const char *name, const void *value, si
   tout(cct) << name << std::endl;
 
   // same xattrs supported by kernel client
-  if (strncmp(name, "user.", 5) && strncmp(name, "security.", 9) && strncmp(name, "trusted.", 8))
+  if (strncmp(name, "user.", 5) &&
+      strncmp(name, "security.", 9) &&
+      strncmp(name, "trusted.", 8) &&
+      strncmp(name, "ceph.", 5))
     return -EOPNOTSUPP;
 
   Inode *in = _ll_get_inode(vino);
@@ -6534,8 +6537,11 @@ int Client::ll_removexattr(vinodeno_t vino, const char *name, int uid, int gid)
   tout(cct) << vino.ino.val << std::endl;
   tout(cct) << name << std::endl;
 
-  // only user xattrs, for now
-  if (strncmp(name, "user.", 5) && strncmp(name, "security.", 9) && strncmp(name, "trusted.", 8))
+  // same xattrs supported by kernel client
+  if (strncmp(name, "user.", 5) &&
+      strncmp(name, "security.", 9) &&
+      strncmp(name, "trusted.", 8) &&
+      strncmp(name, "ceph.", 5))
     return -EOPNOTSUPP;
 
   Inode *in = _ll_get_inode(vino);