Skip to content

xfs: current patch queue for 3.11

Dave Chinner linux-xfs 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest27 patches 28 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/27xfs: update mount options documentationDocumentation/filesystems/xfs.txt+192 -903 replies
2/27xfs: add pluging for bulkstat readaheadfs/xfs/xfs_itable.c+3 -00 replies
3/27xfs: plug directory buffer readaheadfs/xfs/xfs_dir2_leaf.c+3 -00 replies
4/27xfs: don't use speculative prealloc for small filesfs/xfs/xfs_iomap.c+13 -02 replies
5/27xfs: don't do IO when creating an new inodefs/xfs/xfs_inode.c+28 -80 replies
6/27xfs: xfs_ifree doesn't need to modify the inode bufferfs/xfs/xfs_inode.c+4 -280 replies
7/27xfs: Introduce ordered log vector supportfs/xfs/xfs_log.c fs/xfs/xfs_log.h fs/xfs/xfs_log_cil.c+70 -280 replies
8/27xfs: Introduce an ordered buffer itemfs/xfs/xfs_buf_item.c fs/xfs/xfs_buf_item.h fs/xfs/xfs_trace.h +2 more+87 -310 replies
9/27xfs: Inode create log itemsfs/xfs/Makefile fs/xfs/xfs_icreate_item.c fs/xfs/xfs_icreate_item.h +3 more+261 -20 replies
10/27xfs: Inode create transaction reservationsfs/xfs/xfs_trans.c+77 -410 replies
11/27xfs: Inode create item recoveryfs/xfs/xfs_ialloc.c fs/xfs/xfs_ialloc.h fs/xfs/xfs_log_recover.c+145 -140 replies
12/27xfs: Use inode create transactionfs/xfs/xfs_buf_item.c fs/xfs/xfs_ialloc.c+33 -110 replies
13/27xfs: remove local fork format handling from xfs_bmapi_write()fs/xfs/xfs_attr_leaf.c fs/xfs/xfs_bmap.c fs/xfs/xfs_bmap.h +1 more+98 -1240 replies
14/27xfs: move getdents code into it's own filefs/xfs/Makefile fs/xfs/xfs_dir2.c fs/xfs/xfs_dir2_block.c +4 more+665 -6230 replies
15/27xfs: reshuffle dir2 definitions around for userspacefs/xfs/xfs_dir2.h fs/xfs/xfs_dir2_data.c fs/xfs/xfs_dir2_format.h +6 more+78 -603 replies
16/27xfs: split out attribute listing code into separate filefs/xfs/Makefile fs/xfs/xfs_attr.c fs/xfs/xfs_attr.h +2 more+658 -6160 replies
17/27xfs: split out attribute fork truncation code into separate filefs/xfs/Makefile fs/xfs/xfs_attr.c fs/xfs/xfs_attr_inactive.c +1 more+454 -4120 replies
18/27xfs: split out xfs inode operations into separate filefs/xfs/Makefile fs/xfs/xfs_inode.c fs/xfs/xfs_inode.h +2 more+2418 -23448 replies
19/27xfs: consolidate xfs_vnodeops.c into xfs_inode_ops.cfs/xfs/Makefile fs/xfs/xfs_acl.c fs/xfs/xfs_aops.c +24 more+1994 -19874 replies
20/27xfs: move xfs_getbmap to xfs_extent_ops.cfs/xfs/xfs_bmap.c fs/xfs/xfs_bmap.h fs/xfs/xfs_extent_ops.c +2 more+290 -2860 replies
21/27xfs: introduce xfs_sb.c for sharing with libxfsfs/xfs/Makefile fs/xfs/xfs_mount.c fs/xfs/xfs_mount.h +2 more+821 -7620 replies
22/27xfs: move xfs_trans_reservations to xfs_trans.hfs/xfs/xfs_acl.c fs/xfs/xfs_buf.c fs/xfs/xfs_discard.c +3 more+39 -430 replies
23/27xfs: sync minor header differences needed by userspace.fs/xfs/xfs_attr.c fs/xfs/xfs_attr_inactive.c fs/xfs/xfs_attr_leaf.c +12 more+49 -90 replies
24/27xfs: move xfs_bmap_punch_delalloc() to xfs_aops.cfs/xfs/xfs_aops.c fs/xfs/xfs_bmap.c fs/xfs/xfs_bmap.h+78 -792 replies
25/27xfs: split out transaction reservation codefs/xfs/Makefile fs/xfs/xfs_mount.h fs/xfs/xfs_trans.c +3 more+846 -7670 replies
26/27xfs: minor cleanupsfs/xfs/xfs_attr_leaf.c fs/xfs/xfs_attr_remote.c fs/xfs/xfs_bmap_btree.c +1 more+4 -240 replies
27/27xfs: 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 -132 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/27] xfs: current patch queue for 3.11

