]> git.ipfire.org Git - thirdparty/coreutils.git/commit
shred: overwrite inode storage used by some file systems
authorPádraig Brady <P@draigBrady.com>
Fri, 4 Apr 2014 12:35:56 +0000 (13:35 +0100)
committerPádraig Brady <P@draigBrady.com>
Sat, 5 Apr 2014 00:56:07 +0000 (01:56 +0100)
commitb85eb8d6835e7665bf6151db070261b123c22f95
tree1d0fc5d1ed45ab2f5bcc115c11e00258e5c20e1f
parent217618e8bf10a09270291b9825f3181ed2f83dbf
shred: overwrite inode storage used by some file systems

* doc/coreutils.texi (shred invocation): Mention some reasons
why clearing slack space might be useful.
* src/shred.c (do_wipefd): Add initial writes for each pass
for small regular files in case the storage for those is
in the inode, and thus a larger write up to a block size would
bypass that.  Move the direct I/O control to...
(dopass): ... here so we can avoid enabling it for these small
initial writes.  It's better to retry direct I/O for each pass
anyway to handle the case where direct I/O is disabled for only
the last portion of a file when the size is not a multiple of
the block size.  Note we don't avoid the sync for the initial
write as it will be small but more importantly could be on a
different part of the disk and so worth doing independently
to ensure the write is not discarded.
* tests/misc/shred-exact.sh: Check some more direct I/O cases.
* NEWS: Mention the improvements.
The inode storage issue was mentioned by Paul Eggert.
NEWS
doc/coreutils.texi
src/shred.c
tests/misc/shred-exact.sh