]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
os/chain_xattr: Remove all old xattr entry when overwrite the xattr. 2233/head
authorMa Jianpeng <jianpeng.ma@intel.com>
Thu, 7 Aug 2014 13:33:18 +0000 (21:33 +0800)
committerMa Jianpeng <jianpeng.ma@intel.com>
Sat, 9 Aug 2014 12:03:14 +0000 (20:03 +0800)
commit4f6d513366236eabbb5c9b5b62accb77ceed6873
treeffa4906163b2d0f5915429e1bf3a667b416a28dc
parent818f5b70388eb0a417aebd0ea33854752030db18
os/chain_xattr: Remove all old xattr entry when overwrite the xattr.

Ceph use multiple xattrs to store the value of a single xattr which size
is larger than CHAIN_XATTR_MAX_BLOCK_LEN.
But when overwote the content of xattr in func
chain_setxattr/chain_fsetxattr, we don't know the size of previous
content of the xattr.
So we only try to remove until system return  -ENODATA.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
src/os/chain_xattr.cc