Hi folks,

This is an update of my current patch queue for the 3.11 release cycle. This series starts on top of the patch series I posted for 3.10-rc6, and builds upon the series previously posted last week:

http://oss.sgi.com/pipermail/xfs/2013-June/027040.html

The additions to the series since then are basically for making kernel/userspace code synchronisation much, much easier. it mostly consists of splitting code into shared and kernel-only files, both header and c files. Hence the majority of the diffstat comes from moving code between files, not actually modifying them. The diffstat looks a lot more frightening than it really is.

The result is, however, a massive reduction in the diff between the shared files:

~/src/xfsprogs-dev$ for f in libxfs/xfs_*.c include/xfs_*h; do \

Quoted 2 lines

echo $f; diff -u $f ../kern/xfsdev/fs/xfs/basename $f done |diffstat

diff: ../kern/xfsdev/fs/xfs/xfs_arch.h: No such file or directory
diff: ../kern/xfsdev/fs/xfs/xfs_btree_trace.h: No such file or directory
diff: ../kern/xfsdev/fs/xfs/xfs_metadump.h: No such file or directory

 xfs_alloc.c        |   29 
 xfs_alloc_btree.c  |   95 --
 xfs_attr.c         |   27 
 xfs_attr_leaf.c    |   29 
 xfs_attr_remote.c  |   26 
 xfs_bmap.c         |  270 ++++++
 xfs_bmap_btree.c   |  122 ---
 xfs_btree.c        |   65 +
 xfs_btree.h        |   38 
 xfs_da_btree.c     |   27 
 xfs_dir2.c         |   23 
 xfs_dir2_block.c   |   25 
 xfs_dir2_data.c    |   23 
 xfs_dir2_leaf.c    |   23 
 xfs_dir2_node.c    |   22 
 xfs_dir2_sf.c      |   20 
 xfs_ialloc.c       |   26 
 xfs_ialloc_btree.c |   95 --
 xfs_inode.c        |   35 
 xfs_rtalloc.c      | 1602 ++++++++++++++++++++++++++++++++++++++++-
 xfs_sb.c           |   64 +
 xfs_symlink.c      |  560 ++++++++++++++
 xfs_trace.h        | 2058 +++++++++++++++++++++++++++++++++++++++++++++++++----
 xfs_trans_resv.c   |   30 
 24 files changed, 4837 insertions(+), 497 deletions(-)

Without the matching userspace patchset, the kernel/user diffstat comes out at:

45 files changed, 8336 insertions(+), 2406 deletions(-)

in which xfs_rtalloc.c, xfs_symlink.c and xfs_trace.h are unchanged.

So if we ignore xfs_trace.h as there is nothing common between user and kernel space there, xfs_symlink as it only has a some kernel-only functions at it's tail and xfs_rtalloc.c as I haven't touched it at all, then the remaining diffstat between user and kernel space is roughly +775/-300 lines, and most of that is in differences in #include lines at the top of each file.

The generic btree code differs in tracing stubs (low priority so been waiting for years to be fixed), and the xfs-bmap.c code differences are a couple of kernel functions, mostly xfs_bmap_finish() and xfs_bmap_rtalloc(). There's some more work that can be done, esp. w.r.t xfs_symlink.c and the rtalloc code that will reduce this even further.

IOWs, compared to before these patches, there's almost no difference at all. This is going to make user/kernel syncs a whole lot easier, and it's already found a lot of little differences that have been previously been missed when syncing the userspace code.

The last couple of patches also fix minor whitespace and comment differences noticed in the userspace code, and also fix all the situations where the userspace code triggeres compiler warnings that the kernel has turned off. With the userspace patch set, we end up with a clean, warning free compile on my build machines.

Thoughts, comments, flames?

Cheers,

