2011-05-19 11:05:32

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [Ocfs2-devel] [PATCH] ocfs2: Implement llseek()

On Wed, May 18, 2011 at 07:44:44PM -0700, Sunil Mushran wrote:
> Unwritten (preallocated) extents are considered holes because the file system
> treats reads to such regions in the same way as it does to holes.

How does this work for the case of an unwrittent extent that has been
written to in the pagecache but not converted yet? Y'know the big data
corruption and flamewar that started all this?


2011-05-19 17:29:27

by Sunil Mushran

[permalink] [raw]
Subject: Re: [Ocfs2-devel] [PATCH] ocfs2: Implement llseek()

On 05/19/2011 04:05 AM, Christoph Hellwig wrote:
> On Wed, May 18, 2011 at 07:44:44PM -0700, Sunil Mushran wrote:
>> Unwritten (preallocated) extents are considered holes because the file system
>> treats reads to such regions in the same way as it does to holes.
> How does this work for the case of an unwrittent extent that has been
> written to in the pagecache but not converted yet? Y'know the big data
> corruption and flamewar that started all this?

We don't delay splitting the extent. It is split in ->write_begin(). Delaying
it will be a challenge as we have to provide cache coherency across the
cluster.