This patchset does things a bit differently from the previous attempts
to find the journal head based on Andreas' suggestions.

It uses a pool of bios to maintain a readahead queue of sorts that allows
us to process the completed bios in sequential order to locate the jhead.

I've done a little bit of testing and it seems to be holding up so far.
I plan to do more testing.

I haven't done a performance analysis vs the old method yet, so I don't
know how well this does. There might be some optimizations we can do w.r.t
repeated allocations and such.

Abhi Das (3):
  gfs2: add more timing info to the journal recovery process
  gfs2: add a helper function to get_log_header that can be used
    elsewhere
  gfs2: introduce bio_pool to readahead journal to find jhead

 fs/gfs2/bmap.c       |   8 +-
 fs/gfs2/incore.h     |   3 +
 fs/gfs2/lops.c       | 359 +++++++++++++++++++++++++++++++++++++++++++++++++++
 fs/gfs2/lops.h       |   1 +
 fs/gfs2/ops_fstype.c |   2 +
 fs/gfs2/recovery.c   | 171 ++++++------------------
 fs/gfs2/recovery.h   |   2 +
 fs/gfs2/sys.c        |  27 ++--
 8 files changed, 433 insertions(+), 140 deletions(-)

-- 
2.4.11

Reply via email to