Skip to content

xfsprogs: patch queue for crc-dev

Dave Chinner linux-xfs 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest50 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/50xfsprogs: introduce xfs_icreate.hinclude/Makefile include/xfs_icreate_item.h include/xfs_log.h +1 more+60 -40 replies
2/50xfsprogs: port inode create transaction changesinclude/libxfs.h include/xfs_ialloc.h include/xfs_icreate_item.h +3 more+160 -620 replies
3/50xfsprogs: teach logprint about icreate transactioninclude/libxlog.h logprint/log_misc.c logprint/log_print_all.c+58 -00 replies
4/50libxfs: switch over to xfs_sb.c and remove xfs_mount.cinclude/libxfs.h include/xfs_mount.h include/xfs_sb.h +6 more+689 -6470 replies
5/50libxfs: move the transaction reservation structuresinclude/libxfs.h include/xfs_mount.h include/xfs_trans.h +1 more+33 -340 replies
6/50xfsprogs: remove xfs_mount.hinclude/Makefile include/libxfs.h include/xfs_mount.h+6 -3590 replies
7/50libxfs: update xfs_inode.h to match new kernel versioninclude/xfs_inode.h libxfs/xfs.h libxfs/xfs_inode.c+99 -4110 replies
8/50xfs: remove local fork format handling from xfs_bmapi_write()include/xfs_bmap.h libxfs/xfs_attr_leaf.c libxfs/xfs_bmap.c +1 more+97 -1220 replies
9/50libxfs: local to remote format support of remote symlinksinclude/xfs_symlink.h libxfs/xfs_bmap.c libxfs/xfs_symlink.c+31 -120 replies
10/50xfsprogs: sync minor kernel header differencesinclude/libxfs.h include/xfs_ag.h include/xfs_alloc_btree.h +16 more+118 -790 replies
11/50libxfs: introduce xfs_trans_resv.cinclude/Makefile include/libxfs.h include/xfs_trans.h +6 more+845 -6980 replies
12/50libxfs: fix directory/attribute format issuesinclude/xfs_attr_leaf.h include/xfs_dir2_format.h+4 -20 replies
13/50libxfs: ensure btree root split sets blkno correctlylibxfs/xfs_btree.c+10 -00 replies
14/50libxfs: move transaction code to trans.cinclude/xfs_trans.h libxfs/Makefile libxfs/trans.c +2 more+125 -1430 replies
15/50libxfs: fix byte swapping on constantsinclude/swab.h libxfs/xfs_alloc_btree.c libxfs/xfs_bmap_btree.c +1 more+34 -250 replies
16/50libxfs: sync xfs_da_btree.clibxfs/xfs_da_btree.c+33 -300 replies
17/50libxfs: update xfs_alloc to current kernel versionlibxfs/xfs_alloc.c+19 -120 replies
18/50libxfs: sync attr code with kernellibxfs/xfs_attr.c libxfs/xfs_attr_leaf.c+31 -230 replies
19/50libxfs: sync dir2 kernel differenceslibxfs/xfs_dir2.c libxfs/xfs_dir2_data.c libxfs/xfs_dir2_leaf.c +1 more+71 -280 replies
20/50libxfs: sync xfs_ialloc.c to the kernel codelibxfs/xfs_ialloc.c+173 -60 replies
21/50xfsprogs: define min/max once and use them everywhere.include/libxfs.h include/platform_defs.h.in io/init.h +1 more+5 -50 replies
22/50libxfs: fix compile warningscopy/xfs_copy.c db/bmroot.c libxfs/xfs.h +9 more+37 -190 replies
23/50xfsprogs: fix make debMakefile+2 -00 replies
24/50xfs: split out inode log item format definitioninclude/Makefile include/libxfs.h include/libxlog.h +3 more+202 -2350 replies
25/50xfs: split out buf log item format definitionsinclude/Makefile include/libxfs.h include/libxlog.h +2 more+120 -1770 replies
26/50xfs: move inode fork definitions to a new header fileinclude/Makefile include/libxfs.h include/xfs_inode.h +4 more+2076 -20260 replies
27/50xfs: move unrealted definitions out of xfs_inode.hinclude/xfs_inode.h include/xfs_trans.h libxfs/xfs.h+10 -380 replies
28/50xfs: introduce xfs_inode_buf.c for inode buffer operationsinclude/Makefile include/libxfs.h include/xfs_inode.h +5 more+487 -4960 replies
29/50xfs: move swap extent code to xfs_extent_opsfsr/xfs_fsr.c include/Makefile include/xfs_dfrag.h +1 more+16 -550 replies
30/50xfs: split out inode log item format definitioninclude/Makefile include/libxlog.h include/xfs_extfree_item.h +1 more+108 -1680 replies
31/50xfs: separate dquot on disk format definitions out of xfs_quota.hinclude/Makefile include/libxfs.h include/xfs_dquot_format.h +1 more+136 -1130 replies
32/50xfs: separate icreate log format definitions from xfs_icreate_item.hinclude/Makefile include/libxfs.h include/libxlog.h +2 more+43 -240 replies
33/50xfs: don't special case shared superblock mountsinclude/xfs_sb.h+0 -70 replies
34/50xfs: kill __KERNEL__ check for debug code in allocation codelibxfs/xfs_alloc.c+3 -30 replies
35/50xfs: split out on-disk transaction definitionsinclude/Makefile include/libxfs.h include/xfs_trans.h +1 more+246 -4710 replies
36/50xfs: remove __KERNEL__ from debug codeinclude/xfs_bmap.h libxfs/xfs_dir2_data.c libxfs/xfs_rtalloc.c+4 -40 replies
37/50xfs: remove __KERNEL__ check from xfs_dir2_leaf.clibxfs/xfs_dir2_leaf.c+0 -40 replies
38/50xfs: split out the remote symlink handlinginclude/Makefile include/libxfs.h include/xfs_symlink.h +4 more+251 -2460 replies
39/50xfs: separate out log format definitionsinclude/Makefile include/libxfs.h include/libxlog.h +5 more+184 -8940 replies
40/50xfs: move kernel specific type definitions to xfs.hinclude/xfs_types.h+0 -360 replies
41/50xfs: make struct xfs_perag kernel onlyinclude/libxfs.h include/xfs_ag.h+31 -530 replies
42/50xfs: create xfs_bmap_util.[ch]include/xfs_bmap.h libxfs/xfs.h libxfs/xfs_bmap.c+43 -2630 replies
43/50xfs: introduce xfs_quota_defs.hinclude/Makefile include/libxfs.h include/xfs_quota.h +1 more+145 -2850 replies
44/50xfs: introduce xfs_rtalloc_defs.hinclude/Makefile include/libxfs.h include/xfs_rtalloc.h +1 more+73 -1680 replies
45/50xfs: Introduce a new structure to hold transaction reservation itemsinclude/libxfs.h include/xfs_trans_resv.h libxfs/trans.c +2 more+172 -950 replies
46/50xfs: Introduce tr_fsyncts to m_reservationinclude/xfs_trans_resv.h libxfs/xfs_trans_resv.c+3 -10 replies
47/50xfs: Make writeid transaction use tr_writeidinclude/xfs_trans_resv.h+1 -10 replies
48/50xfs: refactor xfs_trans_reserve() interfaceinclude/libxfs.h include/xfs_trans_resv.h libxfs/trans.c +9 more+115 -980 replies
49/50xfs: Get rid of all XFS_XXX_LOG_RES() macroinclude/xfs_trans_resv.h mkfs/maxtrres.c+3 -380 replies
50/50xfs: Add xfs_log_rlimit.cinclude/xfs_log_format.h libxfs/Makefile libxfs/util.c +4 more+313 -950 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/50] xfsprogs: patch queue for crc-dev

