btrfs: disable defrag on pre-content watched files
authorJosef Bacik <josef@toxicpanda.com>
Fri, 15 Nov 2024 15:30:31 +0000 (10:30 -0500)
committerJan Kara <jack@suse.cz>
Wed, 11 Dec 2024 16:28:41 +0000 (17:28 +0100)
commitb722e40be2bda7a688f74e1a794121e84f717fdc
treeaebad1a29931d8fe7e9b56876e665a92d552ac2a
parent7f4796a46571ced5d3d5b0942e1bfea1eedaaecd
btrfs: disable defrag on pre-content watched files

We queue up inodes to be defrag'ed asynchronously, which means we do not
have their original file for readahead.  This means that the code to
skip readahead on pre-content watched files will not run, and we could
potentially read in empty pages.

Handle this corner case by disabling defrag on files that are currently
being watched for pre-content events.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Link: https://patch.msgid.link/4cc5bcea13db7904174353d08e85157356282a59.1731684329.git.josef@toxicpanda.com
fs/btrfs/ioctl.c