aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSymphorien Gibol <symphorien+git@xlumurb.eu>2018-08-13 21:11:36 +0200
committerSymphorien Gibol <symphorien+git@xlumurb.eu>2018-08-13 21:11:36 +0200
commit5b19a6663b06a158cb77d170e6740dce7ced6185 (patch)
tree8a83d546387f479a06657b80edf6870a876228f7
parentf72c907ad833fa26800ad1694e63f3cec952b444 (diff)
ignore when listxattr fails with ENODATA
This happens on CIFS and means the remote filesystem has no extended attributes.
-rw-r--r--src/libstore/local-store.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libstore/local-store.cc b/src/libstore/local-store.cc
index 3b2ba65f3..c91dbf241 100644
--- a/src/libstore/local-store.cc
+++ b/src/libstore/local-store.cc
@@ -450,7 +450,7 @@ static void canonicalisePathMetaData_(const Path & path, uid_t fromUid, InodesSe
ssize_t eaSize = llistxattr(path.c_str(), nullptr, 0);
if (eaSize < 0) {
- if (errno != ENOTSUP)
+ if (errno != ENOTSUP && errno != ENODATA)
throw SysError("querying extended attributes of '%s'", path);
} else if (eaSize > 0) {
std::vector<char> eaBuf(eaSize);