bring back RT delalloc support v4

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

 



Hi all,

this series adds back delalloc support for RT inodes, at least if the RT
extent size is a single file system block.  This shows really nice
performance improvements for workloads that frequently rewrite or append
to files, and improves fragmentation for larger writes.  On other
workloads it sometimes shows small performance improvements or flat
performance.

Changes since v3:
 - fix a bug in splitting RT delalloc reservations
 - fix online repair of RT delalloc fscounters
 - adjust the freespace counter refactoing to play nicer with an
   upcoming series of mine

Changes since v3:
 - drop gratuitous changes to xfs_mod_freecounter/xfs_add_freecounter
   that caused a warning to be logged when it shouldn't.
 - track delalloc rtextents instead of rtblocks in xfs_mount
 - fix commit message spelling an typos
 
Changes since v2:
 - keep casting to int64_t for xfs_mod_delalloc
 - add a patch to clarify and assert that the block delta in
   xfs_trans_unreserve_and_mod_sb can only be positive

Diffstat:
 libxfs/xfs_ag.c           |    4 -
 libxfs/xfs_ag_resv.c      |   24 ++-------
 libxfs/xfs_ag_resv.h      |    2 
 libxfs/xfs_alloc.c        |    4 -
 libxfs/xfs_bmap.c         |  118 ++++++++++++++++++++++------------------------
 libxfs/xfs_rtbitmap.c     |   14 +++++
 libxfs/xfs_shared.h       |    6 +-
 scrub/fscounters.c        |    8 ++-
 scrub/fscounters.h        |    1 
 scrub/fscounters_repair.c |    3 -
 scrub/repair.c            |    5 -
 xfs_fsops.c               |   29 +++--------
 xfs_fsops.h               |    2 
 xfs_inode.c               |    3 -
 xfs_iomap.c               |   44 +++++++++++------
 xfs_iops.c                |    2 
 xfs_mount.c               |   85 +++++++++++++++++++--------------
 xfs_mount.h               |   36 ++++++++++----
 xfs_rtalloc.c             |    2 
 xfs_super.c               |   17 ++++--
 xfs_trace.h               |    1 
 xfs_trans.c               |   63 ++++++++++++------------
 22 files changed, 260 insertions(+), 213 deletions(-)




[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