[Cluster-devel] [GFS2 v8 PATCH 00/22] GFS2 Recovery corruption patches v8
Bob Peterson
rpeterso at redhat.com
Mon Dec 9 15:36:38 UTC 2019
Now that Linus has merged our latest for-next patches, I thought I'd
send out my latest patches for the recovery / journal replay corruption
problems. I also pushed them to a "for-next.recovery13b" branch in case
people want to check that out or cherry-pick from it.
Like before, some of these may be pushed separately, but many build upon
others, so it may be tricky.
The most important patch in this set is the last one:
gfs2: Do proper error checking for go_sync family of glops functions.
This recovery patch set has been extensively tested in rhel8 recovery
situations.
Bob Peterson (22):
gfs2: Introduce concept of a pending withdraw
gfs2: clear ail1 list when gfs2 withdraws
gfs2: Rework how rgrp buffer_heads are managed
gfs2: log error reform
gfs2: Only complain the first time an io error occurs in quota or log
gfs2: Ignore dlm recovery requests if gfs2 is withdrawn
gfs2: move check_journal_clean to util.c for future use
gfs2: Allow some glocks to be used during withdraw
gfs2: Make secondary withdrawers wait for first withdrawer
gfs2: Force withdraw to replay journals and wait for it to finish
gfs2: fix infinite loop when checking ail item count before go_inval
gfs2: Add verbose option to check_journal_clean
gfs2: Issue revokes more intelligently
gfs2: Prepare to withdraw as soon as an IO error occurs in log write
gfs2: Check for log write errors before telling dlm to unlock
gfs2: new slab for transactions
gfs2: Do log_flush in gfs2_ail_empty_gl even if ail list is empty
gfs2: Don't skip log flush if glock still has revokes
gfs2: Withdraw in gfs2_ail1_flush if write_cache_pages returns error
gfs2: drain the ail2 list after io errors
gfs2: Don't demote a glock until its revokes are written
gfs2: Do proper error checking for go_sync family of glops functions
fs/gfs2/glock.c | 123 ++++++++++++++++++----
fs/gfs2/glops.c | 148 ++++++++++++++++++++++-----
fs/gfs2/incore.h | 20 +++-
fs/gfs2/lock_dlm.c | 52 ++++++++++
fs/gfs2/log.c | 221 +++++++++++++++++++++++++++-------------
fs/gfs2/log.h | 1 +
fs/gfs2/lops.c | 12 ++-
fs/gfs2/main.c | 23 +++++
fs/gfs2/meta_io.c | 2 +-
fs/gfs2/ops_fstype.c | 55 ++--------
fs/gfs2/quota.c | 8 +-
fs/gfs2/recovery.c | 5 +
fs/gfs2/rgrp.c | 60 +++++++----
fs/gfs2/rgrp.h | 1 -
fs/gfs2/super.c | 73 ++++++++++----
fs/gfs2/trans.c | 32 ++++--
fs/gfs2/trans.h | 1 +
fs/gfs2/util.c | 235 +++++++++++++++++++++++++++++++++++++++++--
fs/gfs2/util.h | 7 +-
19 files changed, 852 insertions(+), 227 deletions(-)
--
2.23.0
More information about the Cluster-devel
mailing list