Re: [PATCH 00/23][v4] Change data reservations to use the ticketing infra

David Sterba
2020-08-13T15:15:48Z

On Tue, Jul 21, 2020 at 10:22:11AM -0400, Josef Bacik wrote:
> v3->v4:
> - Rebased onto a recent misc-next, slight fixup because of commenting around the
> flush states.
>
> v2->v3:
> - Rebased onto a recent misc-next
>
> v1->v2:
> - Adjusted a comment in may_commit_transaction.
> - Fixed one of the intermediate patches to properly update ->reclaim_size.
>
> We've had two different things in place to reserve data and metadata space,
> because generally speaking data is much simpler. However the data reservations
> still suffered from the same issues that plagued metadata reservations, you
> could get multiple tasks racing in to get reservations. This causes problems
> with cases like write/delete loops where we should be able to fill up the fs,
> delete everything, and go again. You would sometimes race with a flusher that's
> trying to unpin the free space, take it's reservations, and then it would fail.
>
> Fix this by moving the data reservations under the metadata ticketing
> infrastructure. This gets rid of that problem, and simplifies our enospc code
> more by consolidating it into a single path. Thanks,

V4 was in for-next so it got some testing coverage, though I haven't
done enospc targeted tests. I'm going to go through this series and put
it to misc-next once rc1 is out.