[Top] [All Lists]

[PATCH v5 00/11] xfs: introduce the free inode btree

To: xfs@xxxxxxxxxxx
Subject: [PATCH v5 00/11] xfs: introduce the free inode btree
From: Brian Foster <bfoster@xxxxxxxxxx>
Date: Thu, 10 Apr 2014 12:08:25 -0400
Delivered-to: xfs@xxxxxxxxxxx
Hi all,

This is a minor rebase of the finobt series on the latest for-next
branch. The previous version (v4) is here:


The most recent series with review feedback is v3:



- Rebase to latest for-next.
- Fixed up comments associated with separation of the AGI into separate
  logging regions.
- Added warning on ENOSPC failure of ifree reservation and comment
  describing reasoning for ifree being reserve-enabled.
- Removed finobt res. from xfs_calc_create_resv_alloc() (v4 sb only).
- Updated xfs_calc_finobt_res() to account for free space btrees and
  enable for inode alloc. record modification scenario.
- Renamed xfs_dialloc_ag_slow() to xfs_dialloc_ag_inobt().
- Refactored the inode allocation algorithm into several smaller helper
- Fixed up comments in xfs_difree_finobt().
- Rebased to latest master.
- Fixed up unused variable warning in xfs_difree_inobt().
- Replaced a few more typedefs.
- Rebase to latest xfs tree (minor shifting around of some header bits).
- Added "xfs: report finobt status in fs geometry" patch to series.
- Separate patch to enable rw finobt support at end of series.
- Rework xfs_ialloc_log_agi() to log the agi in two distinct regions.
- Rework xfs_ialloc_btree.c changes to use separate finobt handlers
  where appropriate.
- Fix bug to show fibt2 stats data in stat proc file.
- Move finobt log reservation calculations into separate helper, made
  conditional and merged to a single patch.
- Use reserved block pool in xfs_inactive() codepath instead of flush.
- Moved and cleaned up xfs_inobt_insert() to use inobt helpers.
- Enhanced lookup algorithm for allocation (xfs_dialloc_ag()).
- Refactored xfs_difree() to use xfs_difree_inobt() and
  xfs_difree_finobt(), cleaned up the latter.

Brian Foster (11):
  xfs: refactor xfs_ialloc_btree.c to support multiple inobt numbers
  xfs: reserve v5 superblock read-only compat. feature bit for finobt
  xfs: support the XFS_BTNUM_FINOBT free inode btree type
  xfs: update inode allocation/free transaction reservations for finobt
  xfs: insert newly allocated inode chunks into the finobt
  xfs: use and update the finobt on inode allocation
  xfs: refactor xfs_difree() inobt bits into xfs_difree_inobt() helper
  xfs: update the finobt on inode free
  xfs: add finobt support to growfs
  xfs: report finobt status in fs geometry
  xfs: enable the finobt feature on v5 superblocks

 fs/xfs/xfs_ag.h           |  36 ++-
 fs/xfs/xfs_btree.c        |   6 +-
 fs/xfs/xfs_btree.h        |   3 +
 fs/xfs/xfs_format.h       |  14 +-
 fs/xfs/xfs_fs.h           |   1 +
 fs/xfs/xfs_fsops.c        |  36 ++-
 fs/xfs/xfs_ialloc.c       | 695 +++++++++++++++++++++++++++++++++++++++-------
 fs/xfs/xfs_ialloc_btree.c |  68 ++++-
 fs/xfs/xfs_ialloc_btree.h |   3 +-
 fs/xfs/xfs_inode.c        |  25 +-
 fs/xfs/xfs_itable.c       |   6 +-
 fs/xfs/xfs_log_recover.c  |   2 +
 fs/xfs/xfs_sb.h           |  10 +-
 fs/xfs/xfs_stats.c        |   1 +
 fs/xfs/xfs_stats.h        |  18 +-
 fs/xfs/xfs_trans_resv.c   |  53 +++-
 fs/xfs/xfs_trans_space.h  |   7 +-
 fs/xfs/xfs_types.h        |   2 +-
 18 files changed, 850 insertions(+), 136 deletions(-)


<Prev in Thread] Current Thread [Next in Thread>