summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2016-01-11 22:31:45 +0000
committerPádraig Brady <P@draigBrady.com>2016-01-13 11:16:39 +0000
commit6ceb7ef87fdf138f0553f32a95567920cc51ae1a (patch)
tree05ebd561ad09e7458eeec20fc5dc02a77098fe12
parenta0c5313d60703c480014bfd810bf8f1cf9903299 (diff)
downloadcoreutils-6ceb7ef87fdf138f0553f32a95567920cc51ae1a.tar.xz
doc: suggest dd "sync" flag to maximize "nocache" effectiveness
doc/coreutils.texi (dd invocation): Add oflag=sync to the streaming example. Also reference the "direct" flag. Mention this is only a request to the system. * src/dd.c (usage): Mention the "sync" flag along with "nocache". Also mention that it's only a request to drop the cache. * THANKS.in: Add reporter Francois Rigault.
-rw-r--r--THANKS.in1
-rw-r--r--doc/coreutils.texi17
-rw-r--r--src/dd.c3
3 files changed, 15 insertions, 6 deletions
diff --git a/THANKS.in b/THANKS.in
index 5c49006a2..4593f6c0d 100644
--- a/THANKS.in
+++ b/THANKS.in
@@ -207,6 +207,7 @@ Florian Schlichting fschlich@cis.fu-berlin.de
Florin Iucha fiucha@hsys.mic.ro
Francesco Montorsi fr_m@hotmail.com
François Pinard pinard@iro.umontreal.ca
+François Rigault rigault.francois@gmail.com
Frank Adler fadler@allesklar.de
Frank T Lofaro ftlofaro@snooks.Egr.UNLV.EDU
Fred Fish fnf@ninemoons.com
diff --git a/doc/coreutils.texi b/doc/coreutils.texi
index eb5159a44..01791be5b 100644
--- a/doc/coreutils.texi
+++ b/doc/coreutils.texi
@@ -8677,12 +8677,18 @@ Use synchronized I/O for both data and metadata.
@item nocache
@opindex nocache
@cindex discarding file cache
-Discard the data cache for a file.
-When count=0 all cache is discarded,
+Request to discard the system data cache for a file.
+When count=0 all cached data for the file is specified,
otherwise the cache is dropped for the processed
-portion of the file. Also when count=0
+portion of the file. Also when count=0,
failure to discard the cache is diagnosed
and reflected in the exit status.
+
+Note data that is not already persisted to storage will not
+be discarded from cache, so note the use of the ``sync'' options
+in the examples below, which are used to maximize the
+effectiveness of the @samp{nocache} flag.
+
Here are some usage examples:
@example
@@ -8695,8 +8701,9 @@ dd of=ofile oflag=nocache conv=notrunc,fdatasync count=0
# Drop cache for part of file
dd if=ifile iflag=nocache skip=10 count=10 of=/dev/null
-# Stream data using just the read-ahead cache
-dd if=ifile of=ofile iflag=nocache oflag=nocache
+# Stream data using just the read-ahead cache.
+# See also the @samp{direct} flag.
+dd if=ifile of=ofile iflag=nocache oflag=nocache,sync
@end example
@item nonblock
diff --git a/src/dd.c b/src/dd.c
index d5d01f38a..440950ab7 100644
--- a/src/dd.c
+++ b/src/dd.c
@@ -632,7 +632,8 @@ Each FLAG symbol may be:\n\
fputs (_(" noatime do not update access time\n"), stdout);
#if HAVE_POSIX_FADVISE
if (O_NOCACHE)
- fputs (_(" nocache discard cached data\n"), stdout);
+ fputs (_(" nocache Request to drop cache. See also oflag=sync\n"),
+ stdout);
#endif
if (O_NOCTTY)
fputs (_(" noctty do not assign controlling terminal from file\n"),