GNU bug report logs - #48036
[PATCH] copy: do not refuse to copy a swap file

Previous Next

Package: coreutils;

Reported by: Kamil Dudka <kdudka <at> redhat.com>

Date: Mon, 26 Apr 2021 15:26:02 UTC

Severity: normal

Tags: patch

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Kamil Dudka <kdudka <at> redhat.com>
Subject: bug#48036: closed (Re: bug#48036: [PATCH] copy: do not refuse to
 copy a swap file)
Date: Tue, 27 Apr 2021 01:04:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

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

which was filed against the coreutils package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 48036 <at> debbugs.gnu.org.

-- 
48036: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=48036
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Kamil Dudka <kdudka <at> redhat.com>
Cc: Zorro Lang <zlang <at> redhat.com>, 48036-done <at> debbugs.gnu.org
Subject: Re: bug#48036: [PATCH] copy: do not refuse to copy a swap file
Date: Mon, 26 Apr 2021 18:03:19 -0700
Thanks, I installed that into Savannah master coreutils.

[Message part 3 (message/rfc822, inline)]
From: Kamil Dudka <kdudka <at> redhat.com>
To: bug-coreutils <at> gnu.org
Cc: Zorro Lang <zlang <at> redhat.com>
Subject: [PATCH] copy: do not refuse to copy a swap file
Date: Mon, 26 Apr 2021 17:25:18 +0200
From: Zorro Lang <zlang <at> redhat.com>

* 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




This bug report was last modified 4 years and 20 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.