]> git.baikalelectronics.ru Git - kernel.git/commit
ext4: implement swap_activate aops using iomap
authorRitesh Harjani <riteshh@linux.ibm.com>
Fri, 4 Sep 2020 09:16:53 +0000 (14:46 +0530)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 18 Oct 2020 14:35:54 +0000 (10:35 -0400)
commit87caa1304456d295b4963ac0e0c58b66b43d604f
tree94d1bb08ffeb0dd92c6d82f7fe319d9d14487bd9
parentf4519271bf2b430447987348d351b99f7279b7e1
ext4: implement swap_activate aops using iomap

After moving ext4's bmap to iomap interface, swapon functionality
on files created using fallocate (which creates unwritten extents) are
failing. This is since iomap_bmap interface returns 0 for unwritten
extents and thus generic_swapfile_activate considers this as holes
and hence bail out with below kernel msg :-

[340.915835] swapon: swapfile has holes

To fix this we need to implement ->swap_activate aops in ext4
which will use ext4_iomap_report_ops. Since we only need to return
the list of extents so ext4_iomap_report_ops should be enough.

Cc: stable@kernel.org
Reported-by: Yuxuan Shui <yshuiv7@gmail.com>
Fixes: 335b9a7884b ("ext4: move ext4 bmap to use iomap infrastructure")
Signed-off-by: Ritesh Harjani <riteshh@linux.ibm.com>
Link: https://lore.kernel.org/r/20200904091653.1014334-1-riteshh@linux.ibm.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/inode.c