--- /dev/null
+diff --git a/fs/wrapfs/mmap.c b/fs/wrapfs/mmap.c
+index 9897fa585b97..3eea96f41deb 100644
+--- a/fs/wrapfs/mmap.c
++++ b/fs/wrapfs/mmap.c
+@@ -84,8 +84,19 @@ static ssize_t wrapfs_direct_IO(struct kiocb *iocb, struct iov_iter *iter)
+ return -EINVAL;
+ }
+
++static sector_t wrapfs_bmap(struct address_space *mapping, sector_t block)
++{
++ struct inode *lower_inode = wrapfs_lower_inode(mapping->host);
++ int ret = bmap(lower_inode, &block);
++
++ if (ret)
++ return 0;
++ return block;
++}
++
+ const struct address_space_operations wrapfs_aops = {
+ .direct_IO = wrapfs_direct_IO,
++ .bmap = wrapfs_bmap,
+ };
+
+ const struct vm_operations_struct wrapfs_vm_ops = {