Re: [PATCH v11 38/40] btrfs: extend zoned allocator to use dedicated tree-log block group
From: Josef Bacik <josef@toxicpanda.com>
Date: 2021-01-12 19:49:30
Also in:
linux-fsdevel
From: Josef Bacik <josef@toxicpanda.com>
Date: 2021-01-12 19:49:30
Also in:
linux-fsdevel
On 12/21/20 10:49 PM, Naohiro Aota wrote:
This is the 1/3 patch to enable tree log on ZONED mode. The tree-log feature does not work on ZONED mode 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 is different timing from a global transaction commit. As a result, both writing tree-log blocks and writing other metadata blocks become non-sequential writes that ZONED mode must avoid. We can introduce a dedicated block group for tree-log blocks so that tree-log blocks and other metadata blocks can be separated 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 btrfs assign "treelog_bg" on-demand on tree-log block allocation time. This commit extends the zoned block allocator to use the block group. Signed-off-by: Johannes Thumshirn <redacted> Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
Reviewed-by: Josef Bacik <josef@toxicpanda.com> Tho if you have to touch this thing again I'd like to see a helper for clearing the fs_info->treelog_bg, since that code snippet is duplicated, but it's not a big deal. Thanks, Josef