diff options
author | Naohiro Aota <naohiro.aota@wdc.com> | 2021-02-04 13:22:18 +0300 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2021-02-09 04:46:08 +0300 |
commit | 40ab3be102f0a61dbb93093f330b432324a793f1 (patch) | |
tree | b7b92c35cdf2845fa4da3febca37f0b288d0e359 /arch/riscv/kernel | |
parent | 6ab6ebb76042d3d94a7c6c447f770a28a412c68c (diff) | |
download | linux-40ab3be102f0a61dbb93093f330b432324a793f1.tar.xz |
btrfs: zoned: extend zoned allocator to use dedicated tree-log block group
This is the 1/3 patch to enable tree log on zoned filesystems.
The tree-log feature does not work on a zoned filesystem as is. Blocks for
a tree-log tree are allocated mixed with other metadata blocks and btrfs
writes and syncs the tree-log blocks to devices at the time of fsync(),
which has a different timing than a global transaction commit. As a
result, both writing tree-log blocks and writing other metadata blocks
become non-sequential writes that zoned filesystems must avoid.
Introduce a dedicated block group for tree-log blocks, so that tree-log
blocks and other metadata blocks can be separate write streams. As a
result, each write stream can now be written to devices separately.
"fs_info->treelog_bg" tracks the dedicated block group and assigns
"treelog_bg" on-demand on tree-log block allocation time.
This commit extends the zoned block allocator to use the block group.
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'arch/riscv/kernel')
0 files changed, 0 insertions, 0 deletions