Hi Nikolay,

>

There were multiple fixes from Josef recently improving btrfs enospc
handling with tiny filesystems (which is generally not the targeted use
case of btrfs). The code lives in
https://github.com/kdave/btrfs-devel/commits/misc-next  should you want
to test it. Otherwise re-test after next merge windows when those
patches are supposed to be merged for 5.4

>


Thank for your reply, I will keep eyes on the branch.

ps: this email is my simply testcase from ltp


--Hongzhi


On 9/4/19 4:02 PM, 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 <jo...@toxicpanda.com>
    Date:   Wed Apr 10 15:56:10 2019 -0400

        btrfs: reserve delalloc metadata differently
        ...


Anyone's reply will be appreciated.

--Hongzhi

Reply via email to