Hi all,
This is the v3 userspace portion of finobt support corresponding to v5
of the kernel series.
Patches 1-10 are straight application of the corresponding kernel patches
with omissions where appropriate.
Patch 11 adds mkfs support. Patches 12 and 13 provide a couple minor db
and repair fixes to support the new agi fields and calculate the fs
format respectively. Patches 14-18 add real repair support for the
finobt. Patch 19 adds support to report finobt state in xfs_info. Patch
20 adds support for metadump.
Thoughts, reviews, flames appreciated.
Brian
v3:
- Rebased to latest master.
v2:
- Rebased onto the CRC v5 series and v2 kernel finobt bits.
- Core finobt repair support.
- xfs_info support.
- xfs_metadump support.
Brian Foster (20):
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: report finobt status in fs geometry
xfs: enable the finobt feature on v5 superblocks
xfsprogs/mkfs: finobt mkfs support
xfsprogs/db: finobt support
xfsprogs/repair: account for finobt in ag 0 geometry pre-calculation
xfsprogs/repair: phase 2 finobt scan
xfsprogs/repair: pass btree block magic as param to build_ino_tree()
xfsprogs/repair: pull the build_agi() call up out of the inode tree
build
xfsprogs/repair: helpers for finding in-core inode records w/ free
inodes
xfsprogs/repair: reconstruct the finobt in phase 5
xfsprogs/growfs: report finobt status in fs geometry (xfs_info)
xfsprogs/db: add finobt support to metadump
db/agi.c | 2 +
db/btblock.c | 12 +
db/metadump.c | 25 +-
growfs/xfs_growfs.c | 14 +-
include/xfs_ag.h | 32 ++-
include/xfs_btree.h | 3 +
include/xfs_format.h | 14 +-
include/xfs_fs.h | 1 +
include/xfs_ialloc_btree.h | 3 +-
include/xfs_sb.h | 10 +-
include/xfs_trans_space.h | 7 +-
include/xfs_types.h | 2 +-
libxfs/xfs_btree.c | 6 +-
libxfs/xfs_ialloc.c | 617 ++++++++++++++++++++++++++++++++++++++-------
libxfs/xfs_ialloc_btree.c | 68 ++++-
libxfs/xfs_trans_resv.c | 47 +++-
mkfs/xfs_mkfs.c | 83 ++++--
repair/incore.h | 27 ++
repair/phase5.c | 109 ++++++--
repair/scan.c | 239 +++++++++++++++++-
repair/xfs_repair.c | 2 +
21 files changed, 1144 insertions(+), 179 deletions(-)
--
1.8.3.1
|