Thread (86 messages) 86 messages, 7 authors, 2021-01-15

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

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help