diff options
author | Chris Mason <clm@fb.com> | 2023-06-09 10:53:41 -0700 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2023-06-13 00:01:08 +0200 |
commit | deccae40e4b30f98837e44225194d80c8baf2233 (patch) | |
tree | 0b6f19beb19c9a3230ec570970fb4a166df4e141 /MAINTAINERS | |
parent | 7833b865953c8e62abc76a3261c04132b2fb69de (diff) | |
download | linux-stable-deccae40e4b30f98837e44225194d80c8baf2233.tar.gz linux-stable-deccae40e4b30f98837e44225194d80c8baf2233.tar.bz2 linux-stable-deccae40e4b30f98837e44225194d80c8baf2233.zip |
btrfs: can_nocow_file_extent should pass down args->strict from callers
Commit 619104ba453ad0 ("btrfs: move common NOCOW checks against a file
extent into a helper") changed our call to btrfs_cross_ref_exist() to
always pass false for the 'strict' parameter. We're passing this down
through the stack so that we can do a full check for cross references
during swapfile activation.
With strict always false, this test fails:
btrfs subvol create swappy
chattr +C swappy
fallocate -l1G swappy/swapfile
chmod 600 swappy/swapfile
mkswap swappy/swapfile
btrfs subvol snap swappy swapsnap
btrfs subvol del -C swapsnap
btrfs fi sync /
sync;sync;sync
swapon swappy/swapfile
The fix is to just use args->strict, and everyone except swapfile
activation is passing false.
Fixes: 619104ba453ad0 ("btrfs: move common NOCOW checks against a file extent into a helper")
CC: stable@vger.kernel.org # 6.1+
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Chris Mason <clm@fb.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'MAINTAINERS')
0 files changed, 0 insertions, 0 deletions