4.18-stable review patch. If anyone has any objections, please let me know.
------------------
From: Josef Bacik jbacik@fb.com
commit 553cceb49681d60975d00892877d4c871bf220f9 upstream.
We need to clear the max_extent_size when we clear bits from a bitmap since it could have been from the range that contains the max_extent_size.
CC: stable@vger.kernel.org # 4.4+ Reviewed-by: Liu Bo bo.liu@linux.alibaba.com Signed-off-by: Josef Bacik jbacik@fb.com Signed-off-by: David Sterba dsterba@suse.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
--- fs/btrfs/free-space-cache.c | 2 ++ 1 file changed, 2 insertions(+)
--- a/fs/btrfs/free-space-cache.c +++ b/fs/btrfs/free-space-cache.c @@ -1694,6 +1694,8 @@ static inline void __bitmap_clear_bits(s bitmap_clear(info->bitmap, start, count);
info->bytes -= bytes; + if (info->max_extent_size > ctl->unit) + info->max_extent_size = 0; }
static void bitmap_clear_bits(struct btrfs_free_space_ctl *ctl,