Skip to content

xfs: refactor and tablise growfs

Dave Chinner linux-xfs 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest10 patches 3 repliesIn review
  2. v21 patch 0 repliesSuperseded
  3. v17 patches 24 repliesSuperseded

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/10xfs: one-shot cached buffersfs/xfs/xfs_buf.h+12 -00 replies
2/10xfs: factor out AG header initialisation from growfs corefs/xfs/xfs_fsops.c+331 -3061 reply
3/10xfs: convert growfs AG header init to use buffer listsfs/xfs/xfs_fsops.c+33 -410 replies
4/10xfs: factor ag btree root block initialisationfs/xfs/xfs_fsops.c+259 -2221 reply
5/10xfs: turn ag header initialisation into a table driven operationfs/xfs/xfs_fsops.c+92 -901 reply
6/10xfs: make imaxpct changes in growfs separatefs/xfs/xfs_fsops.c+50 -190 replies
7/10xfs: separate secondary sb update in growfsfs/xfs/xfs_fsops.c+92 -670 replies
8/10xfs: rework secondary superblock updates in growfsfs/xfs/xfs_fsops.c+65 -370 replies
9/10xfs: move growfs core to libxfsfs/xfs/Makefile fs/xfs/libxfs/xfs_ag.c fs/xfs/libxfs/xfs_ag.h +3 more+516 -4750 replies
10/10xfs: factor the ag length extension code into libxfsfs/xfs/libxfs/xfs_ag.c fs/xfs/libxfs/xfs_ag.h fs/xfs/xfs_fsops.c+68 -570 replies

Reviews trailers per patch

All 10 patches have a Reviewed-by or Acked-by.

PatchDarrick J. WongBrian Foster
1/10R-b
2/10R-b R-b
3/10R-b R-b
4/10R-b
5/10R-b R-b
6/10R-b
7/10R-b
8/10R-b
9/10R-b
10/10R-b

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

Read the v3 thread

Cover letter [PATCH 0/10 v3] xfs: refactor and tablise growfs

THis is the third version of the growfs tablisation patchset, addressing the changes that Darrick raised. I've reposted the entire patchset because changes in early patches cascaded throw several others and it was just easier to repost the lot.

Version 3:
- fix agno variable to use xfs_agnumber_t
- change ag header table to use expanded definitions
- dropped numrecs from tables as they are always either zero or hard coded by type specific block initialisers.

Version 2:
- rebase on current for-next
- add oneshot cached buffer support
- clean up more of the typedef usage.
- move id->nfree calc to per-ag hdr init function from the freespace btree root initialisation.
- only use id->type and id->numrecs for the generic btree root block init calls.
- only call xfs_growfs_data_private() if the size is actually being changed.
- make sure we still update secondary superblocks if physical grow fails with ENOSPC.
- change secondary superblock updates to use cached one-shot buffers.
- moved the core code to libxfs so it can be shared easily with userspace.

Version 1:
https://marc.info/?l=linux-xfs&m=151746732826277&w=2