On 12.11.19 г. 2:43 ч., Andrew Morton wrote: > On Mon, 11 Nov 2019 16:34:52 -0800 ira.weiny@xxxxxxxxx wrote: > >> From: Ira Weiny <ira.weiny@xxxxxxxxx> >> >> swap_activate() and swap_deactivate() have nothing to do with >> address spaces. We want to eventually make the address space operations >> dynamic to switch inode flags on the fly. > > What does this mean? > >> So to simplify this code as >> well as properly track these operations we move these functions to the >> file_operations vector. >> >> This has been tested with XFS but not NFS, f2fs, or btrfs. >> >> Also note f2fs and xfs have simple moves of their functions to >> facilitate compilation. No functional changes are contained within >> those functions. >> >> ... >> >> --- a/fs/btrfs/inode.c >> +++ b/fs/btrfs/inode.c >> @@ -11002,6 +11002,8 @@ static const struct file_operations btrfs_dir_file_operations = { >> #endif >> .release = btrfs_release_file, >> .fsync = btrfs_sync_file, >> + .swap_activate = btrfs_swap_activate, >> + .swap_deactivate = btrfs_swap_deactivate, >> }; > > Shouldn't this be btrfs_file_operations? INdeed, having swap activate on a directory doesn't make much sense. > >