On 07/03/12 02:15, Jeff Liu wrote:
This is v3 of the patch.
We can trigger BUG() in xfs_seek_data() if met two unwritten without data or
hole extents at last version.
So making the extents map reading in loop could solve it.
Sorry, Am not yet try the repeated holes scenario according to Dave's comments
as lack of X64 test env, still
waiting for it ready. But this patch is already too long delayed, I have
worked it out one weeks ago.
So I'd like to post it because of it could handle repeated hole/unwritten
extents well in a loop, and I also improved
xfstests:286 with those cases for the verification, will post it soon.
Tested by Mark, hit BUG() for continuous unwritten extents without data wrote.
* xfs_seek_data(), remove BUG() and having extents map search in loop.
suggested by Mark.
* xfs_has_unwritten_buffer(), use the input offset instead of bmap->br_startoff
calculate page index for data buffer probing.
Signed-off-by: Jie Liu<jeff.liu@xxxxxxxxxx>
Nice. Up to refining xfs_seek_hole()?
Reviewed-by: Mark Tinguely <tinguely@xxxxxxx>