Skip to content

current patch queue for 3.12

Dave Chinner linux-xfs 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest49 patches 108 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/49xfs: separate out log format definitionsfs/xfs/xfs_log.h fs/xfs/xfs_log_format.h fs/xfs/xfs_log_priv.h +1 more+207 -2081 reply
2/49xfs: split out inode log item format definitionfs/xfs/xfs_acl.c fs/xfs/xfs_filestream.c fs/xfs/xfs_inode.h +4 more+200 -1833 replies
3/49xfs: split out buf log item format definitionsfs/xfs/xfs_buf_item.h fs/xfs/xfs_log_format.h+100 -971 reply
4/49xfs: split out inode log item format definitionfs/xfs/xfs_extfree_item.h fs/xfs/xfs_log_format.h+85 -861 reply
5/49xfs: separate dquot on disk format definitions out of xfs_quota.hfs/xfs/xfs_attr.c fs/xfs/xfs_bmap.c fs/xfs/xfs_bmap_btree.c +26 more+175 -1373 replies
6/49xfs: separate icreate log format definitions from xfs_icreate_item.hfs/xfs/xfs_icreate_item.h fs/xfs/xfs_log_format.h+18 -181 reply
7/49xfs: split out on-disk transaction definitionsfs/xfs/xfs_log_format.h fs/xfs/xfs_trans.c fs/xfs/xfs_trans.h+208 -2071 reply
8/49xfs: introduce xfs_rtalloc_defs.hfs/xfs/xfs_format.h fs/xfs/xfs_rtalloc.c fs/xfs/xfs_rtalloc.h +1 more+54 -521 reply
9/49xfs: introduce xfs_quota_defs.hfs/xfs/xfs_quota.h fs/xfs/xfs_quota_defs.h+160 -1311 reply
10/49xfs: sync minor header differences needed by userspace.fs/xfs/xfs_attr.c fs/xfs/xfs_attr_leaf.c fs/xfs/xfs_attr_leaf.h +10 more+42 -81 reply
11/49xfs: split out transaction reservation codefs/xfs/Makefile fs/xfs/xfs_acl.c fs/xfs/xfs_buf.c +7 more+851 -7721 reply
12/49xfs: move inode fork definitions to a new header filefs/xfs/Makefile fs/xfs/xfs_inode.c fs/xfs/xfs_inode.h +2 more+2128 -20391 reply
13/49xfs: move unrealted definitions out of xfs_inode.hfs/xfs/xfs_ialloc.c fs/xfs/xfs_icache.h fs/xfs/xfs_inode.h +1 more+16 -381 reply
14/49xfs: introduce xfs_inode_buf.c for inode buffer operationsfs/xfs/Makefile fs/xfs/xfs_inode.c fs/xfs/xfs_inode.h +2 more+505 -4473 replies
15/49xfs: move getdents code into it's own filefs/xfs/Makefile fs/xfs/xfs_dir2.c fs/xfs/xfs_dir2_block.c +4 more+650 -6161 reply
16/49xfs: reshuffle dir2 definitions around for userspacefs/xfs/xfs_bmap.c fs/xfs/xfs_da_btree.c fs/xfs/xfs_dir2.c +19 more+83 -641 reply
17/49xfs: split out attribute listing code into separate filefs/xfs/Makefile fs/xfs/xfs_attr.c fs/xfs/xfs_attr.h +2 more+658 -6161 reply
18/49xfs: split out attribute fork truncation code into separate filefs/xfs/Makefile fs/xfs/xfs_attr.c fs/xfs/xfs_attr_inactive.c +1 more+455 -4231 reply
19/49xfs: split out the remote symlink handlingfs/xfs/Makefile fs/xfs/xfs_format.h fs/xfs/xfs_symlink.c +2 more+244 -2141 reply
20/49xfs: introduce xfs_sb.c for sharing with libxfsfs/xfs/Makefile fs/xfs/xfs_mount.c fs/xfs/xfs_mount.h +2 more+848 -7822 replies
21/49xfs: create xfs_bmap_util.[ch]fs/xfs/Makefile fs/xfs/xfs_aops.c fs/xfs/xfs_attr.c +17 more+957 -8531 reply
22/49xfs: minor cleanupsfs/xfs/xfs_attr_leaf.c fs/xfs/xfs_attr_remote.c fs/xfs/xfs_bmap_btree.c +1 more+4 -142 replies
23/49xfs: fix issues that cause userspace warningsfs/xfs/xfs_attr_remote.c fs/xfs/xfs_bmap.c fs/xfs/xfs_da_btree.c +3 more+12 -131 reply
24/49xfs: kill xfs_vnodeops.[ch]fs/xfs/Makefile fs/xfs/xfs_acl.c fs/xfs/xfs_aops.c +25 more+1930 -19903 replies
25/49xfs: consolidate xfs_rename.cfs/xfs/Makefile fs/xfs/xfs_inode.c fs/xfs/xfs_rename.c+307 -3491 reply
26/49xfs: consolidate xfs_utils.cfs/xfs/Makefile fs/xfs/xfs_error.c fs/xfs/xfs_filestream.c +14 more+285 -3571 reply
27/49xfs: consolidate extent swap codefs/xfs/Makefile fs/xfs/xfs_bmap_util.c fs/xfs/xfs_bmap_util.h +6 more+436 -5171 reply
28/49xfs: don't special case shared superblock mountsfs/xfs/xfs_sb.h+0 -71 reply
29/49xfs: kill __KERNEL__ check for debug code in allocation codefs/xfs/xfs_alloc.c+3 -31 reply
30/49xfs: remove __KERNEL__ from debug codefs/xfs/xfs_bmap.h fs/xfs/xfs_dir2_data.c fs/xfs/xfs_rtalloc.c+4 -41 reply
31/49xfs: remove __KERNEL__ check from xfs_dir2_leaf.cfs/xfs/xfs_dir2_leaf.c+0 -41 reply
32/49xfs: xfs_filestreams.h doesn't need __KERNEL__fs/xfs/xfs_filestream.h+0 -41 reply
33/49xfs: move kernel specific type definitions to xfs.hfs/xfs/xfs_linux.h fs/xfs/xfs_types.h+32 -361 reply
34/49xfs: make struct xfs_perag kernel onlyfs/xfs/xfs_acl.c fs/xfs/xfs_ag.h fs/xfs/xfs_mount.h +1 more+54 -531 reply
35/49xfs: Introduce a new structure to hold transaction reservation itemsfs/xfs/xfs_mount.h fs/xfs/xfs_trans.c fs/xfs/xfs_trans_resv.c +1 more+163 -871 reply
36/49xfs: Introduce tr_fsyncts to m_reservationfs/xfs/xfs_trans_resv.c fs/xfs/xfs_trans_resv.h+3 -11 reply
37/49xfs: Make writeid transaction use tr_writeidfs/xfs/xfs_trans_resv.h+1 -11 reply
38/49xfs: refactor xfs_trans_reserve() interfacefs/xfs/xfs_aops.c fs/xfs/xfs_attr.c fs/xfs/xfs_attr_inactive.c +18 more+150 -1972 replies
39/49xfs: Get rid of all XFS_XXX_LOG_RES() macrofs/xfs/xfs_trans_resv.h+0 -361 reply
40/49xfs: Refactor xfs_ticket_alloc() to extract a new helperfs/xfs/xfs_log.c fs/xfs/xfs_log_format.h+42 -221 reply
41/49xfs: Add xfs_log_rlimit.cfs/xfs/Makefile fs/xfs/xfs_log_format.h fs/xfs/xfs_log_rlimit.c+152 -11 reply
42/49xfs: Validate log space at mount timefs/xfs/xfs_log.c+48 -12 replies
43/49xfs: return log item size in IOP_SIZEfs/xfs/xfs_buf_item.c fs/xfs/xfs_dquot_item.c fs/xfs/xfs_extfree_item.c +4 more+126 -732 replies
44/49xfs: Reduce allocations during CIL insertionfs/xfs/xfs_log.h fs/xfs/xfs_log_cil.c fs/xfs/xfs_trans.h+56 -4017 replies
45/49xfs: avoid CIL allocation during insertfs/xfs/xfs_log_cil.c fs/xfs/xfs_trans.h+33 -191 reply
46/49xfs: Combine CIL insert and prepare passesfs/xfs/xfs_log_cil.c+97 -1283 replies
47/49xfs: split the CIL lockfs/xfs/xfs_log_cil.c fs/xfs/xfs_log_priv.h+27 -231 reply
48/49xfs: Add read-only support for dirent filetype fieldfs/xfs/xfs_da_btree.h fs/xfs/xfs_dir2.c fs/xfs/xfs_dir2.h +11 more+365 -12626 replies
49/49xfs: Add write support for dirent filetype fieldfs/xfs/xfs_dir2.c fs/xfs/xfs_dir2_block.c fs/xfs/xfs_dir2_data.c +4 more+47 -90 replies

