Message ID | cover.1733929327.git.fdmanana@suse.com (mailing list archive) |
---|---|
Headers | show |
Series | btrfs: fixes around swap file activation and cleanups | expand |
在 2024/12/12 01:34, fdmanana@kernel.org 写道: > From: Filipe Manana <fdmanana@suse.com> > > There are a couple issues with swap file activation, one being races with > memory mapped writes, while the other one is a failure due to buggy > detection of extent sharedness - we can often consider an extent as shared > when it is not but it used to be. The rest are just some cleanups or > enhancements. > > V2: Updated patch 10/11, it mentioned a no longer existing argument that > removed in patch 05/11, the patches were re-ordered at some point. Reviewed-by: Qu Wenruo <wqu@suse.com> > > Filipe Manana (11): > btrfs: fix race with memory mapped writes when activating swap file > btrfs: fix swap file activation failure due to extents that used to be shared > btrfs: allow swap activation to be interruptible > btrfs: avoid monopolizing a core when activating a swap file > btrfs: remove no longer needed strict argument from can_nocow_extent() Very happy we can get rid of one of the double bool parameters. Everything I see something like func(x, y, true, false); it almost drives me crazy. Thanks, Qu > btrfs: remove the snapshot check from check_committed_ref() > btrfs: avoid redundant call to get inline ref type at check_committed_ref() > btrfs: simplify return logic at check_committed_ref() > btrfs: simplify arguments for btrfs_cross_ref_exist() > btrfs: add function comment for check_committed_ref() > btrfs: add assertions and comment about path expectations to btrfs_cross_ref_exist() > > fs/btrfs/btrfs_inode.h | 2 +- > fs/btrfs/direct-io.c | 3 +- > fs/btrfs/extent-tree.c | 128 +++++++++++++++++++++++++----------- > fs/btrfs/extent-tree.h | 3 +- > fs/btrfs/file.c | 2 +- > fs/btrfs/inode.c | 146 +++++++++++++++++++++++++++++------------ > fs/btrfs/locking.h | 5 ++ > 7 files changed, 203 insertions(+), 86 deletions(-) >
From: Filipe Manana <fdmanana@suse.com> There are a couple issues with swap file activation, one being races with memory mapped writes, while the other one is a failure due to buggy detection of extent sharedness - we can often consider an extent as shared when it is not but it used to be. The rest are just some cleanups or enhancements. V2: Updated patch 10/11, it mentioned a no longer existing argument that removed in patch 05/11, the patches were re-ordered at some point. Filipe Manana (11): btrfs: fix race with memory mapped writes when activating swap file btrfs: fix swap file activation failure due to extents that used to be shared btrfs: allow swap activation to be interruptible btrfs: avoid monopolizing a core when activating a swap file btrfs: remove no longer needed strict argument from can_nocow_extent() btrfs: remove the snapshot check from check_committed_ref() btrfs: avoid redundant call to get inline ref type at check_committed_ref() btrfs: simplify return logic at check_committed_ref() btrfs: simplify arguments for btrfs_cross_ref_exist() btrfs: add function comment for check_committed_ref() btrfs: add assertions and comment about path expectations to btrfs_cross_ref_exist() fs/btrfs/btrfs_inode.h | 2 +- fs/btrfs/direct-io.c | 3 +- fs/btrfs/extent-tree.c | 128 +++++++++++++++++++++++++----------- fs/btrfs/extent-tree.h | 3 +- fs/btrfs/file.c | 2 +- fs/btrfs/inode.c | 146 +++++++++++++++++++++++++++++------------ fs/btrfs/locking.h | 5 ++ 7 files changed, 203 insertions(+), 86 deletions(-)