On 30.01.20 г. 1:50 ч., Josef Bacik wrote: > If we have compression on we could free up more space than we reserved, > and thus be able to make a space reservation. Add the call for this > scenario. > > Signed-off-by: Josef Bacik <josef@xxxxxxxxxxxxxx> Reviewed-by: Nikolay Borisov <nborisov@xxxxxxxx> > --- > fs/btrfs/block-group.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c > index 616d0dd69394..aca4510f1f2d 100644 > --- a/fs/btrfs/block-group.c > +++ b/fs/btrfs/block-group.c > @@ -2899,6 +2899,13 @@ int btrfs_add_reserved_bytes(struct btrfs_block_group *cache, > space_info, -ram_bytes); > if (delalloc) > cache->delalloc_bytes += num_bytes; > + > + /* > + * Compression can use less space than we reserved, so wake > + * tickets if that happens. > + */ > + if (num_bytes < ram_bytes) > + btrfs_try_granting_tickets(cache->fs_info, space_info); > } > spin_unlock(&cache->lock); > spin_unlock(&space_info->lock); >