Reviews trailers per patch

45 of 49 patches have a Reviewed-by or Acked-by.

PatchMark TinguelyBrian Foster
1/49R-b
2/49R-b
3/49R-b
4/49R-b
5/49R-b
6/49R-b
7/49R-b
8/49R-b
9/49R-b
10/49R-b
11/49R-b
12/49R-b
13/49R-b
14/49R-b
15/49R-b
16/49R-b
17/49
18/49R-b
19/49R-b
20/49R-b
21/49R-b
22/49R-b
23/49R-b
24/49R-b
25/49R-b
26/49R-b
27/49R-b
28/49R-b
29/49R-b
30/49R-b
31/49R-b
32/49R-b
33/49R-b
34/49R-b
35/49R-b
36/49R-b
37/49R-b
38/49R-b
39/49R-b
40/49R-b
41/49R-b
42/49R-b
43/49R-b
44/49R-b
45/49R-b
46/49R-b
47/49Review-by
48/49
49/49

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 00/49] current patch queue for 3.12

Hi folks,

The following mass of patches is my current patch queue I have pending for the 3.12 cycle. There are 4 main pieces in this:

1. kernel/user libxfs rework
This is the first 34 patches of the series, and they have the single aim of removing all the differences between the shared userspace and kernel code. There are several new header files created for shared user/kernel definitions to remove all the __KERNEL__ sections from our header files. The result is about 1500 lines of code in headers files are no longer needlessly shared with userspace.