Hi folks,

This is the latest patchset for the crc-dev branch of xfsprogs. It follows up on the last series of 22 patches to get libxf sin sync with the kernel code but adding all the changes from the kernel size to remove __KERNEL__ from the code. Hence there's a fair bit more code churn in the patch set, but overall the diffstat is a significant reduction in code in libxfs. Like the kernel side patchset, there is a lot of new files that are shared with the kernel, and the diffstat reflects that:

90 files changed, 3573 insertions(+), 4863 deletions(-)
 rename include/{xfs_buf_item.h => xfs_buf_item_format.h} (62%)
 delete mode 100644 include/xfs_dfrag.h
 create mode 100644 include/xfs_dquot_format.h
 rename include/{xfs_extfree_item.h => xfs_extfree_item_format.h} (69%)
 create mode 100644 include/xfs_icreate_item.h
 create mode 100644 include/xfs_icreate_item_format.h
 delete mode 100644 include/xfs_inode.h
 create mode 100644 include/xfs_inode_buf.h
 create mode 100644 include/xfs_inode_fork.h
 rename include/{xfs_inode_item.h => xfs_inode_item_format.h} (61%)
 delete mode 100644 include/xfs_log.h
 create mode 100644 include/xfs_log_format.h
 delete mode 100644 include/xfs_log_priv.h
 delete mode 100644 include/xfs_mount.h
 delete mode 100644 include/xfs_quota.h
 create mode 100644 include/xfs_quota_defs.h
 delete mode 100644 include/xfs_rtalloc.h
 create mode 100644 include/xfs_rtalloc_defs.h
 delete mode 100644 include/xfs_symlink.h
 create mode 100644 include/xfs_symlink_remote.h
 delete mode 100644 include/xfs_trans.h
 create mode 100644 include/xfs_trans_format.h
 create mode 100644 include/xfs_trans_resv.h
 create mode 100644 libxfs/xfs_inode_buf.c
 rename libxfs/{xfs_inode.c => xfs_inode_fork.c} (82%)
 create mode 100644 libxfs/xfs_log_rlimit.c
 rename libxfs/{xfs_mount.c => xfs_sb.c} (94%)
 rename libxfs/{xfs_symlink.c => xfs_symlink_remote.c} (68%)
 rename libxfs/{xfs_trans.c => xfs_trans_resv.c} (67%)

