bug#48036: [PATCH] copy: do not refuse to copy a swap file

2021-04-26 Thread Paul Eggert

Thanks, I installed that into Savannah master coreutils.





bug#48036: [PATCH] copy: do not refuse to copy a swap file

2021-04-26 Thread Kamil Dudka
From: Zorro Lang 

* src/copy.c (sparse_copy): Fallback to read() if copy_file_range()
fails with ETXTBSY.  Otherwise it would be impossible to copy files
that are being used as swap.  This used to work before introducing
the support for copy_file_range() in coreutils.
---
 src/copy.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/copy.c b/src/copy.c
index 9dbc694ebee..b7ec9747fa8 100644
--- a/src/copy.c
+++ b/src/copy.c
@@ -290,7 +290,7 @@ sparse_copy (int src_fd, int dest_fd, char *buf, size_t 
buf_size,
 if (n_copied < 0)
   {
 if (errno == ENOSYS || errno == EINVAL
-|| errno == EBADF || errno == EXDEV)
+|| errno == EBADF || errno == EXDEV || errno == ETXTBSY)
   break;
 if (errno == EINTR)
   n_copied = 0;
-- 
2.30.2