diff options
author | Andreas Gruenbacher <agruenba@redhat.com> | 2020-12-11 01:36:25 +0100 |
---|---|---|
committer | Andreas Gruenbacher <agruenba@redhat.com> | 2021-02-03 18:37:24 +0100 |
commit | 4a3d049db42b42a36ae84eb8b59d2f5119737253 (patch) | |
tree | 3bc3f8888c6b382d2a132c600c3bc39b11d8ab12 /fs/gfs2 | |
parent | c1eba1b0bca59316f34aa6f70fe5004abba8082d (diff) | |
download | linux-stable-4a3d049db42b42a36ae84eb8b59d2f5119737253.tar.gz linux-stable-4a3d049db42b42a36ae84eb8b59d2f5119737253.tar.bz2 linux-stable-4a3d049db42b42a36ae84eb8b59d2f5119737253.zip |
gfs2: Don't wait for journal flush in clean_journal
Commit 588bff95c94e added gfs2_write_log_header() and started using it in
clean_journal(), with an additional call to log_flush_wait() at the end of
gfs2_write_log_header() which is unnecessary for clean_journal(). Move
that call out of gfs2_write_log_header() to restore the previous behavior.
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Diffstat (limited to 'fs/gfs2')
-rw-r--r-- | fs/gfs2/log.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c index e7183c84ffc0..cff95889b6f4 100644 --- a/fs/gfs2/log.c +++ b/fs/gfs2/log.c @@ -757,7 +757,7 @@ void gfs2_write_log_header(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd, u64 dblock; if (gfs2_withdrawn(sdp)) - goto out; + return; page = mempool_alloc(gfs2_page_pool, GFP_NOIO); lh = page_address(page); @@ -812,8 +812,6 @@ void gfs2_write_log_header(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd, gfs2_log_write(sdp, page, sb->s_blocksize, 0, dblock); gfs2_log_submit_bio(&sdp->sd_log_bio, REQ_OP_WRITE | op_flags); -out: - log_flush_wait(sdp); } /** @@ -842,6 +840,7 @@ static void log_write_header(struct gfs2_sbd *sdp, u32 flags) gfs2_write_log_header(sdp, sdp->sd_jdesc, sdp->sd_log_sequence++, tail, sdp->sd_log_flush_head, flags, op_flags); gfs2_log_incr_head(sdp); + log_flush_wait(sdp); if (sdp->sd_log_tail != tail) log_pull_tail(sdp, tail); |