Overall, it's a significant reduction in the amount of code, and it cleans up quite a bit of the nasty header file dependency issues as the majority of the new shared header files are not dependent on each other. Having header files like xfs_mount.h, xfs_trans.h, xfs_log.h and xfs_log_priv.h no longer present in userspace makes a big difference to the clarity of the libxfs header files...

The only other major addition to the series is Jeff Liu's log reservation calculation patchset, which allows mkfs to calculate the minmum log size based on log reservation sizes rather than transaction reservation sizes. This causes a significant increase in the default size of the log for small filesystems - many xfstests now fail because the default log size doesn't fit inside a 16MB AG anymore. Hence mkfs will need some further tweaking here to avoid those failures. xfs/216 gives a pretty good overview of the difference in default sizes:

QA output created by 216

-fssize=1g log      =internal log           bsize=4096   blocks=2560, version=2
-fssize=2g log      =internal log           bsize=4096   blocks=2560, version=2
-fssize=4g log      =internal log           bsize=4096   blocks=2560, version=2
-fssize=8g log      =internal log           bsize=4096   blocks=2560, version=2
-fssize=16g log      =internal log           bsize=4096   blocks=2560, version=2
-fssize=32g log      =internal log           bsize=4096   blocks=4096, version=2
+fssize=1g log      =internal log           bsize=4096   blocks=4896, version=2
+fssize=2g log      =internal log           bsize=4096   blocks=4896, version=2
+fssize=4g log      =internal log           bsize=4096   blocks=4896, version=2
+fssize=8g log      =internal log           bsize=4096   blocks=4896, version=2
+fssize=16g log      =internal log           bsize=4096   blocks=4896, version=2
+fssize=32g log      =internal log           bsize=4096   blocks=4896, version=2
 fssize=64g log      =internal log           bsize=4096   blocks=8192, version=2

Which indicate worst case log reservation is roughly 2x larger than the worst case transaction reservation for small filesystems. I'm surprised that we haven't had more problems with this in the past than we have...

Thoughts, comments, flames?

Cheers,

Dave.

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