mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-08 04:08:32 +00:00
Work around copy_file_range() bug in eCryptFs
When programs like ar.ape and compile.ape are run on eCryptFs partitions on Linux, copy_file_range() will fail with EINVAL which is wrong because eCryptFs which doesn't support this system call, should raise EOPNOTSUPP See https://github.com/jart/cosmopolitan/discussions/1305
This commit is contained in:
parent
12cc2de22e
commit
fef24d622a
5 changed files with 9 additions and 3 deletions
|
@ -298,6 +298,7 @@ static void CopyFileOrDie(const char *inpath, int infd, //
|
|||
if (got != -1) {
|
||||
exchanged = got;
|
||||
} else if (errno == EXDEV || // different partitions
|
||||
errno == EINVAL || // possible w/ ecryptfs
|
||||
errno == ENOSYS || // not linux or freebsd
|
||||
errno == ENOTSUP || // probably a /zip file
|
||||
errno == EOPNOTSUPP) { // technically the same
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue