diff --git a/fs/jbd2/checkpoint.c b/fs/jbd2/checkpoint.c index a87a39f028b9646500e25f4e35c42a4c93595330..b7e1a2bdd7fbd87b04588c6bb8bd842c2a254cc4 100644 --- a/fs/jbd2/checkpoint.c +++ b/fs/jbd2/checkpoint.c @@ -639,6 +639,8 @@ int jbd2_journal_try_remove_checkpoint(struct journal_head *jh) { struct buffer_head *bh = jh2bh(jh); + if (jh->b_transaction) + return -EBUSY; if (!trylock_buffer(bh)) return -EBUSY; if (buffer_dirty(bh)) {