summaryrefslogtreecommitdiff
path: root/src/install.c
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2009-08-26 00:32:43 +0100
committerPádraig Brady <P@draigBrady.com>2009-08-29 00:24:49 +0100
commit72f98388c36676e5c9ba6a72df5693c207862204 (patch)
treef0f54bfdb3a16d87cd180226021de9a7570bd9e7 /src/install.c
parentf296cf4052c5299c7e6b1c14dcffa4785982a8ce (diff)
downloadcoreutils-72f98388c36676e5c9ba6a72df5693c207862204.tar.xz
cp --reflink: add an "auto" parameter to fall back to a normal copy
* doc/coreutils.texi (cp invocation): Document the new "auto" and "always" options to --reflink. * src/copy.c (copy_reg): Fall back to a standard copy when reflink() is not supported and --reflink=auto specified. * src/copy.h [struct cp_options] (reflink): Change type s/bool/enum/. * src/cp.c (usage): Describe the --reflink={always,auto} options and expand a little on what --reflink does. (main): parse the new parameters to --reflink and allow all --sparse options with --reflink=auto. * src/install.c (cp_option_init): Init the enum instead of bool. * src/mv.c (cp_option_init): Likewise. * tests/cp/reflink-auto: A new test for falling back to normal copy. * tests/Makefile.am: Reference the new test. * NEWS: Mention the new feature.
Diffstat (limited to 'src/install.c')
-rw-r--r--src/install.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/install.c b/src/install.c
index a4e0cab32..fafa21a3c 100644
--- a/src/install.c
+++ b/src/install.c
@@ -269,7 +269,7 @@ cp_option_init (struct cp_options *x)
{
cp_options_default (x);
x->copy_as_regular = true;
- x->reflink = false;
+ x->reflink_mode = REFLINK_NEVER;
x->dereference = DEREF_ALWAYS;
x->unlink_dest_before_opening = true;
x->unlink_dest_after_failed_open = false;