From 5b19a6663b06a158cb77d170e6740dce7ced6185 Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Mon, 13 Aug 2018 21:11:36 +0200 Subject: [PATCH] ignore when listxattr fails with ENODATA This happens on CIFS and means the remote filesystem has no extended attributes. --- src/libstore/local-store.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 eaBuf(eaSize);