diff options
author | Dennis Zhou <dennis@kernel.org> | 2019-12-13 16:22:16 -0800 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2020-01-20 16:40:58 +0100 |
commit | 2bee7eb8bb8185679ea282b8ccff6bfabcf52a63 (patch) | |
tree | 606abc4a2ca8b5203a8749d0b8138d40e0e0d70e /lib/crc64.c | |
parent | 6e80d4f8c422d3b2b0c37324d3243f5ed9b558c8 (diff) |
btrfs: discard one region at a time in async discard
The prior two patches added discarding via a background workqueue. This
just piggybacked off of the fstrim code to trim the whole block at once.
Well inevitably this is worse performance wise and will aggressively
overtrim. But it was nice to plumb the other infrastructure to keep the
patches easier to review.
This adds the real goal of this series which is discarding slowly (ie. a
slow long running fstrim). The discarding is split into two phases,
extents and then bitmaps. The reason for this is two fold. First, the
bitmap regions overlap the extent regions. Second, discarding the
extents first will let the newly trimmed bitmaps have the highest chance
of coalescing when being readded to the free space cache.
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Dennis Zhou <dennis@kernel.org>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'lib/crc64.c')
0 files changed, 0 insertions, 0 deletions