ignore when listxattr fails with ENODATA

This happens on CIFS and means the remote filesystem has no extended
attributes.
This commit is contained in:
Symphorien Gibol 2018-08-13 21:11:36 +02:00
parent f72c907ad8
commit 5b19a6663b

View file

@ -450,7 +450,7 @@ static void canonicalisePathMetaData_(const Path & path, uid_t fromUid, InodesSe
ssize_t eaSize = llistxattr(path.c_str(), nullptr, 0); ssize_t eaSize = llistxattr(path.c_str(), nullptr, 0);
if (eaSize < 0) { if (eaSize < 0) {
if (errno != ENOTSUP) if (errno != ENOTSUP && errno != ENODATA)
throw SysError("querying extended attributes of '%s'", path); throw SysError("querying extended attributes of '%s'", path);
} else if (eaSize > 0) { } else if (eaSize > 0) {
std::vector<char> eaBuf(eaSize); std::vector<char> eaBuf(eaSize);