summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2023-01-02 13:07:41 +0000
committerPádraig Brady <P@draigBrady.com>2023-01-06 14:32:44 +0000
commitf6c93f334ef5dbc5c68c299785565ec7b9ba5180 (patch)
treea8e1c2b3416bb3a0122751bc4d9a68abdb8e2f40 /NEWS
parentf4567ed953d3eb14b8eefc4744603c2594bb73f3 (diff)
downloadcoreutils-f6c93f334ef5dbc5c68c299785565ec7b9ba5180.tar.gz
copy: immediately fail with transient reflink errors
* src/copy.c (handle_clone_fail): A new function refactored from copy_reg() to handle failures from FICLONE or fclonefileat(). Fail with all errors from FICLONE, unless they're from the set indicating the file system or file do not support the clone operation. Also fail with errors from fclonefileat() (dest_dest < 0) if they're from the set indicating a transient failure for the file. (copy_ref): Call handle_clone_fail() after fclonefileat() and FICLONE. (sparse_copy): Call the refactored is_CLONENOTSUP() which is now also used by the new handle_clone_fail() function. * NEWS: Mention the bug fix. Also mention explicitly the older --reflink=auto default change to aid searching. * cfg.mk: Adjust old_NEWS_hash with `make update-NEWS-hash`. Fixes https://bugs.gnu.org/60489
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS8
1 files changed, 8 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 7ec3ce1fb..3105df3f8 100644
--- a/NEWS
+++ b/NEWS
@@ -18,6 +18,13 @@ GNU coreutils NEWS -*- outline -*-
which can return varied file system I/O block size values for files.
[bug introduced in coreutils-6.0]
+ cp, mv, and install now immediately acknowledge transient errors
+ when creating copy-on-write or cloned reflink files, on supporting
+ file systems like XFS, BTRFS, APFS, etc.
+ Previously they would have tried again with other copy methods
+ which may have resulted in data corruption.
+ [bug introduced in coreutils-7.5 and enabled by default in coreutils-9.0]
+
'mv --backup=simple f d/' no longer mistakenly backs up d/f to f~.
[bug introduced in coreutils-9.1]
@@ -299,6 +306,7 @@ GNU coreutils NEWS -*- outline -*-
** Changes in behavior
cp and install now default to copy-on-write (COW) if available.
+ I.e., cp now uses --reflink=auto mode by default.
cp, install and mv now use the copy_file_range syscall if available.
Also, they use lseek+SEEK_HOLE rather than ioctl+FS_IOC_FIEMAP on sparse