On Thu, Sep 6, 2018 at 11:50 AM, Nikolay Borisov <nbori...@suse.com> wrote:
>
>
> On  6.09.2018 09:47, Liu Bo wrote:
>> 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.
>
> What exactly was the crash ?
>

assertion failed: list_empty(&block_group->bg_list), file:
fs/btrfs/extent-tree.c,

kernel BUG at fs/btrfs/ctree.h:3427!
...
close_ctree+0x142/0x310 [btrfs]

thanks,
liubo



>>
>> [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
>>>>
>>

Reply via email to