]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Revert "client: support listxattr for quota attributes"
authorYunchuan Wen <yunchuanwen@ubuntukylin.com>
Wed, 10 Dec 2014 00:52:54 +0000 (08:52 +0800)
committerYunchuan Wen <yunchuanwen@ubuntukylin.com>
Wed, 10 Dec 2014 00:52:54 +0000 (08:52 +0800)
This reverts commit 55413482698c61e877312f1e749c657550965890.

this cause 'cp -a' copies quota setting. It's not the expected behavior in most case

Signed-off-by: Yunchuan Wen <yunchuanwen@ubuntukylin.com>
Reviewed-by: Yan, Zheng <ukernel@gmail.com>
src/client/Client.cc
src/client/Client.h

index 80b6ea68585525b8f1b542a55bc8495a6a0a4eb7..271e6f4b456690dee29227e15af6f14f946a3e3d 100644 (file)
@@ -8373,6 +8373,10 @@ int Client::ll_removexattr(Inode *in, const char *name, int uid, int gid)
   return _removexattr(in, name, uid, gid);
 }
 
+bool Client::_vxattrcb_quota_exists(Inode *in)
+{
+  return in->quota.is_enable();
+}
 size_t Client::_vxattrcb_quota(Inode *in, char *val, size_t size)
 {
   return snprintf(val, size,
@@ -8495,8 +8499,8 @@ size_t Client::_vxattrcb_dir_rctime(Inode *in, char *val, size_t size)
   name: CEPH_XATTR_NAME(_type, _name),                         \
   getxattr_cb: &Client::_vxattrcb_ ## _type ## _ ## _name,     \
   readonly: false,                                             \
-  hidden: false,                                               \
-  exists_cb: NULL,                                             \
+  hidden: true,                                                        \
+  exists_cb: &Client::_vxattrcb_quota_exists,                  \
 }
 
 const Client::VXattr Client::_dir_vxattrs[] = {
@@ -8524,7 +8528,7 @@ const Client::VXattr Client::_dir_vxattrs[] = {
     getxattr_cb: &Client::_vxattrcb_quota,
     readonly: false,
     hidden: true,
-    exists_cb: NULL,
+    exists_cb: &Client::_vxattrcb_quota_exists,
   },
   XATTR_QUOTA_FIELD(quota, max_bytes),
   XATTR_QUOTA_FIELD(quota, max_files),
index ebc12cac8b8863fb1910b6e8d88dd2cd18dbc070..bf9fdd2e9d2ab3db993878d2e63d91d98d6b589b 100644 (file)
@@ -671,6 +671,7 @@ private:
          bool (Client::*exists_cb)(Inode *in);
   };
 
+  bool _vxattrcb_quota_exists(Inode *in);
   size_t _vxattrcb_quota(Inode *in, char *val, size_t size);
   size_t _vxattrcb_quota_max_bytes(Inode *in, char *val, size_t size);
   size_t _vxattrcb_quota_max_files(Inode *in, char *val, size_t size);