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

Brian Foster
2014-02-04T17:49:47Z

Hi all,

Here's a small update of the finobt work. Previous version here:

http://oss.sgi.com/archives/xfs/2013-11/msg00404.html

This series is rebased on the latest master and contains a few very
minor fixes. Thoughts, reviews, flames appreciated.

Brian

v3:
- Rebased to latest master.
- Fixed up unused variable warning in xfs_difree_inobt().
- Replaced a few more typedefs.
v2:
- Rebase to latest xfs tree (minor shifting around of some header bits).
- Added "xfs: report finobt status in fs geometry" patch to series.
v1:
- 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 | 32 ++-
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 | 617 ++++++++++++++++++++++++++++++++++++++--------
fs/xfs/xfs_ialloc_btree.c | 68 ++++-
fs/xfs/xfs_ialloc_btree.h | 3 +-
fs/xfs/xfs_inode.c | 4 +-
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 | 47 +++-
fs/xfs/xfs_trans_space.h | 7 +-
fs/xfs/xfs_types.h | 2 +-
18 files changed, 746 insertions(+), 131 deletions(-)

--
1.8.1.4