Btrfs: get rid of btrfs_symlink_aops
authorOmar Sandoval <osandov@fb.com>
Mon, 24 Sep 2018 22:16:55 +0000 (15:16 -0700)
committerDavid Sterba <dsterba@suse.com>
Mon, 15 Oct 2018 15:23:35 +0000 (17:23 +0200)
The only aops we define for symlinks are identical to the aops for
regular files. This has been the case since symlink support was added in
commit 2b8d99a723a3 ("Btrfs: symlinks and hard links"). As far as I can
tell, there wasn't a good reason to have separate aops then, and there
isn't now, so let's just do what most other filesystems do and reuse the
same structure.

Signed-off-by: Omar Sandoval <osandov@fb.com>
Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/inode.c

index dd2140d3e354c8b1c8dda76e54ccb080143b0295..ae74c740f3e146d3dae2da49d7c0bc762c9cbe56 100644 (file)
@@ -64,7 +64,6 @@ static const struct inode_operations btrfs_dir_ro_inode_operations;
 static const struct inode_operations btrfs_special_inode_operations;
 static const struct inode_operations btrfs_file_inode_operations;
 static const struct address_space_operations btrfs_aops;
-static const struct address_space_operations btrfs_symlink_aops;
 static const struct file_operations btrfs_dir_file_operations;
 static const struct extent_io_ops btrfs_extent_io_ops;
 
@@ -3733,7 +3732,7 @@ cache_acl:
        case S_IFLNK:
                inode->i_op = &btrfs_symlink_inode_operations;
                inode_nohighmem(inode);
-               inode->i_mapping->a_ops = &btrfs_symlink_aops;
+               inode->i_mapping->a_ops = &btrfs_aops;
                break;
        default:
                inode->i_op = &btrfs_special_inode_operations;
@@ -10174,7 +10173,7 @@ static int btrfs_symlink(struct inode *dir, struct dentry *dentry,
 
        inode->i_op = &btrfs_symlink_inode_operations;
        inode_nohighmem(inode);
-       inode->i_mapping->a_ops = &btrfs_symlink_aops;
+       inode->i_mapping->a_ops = &btrfs_aops;
        inode_set_bytes(inode, name_len);
        btrfs_i_size_write(BTRFS_I(inode), name_len);
        err = btrfs_update_inode(trans, root, inode);
@@ -10550,13 +10549,6 @@ static const struct address_space_operations btrfs_aops = {
        .error_remove_page = generic_error_remove_page,
 };
 
-static const struct address_space_operations btrfs_symlink_aops = {
-       .readpage       = btrfs_readpage,
-       .writepage      = btrfs_writepage,
-       .invalidatepage = btrfs_invalidatepage,
-       .releasepage    = btrfs_releasepage,
-};
-
 static const struct inode_operations btrfs_file_inode_operations = {
        .getattr        = btrfs_getattr,
        .setattr        = btrfs_setattr,