Re: ENOSPC in btrfs_drop_snapshot with 5.4.21

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2020/3/10 上午10:02, Martin Raiber wrote:
> On 10.03.2020 02:41 Qu Wenruo wrote:
>>
>> On 2020/3/10 上午8:05, Martin Raiber wrote:
>>> Hi,
>>>
>>> I get a enospc to remount-ro with 5.4.21. Details:
>> Sorry, the attached dmesg doesn't contain the transaction abort message.
>>
>> It only has the flooded ENOSPC from enospc_debug option.
>
> This isn't it?
>
> [76641.627535] BTRFS: error (device dm-0) in btrfs_drop_snapshot:5419:
> errno=-28 No space left
> [76641.627549] BTRFS info (device dm-0): forced readonly
> [...]

Sorry, forgot it's not calling btrfs_abort_transaction() but
btrfs_handle_fs_error(), thus no backtrace.

Then it's too many pinned bytes from dropped snapshot caused the problem.

And since we're holding one transaction without ending it, it prevents
ticketed space system to flush and free space.

It looks like the check in should_end_transaction() is not good enough.

Maybe Josef and Nikolay could have some better ideas on this?

Thanks,
Qu
>
>>
>> Thanks,
>> Qu
>>> Linux 5.4.21 #1 SMP Fri Feb 21 03:20:26 CET 2020 x86_64 GNU/Linux
>>>
>>> btrfs fi usage /media/btrfs (after remount-ro)
>>> Overall:
>>>     Device size:                 511.99GiB
>>>     Device allocated:            511.99GiB
>>>     Device unallocated:              0.00B
>>>     Device missing:                  0.00B
>>>     Used:                        443.68GiB
>>>     Free (estimated):             54.94GiB      (min: 54.94GiB)
>>>     Data ratio:                       1.00
>>>     Metadata ratio:                   1.00
>>>     Global reserve:              512.00MiB      (used: 0.00B)
>>>
>>> Data,single: Size:490.98GiB, Used:436.04GiB (88.81%)
>>>    /dev/mapper/LUKS-RC-cd46b6b4909845918eaa285c532476dc  490.98GiB
>>>
>>> Metadata,single: Size:21.01GiB, Used:7.65GiB (36.40%)
>>>    /dev/mapper/LUKS-RC-cd46b6b4909845918eaa285c532476dc   21.01GiB
>>>
>>> System,single: Size:4.00MiB, Used:80.00KiB (1.95%)
>>>    /dev/mapper/LUKS-RC-cd46b6b4909845918eaa285c532476dc    4.00MiB
>>>
>>> Unallocated:
>>>    /dev/mapper/LUKS-RC-cd46b6b4909845918eaa285c532476dc      0.00B
>>>
>>> Mount options:
>>> /dev/mapper/LUKS-RC-cd46b6b4909845918eaa285c532476dc on /media/btrfs
>>> type btrfs
>>> (ro,noatime,compress-force=zstd:3,nossd,space_cache=v2,enospc_debug,skip_balance,metadata_ratio=8,subvolid=5,subvol=/)
>>>
>>> btrfs fi df /media/btrfs
>>> Data, single: total=490.98GiB, used=436.04GiB
>>> System, single: total=4.00MiB, used=80.00KiB
>>> Metadata, single: total=21.01GiB, used=7.65GiB
>>> GlobalReserve, single: total=512.00MiB, used=0.00B
>>>
>>> dmesg attached.
>>>
>




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux