----- 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