OSDN Git Service

btrfs: make btrfs_update_inode_fallback take btrfs_inode
authorNikolay Borisov <nborisov@suse.com>
Mon, 2 Nov 2020 14:49:06 +0000 (16:49 +0200)
committerDavid Sterba <dsterba@suse.com>
Tue, 8 Dec 2020 14:54:12 +0000 (15:54 +0100)
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ctree.h
fs/btrfs/inode.c
fs/btrfs/transaction.c

index 67923c9..c0c6e79 100644 (file)
@@ -3114,7 +3114,7 @@ struct extent_map *btrfs_get_extent(struct btrfs_inode *inode,
 int btrfs_update_inode(struct btrfs_trans_handle *trans,
                       struct btrfs_root *root, struct btrfs_inode *inode);
 int btrfs_update_inode_fallback(struct btrfs_trans_handle *trans,
-                               struct btrfs_root *root, struct inode *inode);
+                               struct btrfs_root *root, struct btrfs_inode *inode);
 int btrfs_orphan_add(struct btrfs_trans_handle *trans,
                struct btrfs_inode *inode);
 int btrfs_orphan_cleanup(struct btrfs_root *root);
index 6561a25..bee9a66 100644 (file)
@@ -2771,7 +2771,7 @@ static int btrfs_finish_ordered_io(struct btrfs_ordered_extent *ordered_extent)
                        goto out;
                }
                trans->block_rsv = &inode->block_rsv;
-               ret = btrfs_update_inode_fallback(trans, root, &inode->vfs_inode);
+               ret = btrfs_update_inode_fallback(trans, root, inode);
                if (ret) /* -ENOMEM or corruption */
                        btrfs_abort_transaction(trans, ret);
                goto out;
@@ -2835,7 +2835,7 @@ static int btrfs_finish_ordered_io(struct btrfs_ordered_extent *ordered_extent)
                                 0, 0, &cached_state);
 
        btrfs_inode_safe_disk_i_size_write(inode, 0);
-       ret = btrfs_update_inode_fallback(trans, root, &inode->vfs_inode);
+       ret = btrfs_update_inode_fallback(trans, root, inode);
        if (ret) { /* -ENOMEM or corruption */
                btrfs_abort_transaction(trans, ret);
                goto out;
@@ -3684,15 +3684,14 @@ noinline int btrfs_update_inode(struct btrfs_trans_handle *trans,
        return btrfs_update_inode_item(trans, root, inode);
 }
 
-noinline int btrfs_update_inode_fallback(struct btrfs_trans_handle *trans,
-                                        struct btrfs_root *root,
-                                        struct inode *inode)
+int btrfs_update_inode_fallback(struct btrfs_trans_handle *trans,
+                               struct btrfs_root *root, struct btrfs_inode *inode)
 {
        int ret;
 
-       ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
+       ret = btrfs_update_inode(trans, root, inode);
        if (ret == -ENOSPC)
-               return btrfs_update_inode_item(trans, root, BTRFS_I(inode));
+               return btrfs_update_inode_item(trans, root, inode);
        return ret;
 }
 
@@ -3963,7 +3962,7 @@ static int btrfs_unlink_subvol(struct btrfs_trans_handle *trans,
        btrfs_i_size_write(BTRFS_I(dir), dir->i_size - name_len * 2);
        inode_inc_iversion(dir);
        dir->i_mtime = dir->i_ctime = current_time(dir);
-       ret = btrfs_update_inode_fallback(trans, root, dir);
+       ret = btrfs_update_inode_fallback(trans, root, BTRFS_I(dir));
        if (ret)
                btrfs_abort_transaction(trans, ret);
 out:
index b671ea4..0e40636 100644 (file)
@@ -1721,7 +1721,7 @@ static noinline int create_pending_snapshot(struct btrfs_trans_handle *trans,
                                         dentry->d_name.len * 2);
        parent_inode->i_mtime = parent_inode->i_ctime =
                current_time(parent_inode);
-       ret = btrfs_update_inode_fallback(trans, parent_root, parent_inode);
+       ret = btrfs_update_inode_fallback(trans, parent_root, BTRFS_I(parent_inode));
        if (ret) {
                btrfs_abort_transaction(trans, ret);
                goto fail;