1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-04-21 11:16:16 +02:00

cp: make --attributes-only override --reflink completely

* doc/coreutils.texi (cp invocation): Change the description slightly
so as users might not immediately discount using this option.
Mention that --reflink is overridden by the other linking options and
--attributes-only, and give an example where this might be useful.
* src/copy.c (copy_internal): Bypass the reflink if
--attributes-only is specifed.
* tests/cp/reflink-perm: Ensure both --reflink modes are
overridden by --attributes-only.
* NEWS: Mention the change in behavior.
Reported by Jim Meyering.
This commit is contained in:
Pádraig Brady
2010-10-26 17:55:10 +01:00
parent 0d792d061e
commit 883ac22239
4 changed files with 23 additions and 6 deletions

View File

@@ -7614,12 +7614,11 @@ implementations that dereference symbolic links by default.
@cindex COW
@cindex clone
@cindex copy on write
Perform a lightweight, copy-on-write (COW) copy.
Copying with this option can succeed only on some file systems.
Once it has succeeded, beware that the source and destination files
share the same disk data blocks as long as they remain unmodified.
Perform a lightweight, copy-on-write (COW) copy, if supported by the
file system. Once it has succeeded, beware that the source and destination
files share the same disk data blocks as long as they remain unmodified.
Thus, if a disk I/O error affects data blocks of one of the files,
the other suffers the exact same fate.
the other suffers the same fate.
The @var{when} value can be one of the following:
@@ -7633,6 +7632,15 @@ If the copy-on-write operation is not supported then fall back
to the standard copy behaviour.
@end table
This option is overridden by the @option{--link}, @option{--symbolic-link}
and @option{--attributes-only} options, thus allowing it to be used
to configure the default data copying behavior for @command{cp}.
For example, with the following alias, @command{cp} will use the
minimum amount of space supported by the file system.
@example
alias cp='cp --reflink=auto --sparse=always'
@end example
@item --remove-destination
@opindex --remove-destination