diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2023-06-30 16:42:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-30 16:42:42 +0200 |
commit | 7b5ca7ebe2c5ba78a1ad1baa1d84627f62994816 (patch) | |
tree | 94e9d425ac0e65a648a59b4dfbca5de8172dba00 | |
parent | a0c617348b636d4a6f239450a61e029719e2c832 (diff) | |
parent | eebfe989a5dc3aac622b9b5f2edef4461d8968c1 (diff) |
Merge pull request #8614 from ShamrockLee/quickfix-exdev
linkOrCopy: Fallback upon cross-device link error (EXDEV)
-rw-r--r-- | src/libstore/build/local-derivation-goal.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc index ea7c52098..ee66ee500 100644 --- a/src/libstore/build/local-derivation-goal.cc +++ b/src/libstore/build/local-derivation-goal.cc @@ -395,8 +395,9 @@ static void linkOrCopy(const Path & from, const Path & to) bind-mount in this case? It can also fail with EPERM in BeegFS v7 and earlier versions + or fail with EXDEV in OpenAFS which don't allow hard-links to other directories */ - if (errno != EMLINK && errno != EPERM) + if (errno != EMLINK && errno != EPERM && errno != EXDEV) throw SysError("linking '%s' to '%s'", to, from); copyPath(from, to); } |