Re: [PATCH] btrfs: limit device extents to the device size

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

 



On Wed, Jan 18, 2023 at 04:35:13PM -0500, Josef Bacik wrote:
> There was a recent regression in btrfs/177 that started happening with
> the size class patches.  This however isn't a regression introduced by
> those patches, but rather the bug was uncovered by a change in behavior
> in these patches.  The patches triggered more chunk allocations in the
> ^free-space-tree case, which uncovered a race with device shrink.
> 
> The problem is we will set the device total size to the new size, and
> use this to find a hole for a device extent.  However during shrink we
> may have device extents allocated past this range, so we could
> potentially find a hole in a range past our new shrink size.  We don't
> actually limit our found extent to the device size anywhere, we assume
> that we will not find a hole past our device size.  This isn't true with
> shrink as we're relocating block groups and thus creating holes past the
> device size.
> 
> Fix this by making sure we do not search past the new device size, and
> if we wander into any device extents that start after our device size
> simply break from the loop and use whatever hole we've already found.
> 
> cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Josef Bacik <josef@xxxxxxxxxxxxxx>

Added to misc-next, thanks.



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux