Re: [PATCH 13/23] btrfs: add flushing states for handling data reservations

Nikolay Borisov
2020-02-03T14:00:33Z

On 1.02.20 г. 0:36 ч., Josef Bacik wrote:
> Currently the way we do data reservations is by seeing if we have enough
> space in our space_info. If we do not and we're a normal inode we'll
>
> 1) Attempt to force a chunk allocation until we can't anymore.
> 2) If that fails we'll flush delalloc, then commit the transaction, then
> run the delayed iputs.
>
> If we are a free space inode we're only allowed to force a chunk
> allocation. In order to use the normal flushing mechanism we need to
> encode this into a flush state array for normal inodes. Since both will
> start with allocating chunks until the space info is full there is no
> need to add this as a flush state, this will be handled specially.
>
> Signed-off-by: Josef Bacik <josef@toxicpanda.com>

Reviewed-by: Nikolay Borisov <nborisov@suse.com>