Hi all, Now that the sparse inode chunks feature is merged into the kernel tree for 4.2, here is the first official drop of userspace support. This series is based on the current libxfs-4.1-update branch. Patches 1-10 are libxfs infrastructure and correspond to the similarly named kernel patches. The bits not relevant to userspace are dropped along with the bulk of the sparse inode chunk allocation logic from the kernel due to the combination of non-existent dependencies in userspace (e.g., xfs_bit.c) and the fact that this code isn't invoked from userspace. The experimental feature warning was also dropped to avoid noisy mkfs warnings that lead to spurious xfstests failures. The subsequent patches add support to mkfs, xfs_db, xfs_info, xfs_repair and xfs_metadump. Use the new '-i sparse' option to format a filesystem with sparse inode chunks enabled: mkfs.xfs -f -m crc=1,finobt=1 -i sparse <dev> Thoughts, reviews, flames appreciated. Thanks. Brian Brian Foster (28): xfs: create individual inode alloc. helper xfs: update free inode record logic to support sparse inode records xfs: support min/max agbno args in block allocator xfs: add sparse inode chunk alignment superblock field xfs: use sparse chunk alignment for min. inode allocation requirement xfs: sparse inode chunks feature helpers and mount requirements xfs: add fs geometry bit for sparse inode chunks xfs: introduce inode record hole mask for sparse inode chunks xfs: pass inode count through ordered icreate log item xfs: enable sparse inode chunks for v5 superblocks mkfs: sparse inode chunk support db: support sparse inode chunk inobt record and sb fields db: show sparse inodes feature state in version command output growfs: display sparse inode status from xfs_info repair: handle sparse format inobt record freecount correctly repair: remove duplicate field from aghdr_cnts repair: use ir_count for filesystems with sparse inode support repair: scan and track sparse inode chunks correctly repair: scan sparse finobt records correctly repair: validate ir_count field for sparse format records repair: process sparse inode records correctly repair: factor out sparse inodes from finobt reconstruction repair: do not account sparse inodes in phase 5 cursor init. repair: reconstruct sparse inode records correctly on disk repair: do not prefetch holes in sparse inode chunks repair: handle sparse inode alignment metadump: reorder inode record sanity checks and inode buffer read metadump: support sparse inode records db/btblock.c | 45 ++++++++++-- db/btblock.h | 3 + db/check.c | 8 +-- db/field.c | 4 ++ db/field.h | 2 + db/init.c | 4 +- db/metadump.c | 90 ++++++++++++++++------- db/sb.c | 3 + db/type.c | 40 +++++++++++ db/type.h | 1 + growfs/xfs_growfs.c | 13 ++-- include/libxfs.h | 16 +++++ include/xfs_mount.h | 2 + libxfs/xfs_alloc.c | 42 +++++++++-- libxfs/xfs_alloc.h | 2 + libxfs/xfs_format.h | 48 +++++++++++-- libxfs/xfs_fs.h | 1 + libxfs/xfs_ialloc.c | 87 +++++++++++++++++----- libxfs/xfs_ialloc.h | 2 +- libxfs/xfs_ialloc_btree.c | 11 ++- libxfs/xfs_sb.c | 27 ++++++- man/man8/mkfs.xfs.8 | 17 +++++ mkfs/xfs_mkfs.c | 37 +++++++++- repair/dino_chunks.c | 162 ++++++++++++++++++++++++----------------- repair/incore.h | 26 ++++++- repair/incore_ino.c | 1 + repair/phase5.c | 58 +++++++++++++-- repair/prefetch.c | 17 ++++- repair/sb.c | 25 +++++-- repair/scan.c | 178 +++++++++++++++++++++++++++++++++++++--------- 30 files changed, 782 insertions(+), 190 deletions(-) -- 1.9.3 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs