Wrapfs: add ->bmap support wrapfs
authorErez Zadok <ezk@cs.sunysb.edu>
Fri, 13 May 2022 23:45:57 +0000 (19:45 -0400)
committerErez Zadok <ezk@cs.sunysb.edu>
Fri, 13 May 2022 23:45:57 +0000 (19:45 -0400)
Signed-off-by: Aditya Sonavane <aditya.sonavane@stonybrook.edu>
Signed-off-by: Erez Zadok <ezk@cs.stonybrook.edu>
fs/wrapfs/mmap.c

index c97f775d3c8148a3e6dc72d900c66089561ea7fb..2661201be9e5cb4ea67c222f3426bf60027c75e5 100644 (file)
@@ -83,8 +83,23 @@ static ssize_t wrapfs_direct_IO(struct kiocb *iocb,
        return -EINVAL;
 }
 
+static sector_t wrapfs_bmap(struct address_space *mapping, sector_t block)
+{
+       int err = 0;
+       struct inode *inode;
+       struct inode *lower_inode;
+
+       inode = (struct inode *) mapping->host;
+       lower_inode = wrapfs_lower_inode(inode);
+       if (lower_inode->i_mapping->a_ops->bmap)
+               err = lower_inode->i_mapping->a_ops->bmap(lower_inode->i_mapping,
+                                                         block);
+       return err;
+}
+
 const struct address_space_operations wrapfs_aops = {
        .direct_IO = wrapfs_direct_IO,
+       .bmap = wrapfs_bmap,
 };
 
 const struct vm_operations_struct wrapfs_vm_ops = {