[PATCH 0/2] divide indirect blocks fairly on delalloc extent split

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

These are a couple fixes for dealing with delalloc indlen reservations
that happen to be less than the worst case res as calculated by
xfs_bmap_worst_indlen().

Patch 1 prevents an unexpected in-core allocation and assert failure in
the delalloc extent merge case. Patch 2 reworks xfs_bmap_split_indlen()
to more fairly divide indlen blocks when an extent is split and the
existing reservation is not sufficient. The current scheme doesn't
properly deal with extents that are already under-reserved and can lead
to indlen == 0 cases fairly easily.

The latter issue was reported by Patrick[1] and reproduced simply by
copying a large sparse vdisk image using 'cp --sparse=always.' These
patches survive xfstests with and without rmapbt without regression.

Brian

[1] http://www.spinics.net/lists/linux-xfs/msg03935.html

Brian Foster (2):
  xfs: handle indlen shortage on delalloc extent merge
  xfs: split indlen reservations fairly when under reserved

 fs/xfs/libxfs/xfs_bmap.c | 67 +++++++++++++++++++++++++++++++++---------------
 1 file changed, 46 insertions(+), 21 deletions(-)

-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux