Scrub free disk blocks

JD jd1008 at gmail.com
Sat Aug 28 14:42:28 UTC 2010


  On 08/28/2010 06:22 AM, Patrick O'Callaghan wrote:
> On Fri, 2010-08-27 at 21:53 -0700, JD wrote:
>> On 08/27/2010 09:25 PM, JD wrote:
>>>   Is there a Linux util to scrub free disk blocks and keep everything
>>> else intact ??
>>>
>> Someone (not on this list) described a simple way to do this.
>> Scrubbing files to be deleted is easy enough - there are utils for it
>> already.
>> But scrubbing existing free space is slower and requires patience.
>>
>> cd to the root of the partition.
>> sudo dd if=/dev/zero of=ZERO bs=20M
>>
>> When the dd program fails to write any further, you
>> have grabbed and zeroed all available free disk blocks
>> in the partition.
>>
>> Now all you do is use the command scrub to scrub the file ZERO
>> and when done  the file is deleted.
>  From scrub(1):
>
> -X, --freespace
>                Create  specified  directory and fill it with files until write returns ENOSPC (file system full),
>                then scrub the files as usual.  The size of each file can be set with -s, otherwise it will be the
>                maximum file size creatable given the user’s file size limit or 1g if umlimited.
>
> However note that neither of these methods guarantees to scrub indirect
> blocks in the filesystem that were used to create the space-filling
> files. Maybe they do, maybe they don't, it's not clear.
>
> poc
>
Very good.
Actually, indirect blocks are used if and only if the file is larger
than what can be addressed via direct blocks.
So, scrub has no interest in whether or not a file has indirect
blocks, nor should it care if blocks are direct or indirect.
During file access, the file system will access ANY file block(s)
that the process has the right permissions for.




More information about the users mailing list