From: Yunchuan Wen Date: Wed, 10 Dec 2014 00:52:54 +0000 (+0800) Subject: Revert "client: support listxattr for quota attributes" X-Git-Tag: v0.91~21^2^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=58368999d0ae6203ee9685ae86eb913ab7178430;p=ceph.git Revert "client: support listxattr for quota attributes" 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 Reviewed-by: Yan, Zheng --- diff --git a/src/client/Client.cc b/src/client/Client.cc index 80b6ea685855..271e6f4b4566 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -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), diff --git a/src/client/Client.h b/src/client/Client.h index ebc12cac8b88..bf9fdd2e9d2a 100644 --- a/src/client/Client.h +++ b/src/client/Client.h @@ -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);