mirror of
https://github.com/morgan9e/systemd
synced 2026-04-15 00:47:10 +09:00
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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user