Similarly, the C code itself is split up in such a ways that kernel only functionality is separated from the shared code. For example, all the readdir code is moved to xfs_dir2_readdir.c, and all the attribute listing code is moved to xfs_attr_list.c This means that the files shared with userpace are now mostly identical (except for #includes) and don't have big diffs when kernel-only code was cut out of the userspace versions. The only remaining significant differences are in xfs_rtalloc.c (needs splitting into kernel only/shared versions) and the generic btree code (different tracing in userspace).

2. Log space reservation rework from Jeff Liu
Rebasing on the above work, and now takes into account the log stripe unit when determining the maximum transaction reservation size. This will warning if a filesystem config is mounted where the log may actually be physically too small because old mkfs programs didn't take into account the log stripe unit when calculating the minimum size.

3. CIL commit optimisation patchset
This is a split up version of the RFC patch that has had a lot more testing and now doesn't randomly assert fail.

4. Directory entry file type support
This adds a single byte field into the directory entries that indicate the type of inode that the dirent points to. This brings XFS up to the same functionality as ext4 and btrfs, and enables us to support whiteout dirents for union mounts. It also greatly speeds use directory traversals as we no longer need to stat every inode to find out which ones are subdirectories that need to be walked.

I have one remaining bit of functionality to complete for 3.12, and that is a new extent swap implementation for CRC enabled filesystems. I hope to have that complete and ready for review within a week.

This series will be followed by an xfsprogs patchset that complements this series to be applied to the crc-dev branch. It makes all the same changes and gives us the most similar code base between kernel and userspace that we've had in many, many years....

Comments, flames, testing and crazy emails all welcome.

Cheers,

Dave.

$ git diff --stat -C -M --summary --minimal 47188d3..3899f80
 fs/xfs/Makefile             |   20 +-
 fs/xfs/xfs_acl.c            |    4 +-
 fs/xfs/xfs_ag.h             |   53 -
 fs/xfs/xfs_alloc.c          |    6 +-
 fs/xfs/xfs_aops.c           |    4 +-
 fs/xfs/xfs_attr.c           |  426 +-----
 fs/xfs/xfs_attr.h           |    9 +
 fs/xfs/xfs_attr_inactive.c  |  453 ++++++
 fs/xfs/xfs_attr_leaf.c      |  655 +-------
 fs/xfs/xfs_attr_leaf.h      |    2 +
 fs/xfs/xfs_attr_list.c      |  655 ++++++++
 fs/xfs/xfs_attr_remote.c    |   18 +-
 fs/xfs/xfs_bmap.c           |  817 +---------
 fs/xfs/xfs_bmap.h           |   56 +-
 fs/xfs/xfs_bmap_btree.c     |    6 +-
 fs/xfs/xfs_bmap_util.c      | 2026 ++++++++++++++++++++++++
 fs/xfs/xfs_bmap_util.h      |  110 ++
 fs/xfs/xfs_btree.h          |    2 -
 fs/xfs/xfs_buf.c            |    1 +
 fs/xfs/xfs_buf_item.c       |   52 +-
 fs/xfs/xfs_buf_item.h       |  100 +-
 fs/xfs/xfs_da_btree.c       |    8 +-
 fs/xfs/xfs_da_btree.h       |    1 +
 fs/xfs/xfs_dfrag.c          |  459 ------
 fs/xfs/xfs_dfrag.h          |   53 -
 fs/xfs/xfs_dir2.c           |   42 +-
 fs/xfs/xfs_dir2.h           |   45 +
 fs/xfs/xfs_dir2_block.c     |  122 +-
 fs/xfs/xfs_dir2_data.c      |   25 +-
 fs/xfs/xfs_dir2_format.h    |  186 ++-
 fs/xfs/xfs_dir2_leaf.c      |  404 +----
 fs/xfs/xfs_dir2_node.c      |   14 +-
 fs/xfs/xfs_dir2_priv.h      |   49 +-
 fs/xfs/xfs_dir2_readdir.c   |  696 +++++++++
 fs/xfs/xfs_dir2_sf.c        |  240 ++-
 fs/xfs/xfs_discard.c        |    5 +-
 fs/xfs/xfs_dquot.c          |    8 +-
 fs/xfs/xfs_dquot_item.c     |   23 +-
 fs/xfs/xfs_error.c          |    1 -
 fs/xfs/xfs_export.c         |    5 +-
 fs/xfs/xfs_extfree_item.c   |   50 +-
 fs/xfs/xfs_extfree_item.h   |   88 +-
 fs/xfs/xfs_file.c           |    3 +-
 fs/xfs/xfs_filestream.c     |    8 +-
 fs/xfs/xfs_filestream.h     |    4 -
 fs/xfs/xfs_format.h         |  169 ++
 fs/xfs/xfs_fs.h             |   32 +
 fs/xfs/xfs_fsops.c          |    8 +-
 fs/xfs/xfs_ialloc.c         |    3 +-
 fs/xfs/xfs_icache.c         |    3 +-
 fs/xfs/xfs_icache.h         |    7 +
 fs/xfs/xfs_icreate_item.c   |   21 +-
 fs/xfs/xfs_icreate_item.h   |   18 -
 fs/xfs/xfs_inode.c          | 3732 ++++++++++++++++++---------------------------
 fs/xfs/xfs_inode.h          |  312 +---
 fs/xfs/xfs_inode_buf.c      |  444 ++++++
 fs/xfs/xfs_inode_buf.h      |   52 +
 fs/xfs/xfs_inode_fork.c     | 1921 +++++++++++++++++++++++
 fs/xfs/xfs_inode_fork.h     |  171 +++
 fs/xfs/xfs_inode_item.c     |   53 +-
 fs/xfs/xfs_inode_item.h     |  115 +-
 fs/xfs/xfs_ioctl.c          |  113 +-
 fs/xfs/xfs_ioctl.h          |   10 +
 fs/xfs/xfs_ioctl32.c        |    4 +-
 fs/xfs/xfs_iomap.c          |   21 +-
 fs/xfs/xfs_iops.c           |   40 +-
 fs/xfs/xfs_iops.h           |   13 +
 fs/xfs/xfs_linux.h          |   32 +
 fs/xfs/xfs_log.c            |  109 +-
 fs/xfs/xfs_log.h            |   90 +-
 fs/xfs/xfs_log_cil.c        |  369 ++---
 fs/xfs/xfs_log_format.h     |  846 ++++++++++
 fs/xfs/xfs_log_priv.h       |  155 +-
 fs/xfs/xfs_log_recover.c    |   12 +-
 fs/xfs/xfs_log_rlimit.c     |  145 ++
 fs/xfs/xfs_mount.c          |  833 +---------
 fs/xfs/xfs_mount.h          |  113 +-
 fs/xfs/xfs_qm.c             |   13 +-
 fs/xfs/xfs_qm_bhv.c         |    1 +
 fs/xfs/xfs_qm_syscalls.c    |   15 +-
 fs/xfs/xfs_quota.h          |  260 +---
 fs/xfs/xfs_quota_defs.h     |  157 ++
 fs/xfs/xfs_quotaops.c       |    4 +-
 fs/xfs/xfs_rename.c         |  346 -----
 fs/xfs/xfs_rtalloc.c        |   28 +-
 fs/xfs/xfs_rtalloc.h        |   53 +-
 fs/xfs/xfs_sb.c             |  771 ++++++++++
 fs/xfs/xfs_sb.h             |   59 +-
 fs/xfs/xfs_super.c          |    6 +-
 fs/xfs/xfs_symlink.c        |  189 +--
 fs/xfs/xfs_symlink.h        |   41 +-
 fs/xfs/xfs_symlink_remote.c |  200 +++
 fs/xfs/xfs_trace.c          |    1 +
 fs/xfs/xfs_trans.c          |  709 +--------
 fs/xfs/xfs_trans.h          |  293 +---
 fs/xfs/xfs_trans_dquot.c    |    1 +
 fs/xfs/xfs_trans_priv.h     |    3 +
 fs/xfs/xfs_trans_resv.c     |  769 ++++++++++
 fs/xfs/xfs_trans_resv.h     |  116 ++
 fs/xfs/xfs_types.h          |   60 +-
 fs/xfs/xfs_utils.c          |  314 ----
 fs/xfs/xfs_utils.h          |   27 -
 fs/xfs/xfs_vnodeops.c       | 1870 -----------------------
 fs/xfs/xfs_vnodeops.h       |   55 -
 fs/xfs/xfs_xattr.c          |    2 +-
 105 files changed, 12629 insertions(+), 11714 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
 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_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_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_sb.c
 create mode 100644 fs/xfs/xfs_symlink_remote.c

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs