summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorNaohiro Aota <naohiro.aota@wdc.com>2021-02-04 19:22:19 +0900
committerDavid Sterba <dsterba@suse.com>2021-02-09 02:48:37 +0100
commitfa1a0f42a0356846fb1acd1d53061d53413a4c45 (patch)
tree9c6b0a69cc44acc3b2d8bea30baa781af5651125 /Documentation
parent40ab3be102f0a61dbb93093f330b432324a793f1 (diff)
downloadlinux-fa1a0f42a0356846fb1acd1d53061d53413a4c45.tar.gz
linux-fa1a0f42a0356846fb1acd1d53061d53413a4c45.tar.bz2
linux-fa1a0f42a0356846fb1acd1d53061d53413a4c45.zip
btrfs: zoned: serialize log transaction on zoned filesystems
This is the 2/3 patch to enable tree-log on zoned filesystems. Since we can start more than one log transactions per subvolume simultaneously, nodes from multiple transactions can be allocated interleaved. Such mixed allocation results in non-sequential writes at the time of a log transaction commit. The nodes of the global log root tree (fs_info->log_root_tree), also have the same problem with mixed allocation. Serializes log transactions by waiting for a committing transaction when someone tries to start a new transaction, to avoid the mixed allocation problem. We must also wait for running log transactions from another subvolume, but there is no easy way to detect which subvolume root is running a log transaction. So, this patch forbids starting a new log transaction when other subvolumes already allocated the global log root tree. Reviewed-by: Josef Bacik <josef@toxicpanda.com> Reviewed-by: Filipe Manana <fdmanana@suse.com> Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'Documentation')
0 files changed, 0 insertions, 0 deletions