[Cluster-devel] [PATCH 00/14] gfs2_grow and libgfs2 rgrp API improvements
Andrew Price
anprice at redhat.com
Thu Apr 3 15:12:33 UTC 2014
Hi,
This patch set aims to do three main things:
- Improve and simplify libgfs2's rgrp APIs, bringing them closer to being proper library code
- Improve gfs2_grow using the new rgrp APIs for rgrp alignment and size calculation, larger rgrps by default, etc.
- Fix problems in libgfs2 and the utils uncovered along the way
These patches take us closer to being able to hide the implementation of the rgrp lists (currently using osi_tree.h) within libgfs2 and decoupling so that many resource group sets (lgfs2_rgrps_t's) can be manipulated independently. Bookkeeping will eventually be done by the applications instead of keeping application-specific data in the gfs2_sbd structure so this takes us closer to being able to remove sbd.rgtree and sbd.rgcalc.
Although the net diff is 284 insertions, that will be offset significantly once the old rgrp functions in libgfs2 can be removed (when fsck, convert and edit no longer use them).
I've thrown various tests at this set and added one to the in-tree test suite. Static analysis with coverity shows 1 defect fixed and 0 added.
Please review,
Andy
Andrew Price (14):
mkfs.gfs2: Make dev a member of mkfs_opts
libgfs2: Add lgfs2_space_for_data()
libgfs2: Don't try to read more than IOV_MAX iovecs
mkfs.gfs2: Fix the resource group layout strategy, again
libgfs2: Don't call gfs2_blk2rgrpd in gfs2_set_bitmap
libgfs2: Add abstractions for rgrp tree traversal
libgfs2: Split out the rindex calculation from lgfs2_rgrp_append
libgfs2: Consolidate rgrp_tree and bitstruct allocations
libgfs2: Add a lgfs2_rindex_read_fd() function
libgfs2: Const-ify the 'ri' argument to gfs2_rindex_out
libgfs2: Fix off-by-one in lgfs2_rgrps_plan
libgfs2: Stick to the (rgrp) plan in lgfs2_rindex_entry_new
gfs2_grow: Migrate to the new resource group API
gfs2_grow: Add stripe alignment
gfs2/edit/hexedit.c | 2 +-
gfs2/fsck/metawalk.c | 2 +-
gfs2/fsck/pass5.c | 6 +-
gfs2/libgfs2/buf.c | 57 ++++---
gfs2/libgfs2/fs_bits.c | 5 +-
gfs2/libgfs2/fs_ops.c | 30 +++-
gfs2/libgfs2/libgfs2.h | 31 ++--
gfs2/libgfs2/ondisk.c | 4 +-
gfs2/libgfs2/rgrp.c | 422 +++++++++++++++++++++++++++++++++++--------------
gfs2/mkfs/gfs2_mkfs.h | 1 -
gfs2/mkfs/main_grow.c | 351 +++++++++++++++++++++-------------------
gfs2/mkfs/main_mkfs.c | 227 +++++++++++++++-----------
tests/mkfs.at | 4 +
13 files changed, 713 insertions(+), 429 deletions(-)
--
1.8.5.3
More information about the Cluster-devel
mailing list