]> git.ipfire.org Git - thirdparty/linux.git/commit - fs/btrfs/block-group.c
btrfs: rename member 'trimming' of block group to a more generic name
authorFilipe Manana <fdmanana@suse.com>
Fri, 8 May 2020 10:01:47 +0000 (11:01 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 25 May 2020 09:25:29 +0000 (11:25 +0200)
commit6b7304af62d02d77d740defd4cfddf2ef3188067
tree506f1d0997d5df2f51919a7286f52dca5759f0e2
parent2473d24f2b77da0ffabcbb916793e58e7f57440b
btrfs: rename member 'trimming' of block group to a more generic name

Back in 2014, commit 04216820fe83d5 ("Btrfs: fix race between fs trimming
and block group remove/allocation"), I added the 'trimming' member to the
block group structure. Its purpose was to prevent races between trimming
and block group deletion/allocation by pinning the block group in a way
that prevents its logical address and device extents from being reused
while trimming is in progress for a block group, so that if another task
deletes the block group and then another task allocates a new block group
that gets the same logical address and device extents while the trimming
task is still in progress.

After the previous fix for scrub (patch "btrfs: fix a race between scrub
and block group removal/allocation"), scrub now also has the same needs that
trimming has, so the member name 'trimming' no longer makes sense.
Since there is already a 'pinned' member in the block group that refers
to space reservations (pinned bytes), rename the member to 'frozen',
add a comment on top of it to describe its general purpose and rename
the helpers to increment and decrement the counter as well, to match
the new member name.

The next patch in the series will move the helpers into a more suitable
file (from free-space-cache.c to block-group.c).

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/block-group.c
fs/btrfs/block-group.h
fs/btrfs/ctree.h
fs/btrfs/extent-tree.c
fs/btrfs/free-space-cache.c
fs/btrfs/scrub.c
fs/btrfs/transaction.c