From: Bob Peterson <rpeterso@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [GFS2 v8 PATCH 00/22] GFS2 Recovery corruption patches v8
Date: Mon, 9 Dec 2019 09:36:38 -0600 [thread overview]
Message-ID: <20191209153700.700208-1-rpeterso@redhat.com> (raw)
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
next reply other threads:[~2019-12-09 15:36 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-09 15:36 Bob Peterson [this message]
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 01/22] gfs2: Introduce concept of a pending withdraw Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 02/22] gfs2: clear ail1 list when gfs2 withdraws Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 03/22] gfs2: Rework how rgrp buffer_heads are managed Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 04/22] gfs2: log error reform Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 05/22] gfs2: Only complain the first time an io error occurs in quota or log Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 06/22] gfs2: Ignore dlm recovery requests if gfs2 is withdrawn Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 07/22] gfs2: move check_journal_clean to util.c for future use Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 08/22] gfs2: Allow some glocks to be used during withdraw Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 09/22] gfs2: Make secondary withdrawers wait for first withdrawer Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 10/22] gfs2: Force withdraw to replay journals and wait for it to finish Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 11/22] gfs2: fix infinite loop when checking ail item count before go_inval Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 12/22] gfs2: Add verbose option to check_journal_clean Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 13/22] gfs2: Issue revokes more intelligently Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 14/22] gfs2: Prepare to withdraw as soon as an IO error occurs in log write Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 15/22] gfs2: Check for log write errors before telling dlm to unlock Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 16/22] gfs2: new slab for transactions Bob Peterson
2020-01-23 22:22 ` Andreas Gruenbacher
2020-01-24 13:45 ` Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 17/22] gfs2: Do log_flush in gfs2_ail_empty_gl even if ail list is empty Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 18/22] gfs2: Don't skip log flush if glock still has revokes Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 19/22] gfs2: Withdraw in gfs2_ail1_flush if write_cache_pages returns error Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 20/22] gfs2: drain the ail2 list after io errors Bob Peterson
2019-12-09 15:36 ` [Cluster-devel] [GFS2 v8 PATCH 21/22] gfs2: Don't demote a glock until its revokes are written Bob Peterson
2019-12-09 15:37 ` [Cluster-devel] [GFS2 v8 PATCH 22/22] gfs2: Do proper error checking for go_sync family of glops functions Bob Peterson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191209153700.700208-1-rpeterso@redhat.com \
--to=rpeterso@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).