[Cluster-devel] [PATCH 00/14] gfs2_grow and libgfs2 rgrp API improvements
Bob Peterson
rpeterso at redhat.com
Mon Apr 7 15:15:45 UTC 2014
----- Original Message -----
> 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
>
>
Hi,
I can't say I followed it all, but it looks like a good approach. Good job.
Regards,
Bob Peterson
Red Hat File Systems
More information about the Cluster-devel
mailing list