[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <DD59E27A-FD96-4983-A274-B76CCE99AE7A@dilger.ca>
Date: Fri, 15 Apr 2011 16:28:37 -0600
From: Andreas Dilger <adilger@...ger.ca>
To: Christoph Hellwig <hch@...radead.org>
Cc: Eric Blake <eblake@...hat.com>, Jim Meyering <jim@...ering.net>,
Eric Sandeen <sandeen@...deen.net>,
Dave Chinner <david@...morbit.com>, xfs-oss <xfs@....sgi.com>,
coreutils@....org, linux-ext4@...r.kernel.org,
Markus Trippelsdorf <markus@...ppelsdorf.de>
Subject: Re: Files full of zeros with coreutils-8.11 and xfs (FIEMAP related?)
On 2011-04-15, at 11:26 AM, Christoph Hellwig wrote:
> On Fri, Apr 15, 2011 at 11:24:19AM -0600, Eric Blake wrote:
>> Would it be worth borrowing from Solaris' semantics and adding SEEK_HOLE
>> and SEEK_DATA to lseek(2), as a higher level (less-detailed, but easier
>> to define and easier to use) interface for discovering the regions of a
>> file that only contain NUL bytes?
>
> Yes, I've already suggested that both in this thread and on IRC.
>
> For efficient copies it's the only usable interface.
I suspect that these bugs would have still existed whether the interface is SEEK_HOLE/SEEK_DATA, or FIEMAP. The main problem is that the delalloc pages were not accounted for correctly during layout traversal.
For ext4 I think it is sufficient to add another case to ext4_ext_fiemap_cb() to check the pagecache for unmapped pages when it finds an uninitialized extent on disk. This will be very similar to the fix for finding holes in the on-disk mapping.
Cheers, Andreas
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists