This is version 2 of the 2.6.38 kernel code sync to userspace. It currently passes xfstests on x86_64 with no new regressions regardless of the filesystem block size combination I throw at it. Note: this does not convert xfsprogs to the kernel xfs_trans_ijoin\ ijoin_ref interface, it maintains the older ijoin/ihold interface because of the different way the inode reference counting works in libxfs. More work will be needed to change it over to a manner compatible with the current kernel API. Note: log sector size handling needs to be sorted out. Specifically, initialising l_sectbb_log/l_sectBBsize correctly and removing the hacks in xlog_bread and friends (libxlog/xfs_log_recover.c) to work around the fact they are not initialised correctly. (FWIW, I don't think xfsprogs handles large log sector size correctly as a result, and especially not if the log device sector size is different to the data device sector size). Version 2: - split into three patches: - reintroduction of radix tree code - libxlog resync - includes required libxfs transaction code changes - updates logprint to use new interfaces - libxfs resync - updates libxfs - updates all xfsprogs to use new libxfs interfaces. - fixes xfstest 033 cache_purge bug - was a problem in handling the XFS_ILI_HOLD flag removal. --- The following changes since commit adfdbed6a014a412529864a66b09117e6a4bee64: Update xfsprogs Debian maintainer annotation, bump version. (2010-11-11 21:11:44 +1100) are available in the git repository at: git://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev kernel-2.6.38-sync Dave Chinner (5): repair: warn if running in low memory mode xfs_repair: multithread phase 2 libxfs: reintroduce old xfs_repair radix-tree code libxlog: sync up with 2.6.38 kernel code libxfs: sync files with 2.6.38 kernel code db/attr.c | 16 +- db/attrset.c | 5 +- db/bmap.c | 18 +- db/bmap.h | 4 +- db/check.c | 50 +- db/convert.c | 6 +- db/dir2sf.c | 6 +- db/field.c | 2 +- db/frag.c | 6 +- db/inode.c | 124 ++-- db/metadump.c | 20 +- include/Makefile | 5 +- include/atomic.h | 31 + include/hlist.h | 76 ++ include/libxfs.h | 44 +- include/libxlog.h | 16 +- include/list.h | 11 + include/radix-tree.h | 76 ++ include/xfs_ag.h | 100 ++- include/xfs_alloc.h | 58 +- include/xfs_arch.h | 32 - include/xfs_attr_leaf.h | 12 - include/xfs_attr_sf.h | 42 +- include/xfs_bit.h | 10 +- include/xfs_bmap.h | 133 ++-- include/xfs_bmap_btree.h | 20 +- include/xfs_btree.h | 31 +- include/xfs_btree_trace.h | 17 - include/xfs_buf_item.h | 50 +- include/xfs_da_btree.h | 21 +- include/xfs_dfrag.h | 5 +- include/xfs_dinode.h | 149 ++--- include/xfs_dir2.h | 4 +- include/xfs_dir2_data.h | 2 +- include/xfs_dir2_node.h | 2 - include/xfs_dir2_sf.h | 7 - include/xfs_extfree_item.h | 17 +- include/xfs_fs.h | 30 +- include/xfs_ialloc.h | 30 +- include/xfs_ialloc_btree.h | 23 +- include/xfs_imap.h | 38 - include/xfs_inode.h | 210 +++--- include/xfs_inode_item.h | 32 +- include/xfs_inum.h | 1 - include/xfs_log.h | 70 +- include/xfs_log_priv.h | 331 +++++++-- include/xfs_log_recover.h | 25 +- include/xfs_mount.h | 259 ++----- include/xfs_quota.h | 160 ++-- include/xfs_rtalloc.h | 19 +- include/xfs_sb.h | 168 +++-- include/xfs_trace.h | 85 +++ include/xfs_trans.h | 648 +++-------------- include/xfs_trans_space.h | 2 +- include/xfs_types.h | 18 +- libxfs/Makefile | 2 +- libxfs/init.c | 133 +++- libxfs/logitem.c | 371 +--------- libxfs/radix-tree.c | 805 ++++++++++++++++++++ libxfs/trans.c | 211 ++---- libxfs/util.c | 75 +- libxfs/xfs.h | 49 +- libxfs/xfs_alloc.c | 599 ++++++++-------- libxfs/xfs_alloc_btree.c | 46 +- libxfs/xfs_attr.c | 138 ++-- libxfs/xfs_attr_leaf.c | 135 ++-- libxfs/xfs_bmap.c | 1773 ++++++++++++++++++++++---------------------- libxfs/xfs_bmap_btree.c | 129 ++-- libxfs/xfs_btree.c | 96 ++- libxfs/xfs_da_btree.c | 48 +- libxfs/xfs_dir2.c | 31 +- libxfs/xfs_dir2_block.c | 28 +- libxfs/xfs_dir2_leaf.c | 21 +- libxfs/xfs_dir2_node.c | 29 +- libxfs/xfs_dir2_sf.c | 24 +- libxfs/xfs_ialloc.c | 1157 +++++++++++++++-------------- libxfs/xfs_ialloc_btree.c | 35 +- libxfs/xfs_inode.c | 277 ++++---- libxfs/xfs_mount.c | 123 +--- libxfs/xfs_trans.c | 492 +++++++++++-- libxlog/xfs_log_recover.c | 606 ++++++++------- logprint/log_misc.c | 2 +- logprint/log_print_all.c | 13 +- logprint/log_print_trans.c | 4 +- mkfs/proto.c | 18 +- mkfs/xfs_mkfs.c | 3 +- repair/attr_repair.c | 14 +- repair/dino_chunks.c | 12 +- repair/dinode.c | 275 ++++---- repair/dir.c | 18 +- repair/dir2.c | 22 +- repair/incore.h | 3 + repair/phase2.c | 20 +- repair/phase6.c | 76 +- repair/prefetch.c | 29 +- repair/rt.c | 2 +- repair/scan.c | 294 +++++---- repair/scan.h | 39 +- repair/xfs_repair.c | 26 +- 99 files changed, 6094 insertions(+), 5586 deletions(-) create mode 100644 include/atomic.h create mode 100644 include/hlist.h create mode 100644 include/radix-tree.h delete mode 100644 include/xfs_imap.h create mode 100644 include/xfs_trace.h create mode 100644 libxfs/radix-tree.c _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs