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