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

From: Hongzhi, Song
Date: Wed Sep 04 2019 - 21:36:48 EST



On 9/4/19 6:48 PM, Josef Bacik wrote:
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


Ok, thank your, I will try to search them.

--Hongzhi