cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
* [Cluster-devel] [GFS2 PATCH] gfs2: clean_journal was setting sd_log_flush_head replaying other journals
       [not found] <2111109334.15178965.1553528367387.JavaMail.zimbra@redhat.com>
@ 2019-03-25 15:40 ` Bob Peterson
  0 siblings, 0 replies; only message in thread
From: Bob Peterson @ 2019-03-25 15:40 UTC (permalink / raw)
  To: cluster-devel.redhat.com

Hi,

Function clean_journal was setting the value of sd_log_flush_head,
but that's only a valid thing to do if it is replaying its own journal.
If it's replaying another node's journal, that's completely wrong and
will lead to multiple problems.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
---
 fs/gfs2/recovery.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/fs/gfs2/recovery.c b/fs/gfs2/recovery.c
index 7389e445a7a7..0595e3a2bc0a 100644
--- a/fs/gfs2/recovery.c
+++ b/fs/gfs2/recovery.c
@@ -264,8 +264,10 @@ static void clean_journal(struct gfs2_jdesc *jd,
 {
 	struct gfs2_sbd *sdp = GFS2_SB(jd->jd_inode);
 
-	sdp->sd_log_flush_head = head->lh_blkno;
-	gfs2_replay_incr_blk(jd, &sdp->sd_log_flush_head);
+	if (jd->jd_jid == sdp->sd_lockstruct.ls_jid) {
+		sdp->sd_log_flush_head = head->lh_blkno;
+		gfs2_replay_incr_blk(jd, &sdp->sd_log_flush_head);
+	}
 	gfs2_write_log_header(sdp, jd, head->lh_sequence + 1, 0,
 			      GFS2_LOG_HEAD_UNMOUNT | GFS2_LOG_HEAD_RECOVERY,
 			      REQ_PREFLUSH | REQ_FUA | REQ_META | REQ_SYNC);



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2019-03-25 15:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <2111109334.15178965.1553528367387.JavaMail.zimbra@redhat.com>
2019-03-25 15:40 ` [Cluster-devel] [GFS2 PATCH] gfs2: clean_journal was setting sd_log_flush_head replaying other journals Bob Peterson

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).