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

index 3f25de04da8d544d642bf128eb188ebc0ac29431..e5f0cd0371d4d7fda0c643bfa2473cfafc6a4bc4 100644 (file)
@@ -84,8 +84,23 @@ static ssize_t wrapfs_direct_IO(int rw, 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 = {