Hi folks, This is my current patch queue for the 3.11 release cycle. There is an update to the mount option/sysctl documentation that includes date for removal of deprecated mount options and sysctls in this, so make sure you read it. There are a couple of readahead plugging fixes to make sure we merge adjacent readahead buffers before dispatching them. This makes a big difference to directory and bulkstat performance when the IO subsystem is IOPS bound. There's a specualtive preallocation tweak to avoid speculative prealloc for small files. This is primarily designed for workloads that use small files exclusively like certain gluster/swift workloads that are becoming more common. Following this are a couple of patches to reduce the number of buffer cache lookups we need to do when creating and unlinking inodes. The inode create path now does not need to do IO to allocate a new inode, which means it is more deterministic and less likely to get blocked behind other IO operations. Then there is a series of patches to introduce a new logical inode create transaction for CRC enabld filesystems. This just logs a small structure that indicates where the inodes being created exist, and uses a new concept of "ordered buffers" to ensure that the correct transactional life cycle is maintained for the inodes that were allocated. This requires special ordered log vector support so this information tracks correct through the CIL. This significantly reduces the amoutn of log traffic needed by inode creation, as well as removes one of the nasty warts around inode buffer handling in log recovery. Next is a patch to move all inode fork local to extent conversion code into the callers that need the coversion, rather than having it done implicitly by xfs_bmapi_write(). This clarifies the code paths that the directory and attribute code are using to do this conversion by moving it directly into the functions that are doing the short-form to block conversion. Finally, there are a series of patches that move directory and attribute code around to separate kerel only code from shared userspace/kernel code. This greatly reduces the differences between the shared files, and will make future userspace code synchronisation much simpler and easy to do. There's more work to do here, but this is the low hanging fruit.... Flames, comments, reviews all welcome. -Dave. $ git diff --stat --summary -C -M 6cb25a8.. Documentation/filesystems/xfs.txt | 282 +++++++++++------ fs/xfs/Makefile | 4 + fs/xfs/xfs_attr.c | 388 +---------------------- fs/xfs/xfs_attr.h | 1 + fs/xfs/xfs_attr_inactive.c | 453 +++++++++++++++++++++++++++ fs/xfs/xfs_attr_leaf.c | 643 +------------------------------------ fs/xfs/xfs_attr_list.c | 655 ++++++++++++++++++++++++++++++++++++++ fs/xfs/xfs_bmap.c | 199 +++++------- fs/xfs/xfs_bmap.h | 1 + fs/xfs/xfs_buf_item.c | 87 ++++-- fs/xfs/xfs_buf_item.h | 4 +- fs/xfs/xfs_dir2.c | 34 -- fs/xfs/xfs_dir2.h | 71 +++++ fs/xfs/xfs_dir2_block.c | 120 +------ fs/xfs/xfs_dir2_data.c | 1 + fs/xfs/xfs_dir2_format.h | 24 -- fs/xfs/xfs_dir2_leaf.c | 389 +---------------------- fs/xfs/xfs_dir2_node.c | 1 + fs/xfs/xfs_dir2_priv.h | 33 +- fs/xfs/xfs_dir2_readdir.c | 661 +++++++++++++++++++++++++++++++++++++++ fs/xfs/xfs_dir2_sf.c | 103 +----- fs/xfs/xfs_file.c | 3 +- fs/xfs/xfs_ialloc.c | 67 +++- fs/xfs/xfs_ialloc.h | 8 + fs/xfs/xfs_icreate_item.c | 195 ++++++++++++ fs/xfs/xfs_icreate_item.h | 52 +++ fs/xfs/xfs_inode.c | 68 ++-- fs/xfs/xfs_iomap.c | 13 + fs/xfs/xfs_itable.c | 3 + fs/xfs/xfs_log.c | 21 +- fs/xfs/xfs_log.h | 5 +- fs/xfs/xfs_log_cil.c | 75 +++-- fs/xfs/xfs_log_recover.c | 116 ++++++- fs/xfs/xfs_super.c | 8 + fs/xfs/xfs_trace.h | 4 + fs/xfs/xfs_trans.c | 118 ++++--- fs/xfs/xfs_trans.h | 5 +- fs/xfs/xfs_trans_buf.c | 34 +- 38 files changed, 2865 insertions(+), 2084 deletions(-) create mode 100644 fs/xfs/xfs_attr_inactive.c create mode 100644 fs/xfs/xfs_attr_list.c create mode 100644 fs/xfs/xfs_dir2_readdir.c create mode 100644 fs/xfs/xfs_icreate_item.c create mode 100644 fs/xfs/xfs_icreate_item.h _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs