From 08a3d6bd428c5e78dd4a10e6ee97540f66f9729c Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Mon, 24 Mar 2014 19:33:52 +0800 Subject: [PATCH] client: don't include ceph.{file,dir}.layout vxattr in listxattr() This avoids 'cp -a' modifying layout of new files/directories. Signed-off-by: Yan, Zheng --- src/client/Client.cc | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/client/Client.cc b/src/client/Client.cc index 8691cd7678e89..d85e4031ea9ab 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -7242,18 +7242,11 @@ int Client::_listxattr(Inode *in, char *name, size_t size, int uid, int gid) { int r = _getattr(in, CEPH_STAT_CAP_XATTR, uid, gid); if (r == 0) { - const char file_vxattrs[] = "ceph.file.layout"; - const char dir_vxattrs[] = "ceph.dir.layout"; for (map::iterator p = in->xattrs.begin(); p != in->xattrs.end(); ++p) r += p->first.length() + 1; - if (in->is_file()) - r += sizeof(file_vxattrs); - else if (in->is_dir() && in->has_dir_layout()) - r += sizeof(dir_vxattrs); - if (size != 0) { if (size >= (unsigned)r) { for (map::iterator p = in->xattrs.begin(); @@ -7264,13 +7257,6 @@ int Client::_listxattr(Inode *in, char *name, size_t size, int uid, int gid) *name = '\0'; name++; } - if (in->is_file()) { - memcpy(name, file_vxattrs, sizeof(file_vxattrs)); - name += sizeof(file_vxattrs); - } else if (in->is_dir() && in->has_dir_layout()) { - memcpy(name, dir_vxattrs, sizeof(dir_vxattrs)); - name += sizeof(dir_vxattrs); - } } else r = -ERANGE; } -- 2.39.5