From: Bob Peterson <rpeterso@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [GFS2 PATCH 1/5] gfs2: don't lock sd_log_flush_lock in try_rgrp_unlink
Date: Thu, 26 Mar 2020 13:40:16 -0500 [thread overview]
Message-ID: <20200326184020.123544-2-rpeterso@redhat.com> (raw)
In-Reply-To: <20200326184020.123544-1-rpeterso@redhat.com>
In function try_rgrp_unlink, we added a temporary lock of the
sd_log_flush_lock while searching the bitmaps. This protected us from
problems in which dinodes being freed were still in a state of flux
because the rgrp was in an active transaction. It was a kludge.
Now that we've straightened out the code for inode eviction, deletes,
and all the recovery mess, we no longer need this kludge.
This patch removes it, and should improve performance.
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
---
fs/gfs2/rgrp.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
index 692dc11d0f13..a321c34e3d6e 100644
--- a/fs/gfs2/rgrp.c
+++ b/fs/gfs2/rgrp.c
@@ -1806,10 +1806,8 @@ static void try_rgrp_unlink(struct gfs2_rgrpd *rgd, u64 *last_unlinked, u64 skip
struct gfs2_rbm rbm = { .rgd = rgd, .bii = 0, .offset = 0 };
while (1) {
- down_write(&sdp->sd_log_flush_lock);
error = gfs2_rbm_find(&rbm, GFS2_BLKST_UNLINKED, NULL, NULL,
true);
- up_write(&sdp->sd_log_flush_lock);
if (error == -ENOSPC)
break;
if (WARN_ON_ONCE(error))
--
2.25.1
next prev parent reply other threads:[~2020-03-26 18:40 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-26 18:40 [Cluster-devel] [GFS2 PATCH 0/5] gfs2; jdata io deadlocks Bob Peterson
2020-03-26 18:40 ` Bob Peterson [this message]
2020-03-26 18:40 ` [Cluster-devel] [GFS2 PATCH 2/5] gfs2: instrumentation wrt ail1 stuck Bob Peterson
2020-03-26 18:40 ` [Cluster-devel] [GFS2 PATCH 3/5] gfs2: change from write to read lock for sd_log_flush_lock in journal replay Bob Peterson
2020-03-26 18:40 ` [Cluster-devel] [GFS2 PATCH 4/5] gfs2: special log flush sequence to protect jdata writes Bob Peterson
2020-03-27 21:38 ` Andreas Gruenbacher
2020-03-26 18:40 ` [Cluster-devel] [GFS2 PATCH 5/5] gfs2: implement special transaction type for jdata sync writes 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=20200326184020.123544-2-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).