On Wed, Oct 30, 2024 at 01:31:15PM +1030, Qu Wenruo wrote:
在 2024/10/25 17:24, iamhswang@xxxxxxxxx 写道:
From: Haisu Wang <haisuwang@xxxxxxxxxxx>
Simplify the regions mark by using cur_alloc_size only to present
the reserved but may failed to alloced extent. Remove the ram_size
as well since it is always consistent to the cur_alloc_size in the
context. Advanced the start mark in normal path until extent succeed
alloced and keep the start unchanged in error handling path.
PASSed the fstest generic/475 test for a hundred times with quota
enabled. And a modified generic/475 test by removing the sleep time
for a hundred times. About one tenth of the tests do enter the error
handling path due to fail to reserve extent.
Although this patch is already merged into for-next, it looks like the
next patch will again change the error handling, mostly render the this
one useless:
https://lore.kernel.org/linux-btrfs/2a0925f0264daf90741ed0a7ba7ed4b4888cf778.1728725060.git.wqu@xxxxxxxx/
The newer patch will change the error handling to a simpler one, so
instead of 3 regions, there will be only 2.
There will be no change needed from your side, I will update my patches
to solve the conflicts, just in case if you find the error handling is
different in the future.
Please take care of that, the only request I have is that it's done by
the end of this week so we have the code in linux-next and that a fix
should come before a refactoring (due to backports). Update for-next as
you need.