Dave.

 Documentation/filesystems/xfs.txt |  282 ++--
 fs/xfs/Makefile                   |   13 +-
 fs/xfs/xfs_acl.c                  |    3 +-
 fs/xfs/xfs_aops.c                 |   81 +-
 fs/xfs/xfs_attr.c                 |  390 +-----
 fs/xfs/xfs_attr.h                 |    9 +
 fs/xfs/xfs_attr_inactive.c        |  454 +++++++
 fs/xfs/xfs_attr_leaf.c            |  656 +--------
 fs/xfs/xfs_attr_leaf.h            |    2 +
 fs/xfs/xfs_attr_list.c            |  655 +++++++++
 fs/xfs/xfs_attr_remote.c          |   17 +-
 fs/xfs/xfs_bmap.c                 |  559 ++------
 fs/xfs/xfs_bmap.h                 |   10 +-
 fs/xfs/xfs_bmap_btree.c           |    4 +-
 fs/xfs/xfs_btree.h                |    2 -
 fs/xfs/xfs_buf.c                  |    1 +
 fs/xfs/xfs_buf_item.c             |   87 +-
 fs/xfs/xfs_buf_item.h             |    4 +-
 fs/xfs/xfs_da_btree.c             |    6 +-
 fs/xfs/xfs_dfrag.c                |    1 -
 fs/xfs/xfs_dir2.c                 |   35 -
 fs/xfs/xfs_dir2.h                 |   74 +
 fs/xfs/xfs_dir2_block.c           |  120 +-
 fs/xfs/xfs_dir2_data.c            |    1 +
 fs/xfs/xfs_dir2_format.h          |   27 +-
 fs/xfs/xfs_dir2_leaf.c            |  389 +-----
 fs/xfs/xfs_dir2_node.c            |    3 +
 fs/xfs/xfs_dir2_priv.h            |   33 +-
 fs/xfs/xfs_dir2_readdir.c         |  661 +++++++++
 fs/xfs/xfs_dir2_sf.c              |  103 +-
 fs/xfs/xfs_discard.c              |    1 +
 fs/xfs/xfs_export.c               |    1 -
 fs/xfs/xfs_extent_ops.c           | 1054 +++++++++++++++
 fs/xfs/xfs_extent_ops.h           |   30 +
 fs/xfs/xfs_file.c                 |    5 +-
 fs/xfs/xfs_fs.h                   |   17 +
 fs/xfs/xfs_ialloc.c               |   69 +-
 fs/xfs/xfs_ialloc.h               |    8 +
 fs/xfs/xfs_icache.c               |    1 -
 fs/xfs/xfs_icreate_item.c         |  195 +++
 fs/xfs/xfs_icreate_item.h         |   56 +
 fs/xfs/xfs_inode.c                | 2596 ++++++-----------------------------
 fs/xfs/xfs_inode.h                |  341 +----
 fs/xfs/xfs_inode_ops.c            | 2844 +++++++++++++++++++++++++++++++++++++++
 fs/xfs/xfs_inode_ops.h            |  371 +++++
 fs/xfs/xfs_ioctl.c                |   37 +-
 fs/xfs/xfs_ioctl.h                |    6 +
 fs/xfs/xfs_ioctl32.c              |    1 -
 fs/xfs/xfs_iomap.c                |   13 +
 fs/xfs/xfs_iops.c                 |    3 +-
 fs/xfs/xfs_iops.h                 |   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_mount.c                |  828 ++----------
 fs/xfs/xfs_mount.h                |   63 +-
 fs/xfs/xfs_quotaops.c             |    1 +
 fs/xfs/xfs_rename.c               |    1 -
 fs/xfs/xfs_rtalloc.c              |    4 +-
 fs/xfs/xfs_sb.c                   |  714 ++++++++++
 fs/xfs/xfs_sb.h                   |   26 +
 fs/xfs/xfs_super.c                |    9 +-
 fs/xfs/xfs_symlink.h              |    3 +-
 fs/xfs/xfs_trace.h                |    4 +
 fs/xfs/xfs_trans.c                |  618 +--------
 fs/xfs/xfs_trans.h                |   92 +-
 fs/xfs/xfs_trans_buf.c            |   34 +-
 fs/xfs/xfs_trans_priv.h           |    3 +
 fs/xfs/xfs_trans_resv.c           |  705 ++++++++++
 fs/xfs/xfs_trans_resv.h           |  135 ++
 fs/xfs/xfs_types.h                |    3 +-
 fs/xfs/xfs_vnodeops.c             | 1874 --------------------------
 fs/xfs/xfs_vnodeops.h             |   56 -
 fs/xfs/xfs_xattr.c                |    1 -
 76 files changed, 9378 insertions(+), 8360 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_extent_ops.c
 create mode 100644 fs/xfs/xfs_extent_ops.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_inode_ops.c
 create mode 100644 fs/xfs/xfs_inode_ops.h
 create mode 100644 fs/xfs/xfs_sb.c
 create mode 100644 fs/xfs/xfs_trans_resv.c
 create mode 100644 fs/xfs/xfs_trans_resv.h
 delete mode 100644 fs/xfs/xfs_vnodeops.c
 delete mode 100644 fs/xfs/xfs_vnodeops.h

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