[PATCH v4] xfs: probe data buffer from page cache for unwritten extents
Jie Liu
jeff.liu at oracle.com
Sat Jul 21 01:24:36 CDT 2012
On 07/21/2012 02:46 AM, Mark Tinguely wrote:
> On 07/20/12 03:28, Jeff Liu wrote:
>> Hi All,
>>
>> According to Mark and Christoph's comments for v3, except optimizing
>> xfs_seek_data() with unwritten extents
>> probing, the xfs_seek_hole() is also refined to that in this version.
>>
>>
>
> Just some feedback.
>
> Test program fragment:
>
> ret = do_fallocate(fd, 512*1024, 256*1024, 0);
> if (ret < 0)
> goto out;
> pwrite(fd, buf, 4096, 1024*516);
> lseek(fd, 800*1024, SEEK_SET);
> ret = write(fd, buf, bufsz);
> if (ret < 0)
> goto out;
>
> Output:
>
> HOLE/DATA at 512K 786432 / 528384 <- undiscovered hole here
> HOLE/DATA at 516K 786432 / 528384 <- okay, data but we should
> return next page as hole.
> HOLE/DATA at 520K 532480 / 819200 <- hole is discovered because
> there is no trailing data
Oops! for xfs_seek_hole(), I should use min_t() to pre-claculate offset
before searching page cache.
Thanks for your prompt feedback. I'll do some extra tests and post the
revised soon.
Thanks,
-Jeff
>
> --Mark.
More information about the xfs
mailing list