Re: Bug?: unlink cause btrfs error but other fs don't

From: Josef Bacik
Date: Wed Sep 04 2019 - 06:48:48 EST


On Wed, Sep 04, 2019 at 04:02:24PM +0800, Hongzhi, Song wrote:
> Hi ,
>
>
> *Kernel:*
>
>     After v5.2-rc1, qemux86-64
>
>     make -j40 ARCH=x86_64 CROSS_COMPILE=x86-64-gcc
>     use qemu to bootup kernel
>
>
> *Reproduce:*
>
>     There is a test case failed on btrfs but success on other fs(ext4,ext3),
> see attachment.
>
>
>     Download attachments:
>
>         gcc test.c -o myout -Wall -lpthread
>
>         copy myout and run.sh to your qemu same directory.
>
>         on qemu:
>
>             ./run.sh
>
>
>     I found the block device size with btrfs set 512M will cause the error.
>     256M and 1G all success.
>
>
> *Error info:*
>
>     "BTRFS warning (device loop0): could not allocate space for a delete;
> will truncate on mount"
>
>
> *Related patch:*
>
>     I use git bisect to find the following patch introduces the issue.
>
>     commit c8eaeac7b734347c3afba7008b7af62f37b9c140
>     Author: Josef Bacik <josef@xxxxxxxxxxxxxx>
>     Date:   Wed Apr 10 15:56:10 2019 -0400
>
>         btrfs: reserve delalloc metadata differently
>         ...
>
>

I meant to reply to this but couldn't find the original thread. The patches I
wrote for this merge window were to address this issue. Thanks,

Josef