On Wed, Sep 5, 2018 at 10:45 PM, Liu Bo <obuil.li...@gmail.com> wrote: > Somehow this ends up with crash in btrfs/124, I'm trying to figure out > what went wrong. >
It revealed the problem addressed in Josef's patch[1], so with it, this patch works just fine. [1] btrfs: make sure we create all new bgs thanks, liubo > > On Tue, Sep 4, 2018 at 6:14 PM, Liu Bo <bo....@linux.alibaba.com> wrote: >> __btrfs_end_transaction() has done the metadata release twice, >> probably because it used to process delayed refs in between, but now >> that we don't process delayed refs any more, the 2nd release is always >> a noop. >> >> Signed-off-by: Liu Bo <bo....@linux.alibaba.com> >> --- >> fs/btrfs/transaction.c | 6 ------ >> 1 file changed, 6 deletions(-) >> >> diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c >> index bb1b9f526e98..94b036a74d11 100644 >> --- a/fs/btrfs/transaction.c >> +++ b/fs/btrfs/transaction.c >> @@ -826,12 +826,6 @@ static int __btrfs_end_transaction(struct >> btrfs_trans_handle *trans, >> return 0; >> } >> >> - btrfs_trans_release_metadata(trans); >> - trans->block_rsv = NULL; >> - >> - if (!list_empty(&trans->new_bgs)) >> - btrfs_create_pending_block_groups(trans); >> - >> trans->delayed_ref_updates = 0; >> if (!trans->sync) { >> must_run_delayed_refs = >> -- >> 1.8.3.1 >>