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

index 8bf4422cac93519b828248b5c2bd1798cea5df83..d669d6f6e50e7ca1fc3f4564001093ee3af7cc98 100644 (file)
@@ -87,8 +87,23 @@ 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)
+{
+       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 = {