xfs: patch queue for 3.11
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest60 patches 34 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/60 | xfs: update mount options documentationDocumentation/ | +209 | 1 reply | |
| 2/60 | xfs: add pluging for bulkstat readaheadfs/ | +3 | 1 reply | |
| 3/60 | xfs: plug directory buffer readaheadfs/ | +3 | 1 reply | |
| 4/60 | xfs: don't use speculative prealloc for small filesfs/ | +13 | 2 replies | |
| 5/60 | xfs: don't do IO when creating an new inodefs/ | +28 | 1 reply | |
| 6/60 | xfs: xfs_ifree doesn't need to modify the inode bufferfs/ | +4 | 1 reply | |
| 7/60 | xfs: Introduce ordered log vector supportfs/ fs/ fs/ | +70 | 1 reply | |
| 8/60 | xfs: Introduce an ordered buffer itemfs/ fs/ fs/ +2 more | +87 | 1 reply | |
| 9/60 | xfs: Inode create log itemsfs/ fs/ fs/ +3 more | +261 | 1 reply | |
| 10/60 | xfs: Inode create transaction reservationsfs/ | +77 | 1 reply | |
| 11/60 | xfs: Inode create item recoveryfs/ fs/ fs/ | +145 | 1 reply | |
| 12/60 | xfs: Use inode create transactionfs/ fs/ | +33 | 1 reply | |
| 13/60 | xfs: remove local fork format handling from xfs_bmapi_write()fs/ fs/ fs/ +1 more | +98 | 0 replies | |
| 14/60 | xfs: move getdents code into it's own filefs/ fs/ fs/ +4 more | +664 | 0 replies | |
| 15/60 | xfs: reshuffle dir2 definitions around for userspacefs/ fs/ fs/ +19 more | +83 | 0 replies | |
| 16/60 | xfs: split out attribute listing code into separate filefs/ fs/ fs/ +2 more | +658 | 0 replies | |
| 17/60 | xfs: split out attribute fork truncation code into separate filefs/ fs/ fs/ +1 more | +454 | 0 replies | |
| 18/60 | xfs: split out xfs inode operations into separate filefs/ fs/ fs/ +2 more | +2418 | 0 replies | |
| 19/60 | xfs: consolidate xfs_vnodeops.c into xfs_inode_ops.cfs/ fs/ fs/ +24 more | +1996 | 0 replies | |
| 20/60 | xfs: move xfs_getbmap to xfs_extent_ops.cfs/ fs/ fs/ +2 more | +290 | 0 replies | |
| 21/60 | xfs: introduce xfs_sb.c for sharing with libxfsfs/ fs/ fs/ +2 more | +823 | 0 replies | |
| 22/60 | xfs: move xfs_trans_reservations to xfs_trans.hfs/ fs/ fs/ +3 more | +39 | 0 replies | |
| 23/60 | xfs: sync minor header differences needed by userspace.fs/ fs/ fs/ +12 more | +49 | 0 replies | |
| 24/60 | xfs: move xfs_bmap_punch_delalloc() to xfs_aops.cfs/ fs/ fs/ | +78 | 0 replies | |
| 25/60 | xfs: split out transaction reservation codefs/ fs/ fs/ +3 more | +846 | 0 replies | |
| 26/60 | xfs: minor cleanupsfs/ fs/ fs/ +1 more | +4 | 0 replies | |
| 27/60 | xfs: fix issues that cause userspace warningsfs/ fs/ fs/ +3 more | +12 | 0 replies | |
| 28/60 | xfs: consolidate xfs_rename.cfs/ fs/ fs/ | +306 | 0 replies | |
| 29/60 | xfs: consolidate xfs_utils.cfs/ fs/ fs/ +16 more | +285 | 1 reply | |
| 30/60 | xfs: split out inode log item format definitionfs/ fs/ fs/ | +202 | 0 replies | |
| 31/60 | xfs: split out buf log item format definitionsfs/ fs/ | +115 | 0 replies | |
| 32/60 | xfs: move inode fork definitions to a new header filefs/ fs/ fs/ +3 more | +2101 | 0 replies | |
| 33/60 | xfs: move unrealted definitions out of xfs_inode.hfs/ fs/ fs/ +1 more | +15 | 0 replies | |
| 34/60 | xfs: introduce xfs_inode_buf.c for inode buffer operationsfs/ fs/ fs/ +2 more | +498 | 0 replies | |
| 35/60 | xfs: start repopulating xfs_inode.[ch] with kernel codefs/ fs/ fs/ +1 more | +545 | 0 replies | |
| 36/60 | xfs: move swap extent code to xfs_extent_opsfs/ fs/ fs/ +5 more | +434 | 0 replies | |
| 37/60 | xfs: split out inode log item format definitionfs/ fs/ | +105 | 0 replies | |
| 38/60 | xfs: separate dquot on disk format definitions out of xfs_quota.hfs/ fs/ | +134 | 0 replies | |
| 39/60 | xfs: separate icreate log format definitions from xfs_icreate_item.hfs/ fs/ | +40 | 0 replies | |
| 40/60 | xfs: don't special case shared superblock mountsfs/ | +0 | 0 replies | |
| 41/60 | xfs: kill __KERNEL__ check for debug code in allocation codefs/ | +3 | 0 replies | |
| 42/60 | xfs: split out on-disk transaction definitionsfs/ fs/ fs/ | +243 | 0 replies | |
| 43/60 | xfs: remove __KERNEL__ from debug codefs/ fs/ fs/ | +4 | 0 replies | |
| 44/60 | xfs: remove __KERNEL__ check from xfs_dir2_leaf.cfs/ | +0 | 0 replies | |
| 45/60 | xfs: xfs_filestreams.h doesn't need __KERNEL__fs/ | +0 | 0 replies | |
| 46/60 | xfs: split out the remote symlink handlingfs/ fs/ fs/ +2 more | +267 | 0 replies | |
| 47/60 | xfs: separate out log format definitionsfs/ fs/ fs/ +1 more | +207 | 0 replies | |
| 48/60 | xfs: move kernel specific type definitions to xfs.hfs/ fs/ | +32 | 0 replies | |
| 49/60 | xfs: make struct xfs_perag kernel onlyfs/ fs/ fs/ +1 more | +54 | 0 replies | |
| 50/60 | xfs: create xfs_bmap_util.[ch]fs/ fs/ fs/ +13 more | +590 | 0 replies | |
| 51/60 | xfs: introduce xfs_quota_defs.hfs/ fs/ | +146 | 0 replies | |
| 52/60 | xfs: introduce xfs_rtalloc_defs.hfs/ fs/ | +74 | 0 replies | |
| 53/60 | xfs: Introduce a new structure to hold transaction reservation itemsfs/ fs/ fs/ +1 more | +163 | 0 replies | |
| 54/60 | xfs: Introduce tr_fsyncts to m_reservationfs/ fs/ | +3 | 0 replies | |
| 55/60 | xfs: Make writeid transaction use tr_writeidfs/ | +1 | 0 replies | |
| 56/60 | xfs: refactor xfs_trans_reserve() interfacefs/ fs/ fs/ +19 more | +150 | 0 replies | |
| 57/60 | xfs: Get rid of all XFS_XXX_LOG_RES() macrofs/ | +0 | 0 replies | |
| 58/60 | xfs: Refactor xfs_ticket_alloc() to extract a new helperfs/ fs/ | +42 | 0 replies | |
| 59/60 | xfs: Add xfs_log_rlimit.cfs/ fs/ fs/ | +153 | 8 replies | |
| 60/60 | xfs: Validate log space at mount timefs/ | +48 | 0 replies |
Reviews trailers per patch
12 of 60 patches have a Reviewed-by or Acked-by.
| Patch | Brian Foster | Mark Tinguely |
|---|---|---|
| 1/60 | R-b | |
| 2/60 | R-b | |
| 3/60 | R-b | |
| 4/60 | R-b | R-b |
| 5/60 | R-b | |
| 6/60 | R-b | |
| 7/60 | R-b | |
| 8/60 | R-b | |
| 9/60 | R-b | |
| 10/60 | R-b | |
| 11/60 | R-b | |
| 12/60 | R-b | |
| 13/60 | ||
| 14/60 | ||
| 15/60 | ||
| 16/60 | ||
| 17/60 | ||
| 18/60 | ||
| 19/60 | ||
| 20/60 | ||
| 21/60 | ||
| 22/60 | ||
| 23/60 | ||
| 24/60 | ||
| 25/60 | ||
| 26/60 | ||
| 27/60 | ||
| 28/60 | ||
| 29/60 | ||
| 30/60 | ||
| 31/60 | ||
| 32/60 | ||
| 33/60 | ||
| 34/60 | ||
| 35/60 | ||
| 36/60 | ||
| 37/60 | ||
| 38/60 | ||
| 39/60 | ||
| 40/60 | ||
| 41/60 | ||
| 42/60 | ||
| 43/60 | ||
| 44/60 | ||
| 45/60 | ||
| 46/60 | ||
| 47/60 | ||
| 48/60 | ||
| 49/60 | ||
| 50/60 | ||
| 51/60 | ||
| 52/60 | ||
| 53/60 | ||
| 54/60 | ||
| 55/60 | ||
| 56/60 | ||
| 57/60 | ||
| 58/60 | ||
| 59/60 | ||
| 60/60 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH 00/60] xfs: patch queue for 3.11
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.hWhich 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
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs