On Thu, Apr 10, 2014 at 03:00:51PM +1000, Dave Chinner wrote: > From: Dave Chinner <dchinner@xxxxxxxxxx> > > When we are zeroing space andit is covered by a delalloc range, we > need to punch the delalloc range out before we truncate the page > cache. Failing to do so leaves and inconsistency between the page > cache and the extent tree, which we later trip over when doing > direct IO over the same range. Looks good. Which test found this? > @@ -1432,9 +1434,18 @@ xfs_zero_file_space( > ASSERT(end_boundary <= offset + len); > > if (start_boundary < end_boundary - 1) { > - /* punch out the page cache over the conversion range */ > + /* > + * punch out delayed allocation blocks and the page cache over > + * the conversion range > + */ > + xfs_ilock(ip, XFS_ILOCK_EXCL); > + error = xfs_bmap_punch_delalloc_range(ip, > + XFS_B_TO_FSB(mp, start_boundary), Shouldn't this be XFS_B_TO_FSBT? _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs