dd: add a flag to discard cached data
commit5f3115535b32a9c0cc5aee5cf5b4001f684ad56e
authorPádraig Brady <P@draigBrady.com>
Tue, 22 Feb 2011 21:14:00 +0000 (22 21:14 +0000)
committerPádraig Brady <P@draigBrady.com>
Sat, 5 Mar 2011 02:33:53 +0000 (5 02:33 +0000)
tree601be66ec898ecbd0276d7258191c5468c775a6b
parent433a7c614f0fbce3ba3346409af847d82670d284
dd: add a flag to discard cached data

* src/dd.c (FFS_MASK): A new macro (Find First Set) refactored
from the following enum as it's now used twice.
(usage): Mention the new 'nocache' flag.
(cache_round): A new function to help ignore requests
to drop cache, that are less than page_size.
(invalidate_cache): A new function to call posix_fadvise()
with the appropriate offset and length.  Note we don't
use fdadvise() so we can detect errors when count=0.
(dd_copy): Call invalidate_cache() for the portions read.
(iwrite): Likewise for the portions written.
(main): Call invalidate_cache for page_size slop or
for full file when count=0.
* cfg.mk (sc_dd_O_FLAGS): Adjust to pass.
* doc/coreutils.texi (dd invocation): Describe the 'nocache' flag,
and give some examples of how it can be used.
* tests/dd/nocache: A new test.
* tests/Makefile.am: Reference the new test.
* NEWS: Mention the new feature.
NEWS
cfg.mk
doc/coreutils.texi
src/dd.c
tests/Makefile.am
tests/dd/nocache [new file with mode: 0755]