Hi, This series refactor the internal structure of FIBMAP so that the filesystem can properly report errors back to VFS, and also simplifies its usage by standardizing all ->bmap() method usage via bmap() function. The last patch is a bug fix for ioctl_fibmap() calls with negative block values. Viro spotted a mistake in patch 4/5 on the previous version, where bmap() return value was not being propagated back to userland, breaking its ABI. So, this new version, only has a change on patch 4/5 to fix this problem. Changelog: V8: - Rebased over linux-next - Fix an error in patch 4/5, which led to the wrong value being returned by ioctl_fibmap() V7: - Rebased over linux-next - Add parameters names to function declarations Reported-by: kbuild test robot <lkp@xxxxxxxxx> - Remove changelog entries from patches's commit logs V6: - Add a dummy bmap() definition so build does not break if CONFIG_BLOCK is not set Reported-by: kbuild test robot <lkp@xxxxxxxxx> - ASSERT only if filesystem does not support bmap() to match the original logic - Fix bmap() doc function Reported-by: kbuild test robot <lkp@xxxxxxxxx> V5: - Rebasing against 5.3 required changes to the f2fs check_swap_activate() function V4: - Ensure ioctl_fibmap() returns 0 in case of error returned from bmap(). Otherwise we'll be changing the user interface (which returns 0 in case of error) V3: - Rename usr_blk to ur_block V2: - Use a local sector_t variable to asign the block number instead of using direct casting. Carlos Maiolino (5): fs: Enable bmap() function to properly return errors cachefiles: drop direct usage of ->bmap method. ecryptfs: drop direct calls to ->bmap fibmap: Use bmap instead of ->bmap method in ioctl_fibmap fibmap: Reject negative block numbers drivers/md/md-bitmap.c | 16 ++++++++++------ fs/cachefiles/rdwr.c | 27 ++++++++++++++------------- fs/ecryptfs/mmap.c | 16 ++++++---------- fs/f2fs/data.c | 16 +++++++++++----- fs/inode.c | 30 +++++++++++++++++------------- fs/ioctl.c | 33 +++++++++++++++++++++++---------- fs/jbd2/journal.c | 22 +++++++++++++++------- include/linux/fs.h | 9 ++++++++- mm/page_io.c | 11 +++++++---- 9 files changed, 111 insertions(+), 69 deletions(-) -- 2.23.0