xfs
[Top] [All Lists]

Re: sparsify - utility to punch out blocks of 0s in a file

To: Andreas Dilger <adilger@xxxxxxxxx>
Subject: Re: sparsify - utility to punch out blocks of 0s in a file
From: Eric Sandeen <sandeen@xxxxxxxxxx>
Date: Sun, 05 Feb 2012 11:23:21 -0600
Cc: Ron Yorston <rmy@xxxxxxxxxxxxx>, "xfs@xxxxxxxxxxx" <xfs@xxxxxxxxxxx>, "linux-ext4@xxxxxxxxxxxxxxx" <linux-ext4@xxxxxxxxxxxxxxx>
In-reply-to: <9C5B5C07-B0E4-4D13-BCFE-7F35162DF5E8@xxxxxxxxx>
References: <4F2D8F30.3090802@xxxxxxxxxx> <201202050933.q159XQpB026380@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <4F2EB017.5090006@xxxxxxxxxx> <9C5B5C07-B0E4-4D13-BCFE-7F35162DF5E8@xxxxxxxxx>
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:10.0) Gecko/20120129 Thunderbird/10.0
On 2/5/12 10:55 AM, Andreas Dilger wrote:
> On 2012-02-05, at 9:36, Eric Sandeen <sandeen@xxxxxxxxxx> wrote:
>> On 2/5/12 3:33 AM, Ron Yorston wrote:
>>> Eric Sandeen wrote:
>>>> Now that ext4, xfs, & ocfs2 can support punch hole, a tool to
>>>> "re-sparsify" a file by punching out ranges of 0s might be in order.
>>>>
>>>> I'll see if util-linux wants it after it gets beat into shape.
>>>> (or did a tool like this already exist and I missed it?)
>>
>> Matthias' suggestion of adding SEEK_HOLE/SEEK_DATA makes very good sense too.
> 
> I thought about this, but if SEEK_HOLE/SEEK_DATA (or FIEMAP) worked,
> then the file would already be sparse, so I don't think that will
> help in this case...

But only if other tools originally used them, and there will probably be plenty
of cases where they don't, or legacy files, or ....

>> I should also untie the read/zero buffer size from the minimum hole size,
>> we should do optimal IO sizes regardless of the minimum hole size desired...
> 
> Definitely. 4kB IO is a killer for large files.

yeah, it was a quick hack, I'll try to fix that up.

(OTOH for large files you man not want a 4k hole granularity either)

-Eric

> Cheers, Andreas

<Prev in Thread] Current Thread [Next in Thread>