In terms of savemeta this is a half-finished patch set to improve performance, 
but the libgfs2 improvements are important for other work (and I want to push 
these patches as a reasonable checkpoint before switching to other work).

The theme here is to remove the bi_bh field from struct gfs2_bitmap (a lot of 
all-or-nothing churn needed there) and manage the whole resource group bitmap 
as one multi-block allocation, so that we can speed up processing of the 
resource groups and simplify memory management thereof.

The next stages will be to improve performance in save_indirect_blocks() and 
save_block() using a similar "extent" based approach instead of going 
block-by-block. That will need a similar amount of all-or-nothing churn to kick 
the dependency on single-block bh's down the call chain.

Andrew Price (5):
  libgfs2: Don't use bh's in gfs_rgrp_in/out
  libgfs2: Remove bi_bh from struct gfs2_bitmap
  savemeta: Save rgrps without using gfs2_buffer_heads
  savemeta: Check file format version properly
  savemeta: Use larger buffers for gzip compression

 gfs2/convert/gfs2_convert.c |  48 ++++++------
 gfs2/edit/extended.c        |  14 ++--
 gfs2/edit/hexedit.c         |  50 ++++++-------
 gfs2/edit/journal.c         |   8 +-
 gfs2/edit/savemeta.c        | 141 +++++++++++++++++++-----------------
 gfs2/fsck/fs_recovery.c     |  11 ++-
 gfs2/fsck/initialize.c      |  29 ++++----
 gfs2/fsck/metawalk.c        |   6 +-
 gfs2/fsck/pass5.c           |   7 +-
 gfs2/fsck/rgrepair.c        | 126 ++++++++++++++++++--------------
 gfs2/fsck/util.c            |   5 +-
 gfs2/libgfs2/fs_bits.c      |   8 +-
 gfs2/libgfs2/fs_geometry.c  |  25 +------
 gfs2/libgfs2/fs_ops.c       |  24 +++---
 gfs2/libgfs2/gfs1.c         |  19 ++---
 gfs2/libgfs2/gfs2l.c        |   2 +-
 gfs2/libgfs2/lang.c         |   2 +-
 gfs2/libgfs2/libgfs2.h      |  21 +++---
 gfs2/libgfs2/ondisk.c       |   4 +-
 gfs2/libgfs2/rgrp.c         | 141 ++++++++++++++++--------------------
 gfs2/libgfs2/structures.c   |   3 +-
 gfs2/libgfs2/super.c        |   2 +-
 tests/check_rgrp.c          |   6 +-
 23 files changed, 345 insertions(+), 357 deletions(-)

-- 
2.26.2

Reply via email to