Hi Folks, This is my patch queue for 3.11 as it stands right now. The first 27 patches have been posted previously, and I've addressed these comments directly: - non-debug static function prblems (Brian) - agblock_t in xfs-ialloc.c (Brian) - xfs-dir2_format.h changes reverted, now included before xfs_dir2.h (Christoph) - rename xfs_aops_punch_delalloc_range() (Christoph) The next set of patches then build on this and implement the first part of where the discussions went - the removal of __KERNEL__ from all the XFS code. This generally takes the form of: - split on-disk format definitions into a separate header - include the header in the original it came from - share the new header file with userspace - repeat until all definitions are split out and the only thing is left in the orignal header is #includes and ifdef __KERNEL__ sections. - remove the ifdef __KERNEL__, as this header file is no longer shared with userspace. The same process is done for the .c files, resulting in .c files that contain only kernel code or only code shared with libxfs in userspace. This has resulted in some less than optimal code locality, mostly to do with xfs_inode_ops.c. The code is kernel only, and it's in that file because it all related to inode operatianos. However, some are internal core operations, some are interfaces that the VFS inode operations just wrap around, and some are related more closely to inode allocation than anything else. Hence more thought and effort needs to be put into factoring and merging this kernel code back into the most appropriate places, and that is work for a future release. The final part of the patchset is a rebase of Jeff Liu's log size validation patch set. This calculates the minimum size of the log that we should have to guarantee that we don't end up with transactions being too large for the log. This is an issue because mkfs currently doesn't take into account the log stripe unit padding that is necessary when calculating the log size, and this can drive the size of transaction over the maximum size the log can safely support. This code will warn on existing filesystems at mount time if the log is smaller than the minimum safe size, and for CRC enabled filesystems it will abort immediately as it is expected that you are using a mkfs binary that has this problem fixed. Overall, there is a lot of code movement in the patch set. The tail of the diffstat looks like: 113 files changed, 14734 insertions(+), 13221 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_bmap_util.c create mode 100644 fs/xfs/xfs_bmap_util.h create mode 100644 fs/xfs/xfs_buf_item_format.h delete mode 100644 fs/xfs/xfs_dfrag.c delete mode 100644 fs/xfs/xfs_dfrag.h create mode 100644 fs/xfs/xfs_dir2_readdir.c create mode 100644 fs/xfs/xfs_dquot_format.h create mode 100644 fs/xfs/xfs_extent_ops.c rename fs/xfs/{xfs_utils.h => xfs_extent_ops.h} (55%) create mode 100644 fs/xfs/xfs_extfree_item_format.h create mode 100644 fs/xfs/xfs_icreate_item.c create mode 100644 fs/xfs/xfs_icreate_item.h create mode 100644 fs/xfs/xfs_icreate_item_format.h create mode 100644 fs/xfs/xfs_inode_buf.c create mode 100644 fs/xfs/xfs_inode_buf.h create mode 100644 fs/xfs/xfs_inode_fork.c create mode 100644 fs/xfs/xfs_inode_fork.h create mode 100644 fs/xfs/xfs_inode_item_format.h create mode 100644 fs/xfs/xfs_inode_ops.c create mode 100644 fs/xfs/xfs_inode_ops.h create mode 100644 fs/xfs/xfs_log_format.h create mode 100644 fs/xfs/xfs_log_rlimit.c create mode 100644 fs/xfs/xfs_quota_defs.h delete mode 100644 fs/xfs/xfs_rename.c create mode 100644 fs/xfs/xfs_rtalloc_defs.h create mode 100644 fs/xfs/xfs_sb.c create mode 100644 fs/xfs/xfs_symlink_remote.c create mode 100644 fs/xfs/xfs_symlink_remote.h create mode 100644 fs/xfs/xfs_trans_format.h create mode 100644 fs/xfs/xfs_trans_resv.c create mode 100644 fs/xfs/xfs_trans_resv.h delete mode 100644 fs/xfs/xfs_utils.c delete mode 100644 fs/xfs/xfs_vnodeops.c delete mode 100644 fs/xfs/xfs_vnodeops.h Which should give you an idea of the number of new files that have been added to split out shared userspace code, and hence an idea of how much ofthe diffstat is just moving stuff around. FWIW, this kills about 2000 lines of __KERNEL__ code in header files that is currently exported to userspace. You can see why I'm thinking a kernel fs/xfs/libxfs subdir might be a good idea. :) Comments, flames, etc all welcome. Cheers, Dave. _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs