util: copy_file_range() returns EBADF when used on a tty
In nspawn we invoke copy_bytes() on a TTY fd. copy_file_range() returns EBADF
on a TTY and this error is considered fatal by copy_bytes() so far. Correct
that, so that nspawn's copy_bytes() operation works again.
This is a follow-up for a44202e98b
.
This commit is contained in:
parent
4f4d6ee4be
commit
6402d5c628
|
@ -102,7 +102,7 @@ int copy_bytes(int fdf, int fdt, uint64_t max_bytes, bool try_reflink) {
|
|||
if (try_cfr) {
|
||||
n = try_copy_file_range(fdf, NULL, fdt, NULL, m, 0u);
|
||||
if (n < 0) {
|
||||
if (!IN_SET(n, -EINVAL, -ENOSYS, -EXDEV))
|
||||
if (!IN_SET(n, -EINVAL, -ENOSYS, -EXDEV, -EBADF))
|
||||
return n;
|
||||
|
||||
try_cfr = false;
|
||||
|
|
Loading…
Reference in a new issue