]> git.baikalelectronics.ru Git - kernel.git/commit
btrfs: ensure removal of discardable_* in free_bitmap()
authorDennis Zhou <dennis@kernel.org>
Thu, 2 Jan 2020 21:26:45 +0000 (16:26 -0500)
committerDavid Sterba <dsterba@suse.com>
Mon, 20 Jan 2020 15:41:01 +0000 (16:41 +0100)
commit26b43c0a0c2e7881fb0c5e3b88db671a0ea01e8a
treeba463d971d6924219069694774648100583fe3f6
parenta7679ae52d2c950021fe4524231ac1246c52d34c
btrfs: ensure removal of discardable_* in free_bitmap()

Most callers of free_bitmap() only call it if bitmap_info->bytes is 0.
However, there are certain cases where we may free the free space cache
via __btrfs_remove_free_space_cache(). This exposes a path where
free_bitmap() is called regardless. This may result in a bad accounting
situation for discardable_bytes and discardable_extents. So, remove the
stats and call btrfs_discard_update_discardable().

Signed-off-by: Dennis Zhou <dennis@kernel.org>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/free-space-cache.c