about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSymphorien Gibol <symphorien+git@xlumurb.eu>2018-08-13T19·11+0200
committerSymphorien Gibol <symphorien+git@xlumurb.eu>2018-08-13T19·11+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 3b2ba65f3b46..c91dbf241bcf 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);