gfs2: Remove active journal side effect from gfs2_write_log_header
authorAndreas Gruenbacher <agruenba@redhat.com>
Wed, 28 Aug 2019 20:21:34 +0000 (22:21 +0200)
committerAndreas Gruenbacher <agruenba@redhat.com>
Tue, 12 Nov 2019 14:17:53 +0000 (15:17 +0100)
commit19ebc050e48c3ae05b9c854001c0893127d118d6
tree06c856d0850cafa59491bb4c1e3384b72b52a5ab
parent184b4e60853dfeef36b96948ab8fedb7e271063c
gfs2: Remove active journal side effect from gfs2_write_log_header

Function gfs2_write_log_header can be used to write a log header into any of
the journals of a filesystem.  When used on the node's own journal,
gfs2_write_log_header advances the current position in the log
(sdp->sd_log_flush_head) as a side effect, through function gfs2_log_bmap.

This is confusing, and it also means that we can't use gfs2_log_bmap for other
journals even if they have an extent map.  So clean this mess up by not
advancing sdp->sd_log_flush_head in gfs2_write_log_header or gfs2_log_bmap
anymore and making that a responsibility of the callers instead.

This is related to commit 7c70b896951c ("gfs2: clean_journal improperly set
sd_log_flush_head").

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
fs/gfs2/log.c
fs/gfs2/lops.c
fs/gfs2/lops.h
fs/gfs2/recovery.c