diff options
| author | Andreas Gruenbacher <agruenba@redhat.com> | 2025-08-21 22:46:39 +0200 |
|---|---|---|
| committer | Andreas Gruenbacher <agruenba@redhat.com> | 2025-11-26 23:52:28 +0000 |
| commit | 3a88edc1657da9a847041ea994e66e26db9578d2 (patch) | |
| tree | 53b803efa49f97a332f6aa2970148a94b1842793 | |
| parent | bbbf1529ea9b85072e58c164a9a5d82554ffa941 (diff) | |
gfs2: Withdraw immediately in gfs2_trans_add_meta
We can now withdraw while the log is locked.
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
| -rw-r--r-- | fs/gfs2/trans.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/fs/gfs2/trans.c b/fs/gfs2/trans.c index f0cfdb5c5f2d..1cce8e0f85da 100644 --- a/fs/gfs2/trans.c +++ b/fs/gfs2/trans.c @@ -255,7 +255,6 @@ void gfs2_trans_add_meta(struct gfs2_glock *gl, struct buffer_head *bh) struct gfs2_bufdata *bd; struct gfs2_meta_header *mh; struct gfs2_trans *tr = current->journal_info; - bool withdraw = false; lock_buffer(bh); if (buffer_pinned(bh)) { @@ -296,7 +295,7 @@ void gfs2_trans_add_meta(struct gfs2_glock *gl, struct buffer_head *bh) } if (unlikely(sb->s_writers.frozen == SB_FREEZE_COMPLETE)) { fs_info(sdp, "GFS2:adding buf while frozen\n"); - withdraw = true; + gfs2_withdraw(sdp); goto out_unlock; } gfs2_pin(sdp, bd->bd_bh); @@ -306,8 +305,6 @@ void gfs2_trans_add_meta(struct gfs2_glock *gl, struct buffer_head *bh) tr->tr_num_buf_new++; out_unlock: gfs2_log_unlock(sdp); - if (withdraw) - gfs2_assert_withdraw(sdp, 0); out: unlock_buffer(bh); } |
