Commit 9a56fcd1 authored by Nikolay Borisov's avatar Nikolay Borisov Committed by David Sterba

btrfs: make btrfs_update_inode take btrfs_inode

Reviewed-by: default avatarJohannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: default avatarNikolay Borisov <nborisov@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent dfeb9e7c
...@@ -2405,7 +2405,7 @@ static int cache_save_setup(struct btrfs_block_group *block_group, ...@@ -2405,7 +2405,7 @@ static int cache_save_setup(struct btrfs_block_group *block_group,
* time. * time.
*/ */
BTRFS_I(inode)->generation = 0; BTRFS_I(inode)->generation = 0;
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
if (ret) { if (ret) {
/* /*
* So theoretically we could recover from this, simply set the * So theoretically we could recover from this, simply set the
......
...@@ -3112,8 +3112,7 @@ struct extent_map *btrfs_get_extent(struct btrfs_inode *inode, ...@@ -3112,8 +3112,7 @@ struct extent_map *btrfs_get_extent(struct btrfs_inode *inode,
struct page *page, size_t pg_offset, struct page *page, size_t pg_offset,
u64 start, u64 end); u64 start, u64 end);
int btrfs_update_inode(struct btrfs_trans_handle *trans, int btrfs_update_inode(struct btrfs_trans_handle *trans,
struct btrfs_root *root, struct btrfs_root *root, struct btrfs_inode *inode);
struct inode *inode);
int btrfs_update_inode_fallback(struct btrfs_trans_handle *trans, int btrfs_update_inode_fallback(struct btrfs_trans_handle *trans,
struct btrfs_root *root, struct inode *inode); struct btrfs_root *root, struct inode *inode);
int btrfs_orphan_add(struct btrfs_trans_handle *trans, int btrfs_orphan_add(struct btrfs_trans_handle *trans,
......
...@@ -2741,7 +2741,7 @@ int btrfs_replace_file_extents(struct inode *inode, struct btrfs_path *path, ...@@ -2741,7 +2741,7 @@ int btrfs_replace_file_extents(struct inode *inode, struct btrfs_path *path,
cur_offset = drop_args.drop_end; cur_offset = drop_args.drop_end;
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
if (ret) if (ret)
break; break;
...@@ -2978,7 +2978,7 @@ static int btrfs_punch_hole(struct inode *inode, loff_t offset, loff_t len) ...@@ -2978,7 +2978,7 @@ static int btrfs_punch_hole(struct inode *inode, loff_t offset, loff_t len)
ASSERT(trans != NULL); ASSERT(trans != NULL);
inode_inc_iversion(inode); inode_inc_iversion(inode);
inode->i_mtime = inode->i_ctime = current_time(inode); inode->i_mtime = inode->i_ctime = current_time(inode);
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
updated_inode = true; updated_inode = true;
btrfs_end_transaction(trans); btrfs_end_transaction(trans);
btrfs_btree_balance_dirty(fs_info); btrfs_btree_balance_dirty(fs_info);
...@@ -3005,7 +3005,7 @@ static int btrfs_punch_hole(struct inode *inode, loff_t offset, loff_t len) ...@@ -3005,7 +3005,7 @@ static int btrfs_punch_hole(struct inode *inode, loff_t offset, loff_t len)
} else { } else {
int ret2; int ret2;
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
ret2 = btrfs_end_transaction(trans); ret2 = btrfs_end_transaction(trans);
if (!ret) if (!ret)
ret = ret2; ret = ret2;
...@@ -3074,7 +3074,7 @@ static int btrfs_fallocate_update_isize(struct inode *inode, ...@@ -3074,7 +3074,7 @@ static int btrfs_fallocate_update_isize(struct inode *inode,
inode->i_ctime = current_time(inode); inode->i_ctime = current_time(inode);
i_size_write(inode, end); i_size_write(inode, end);
btrfs_inode_safe_disk_i_size_write(BTRFS_I(inode), 0); btrfs_inode_safe_disk_i_size_write(BTRFS_I(inode), 0);
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
ret2 = btrfs_end_transaction(trans); ret2 = btrfs_end_transaction(trans);
return ret ? ret : ret2; return ret ? ret : ret2;
......
...@@ -278,7 +278,7 @@ int btrfs_truncate_free_space_cache(struct btrfs_trans_handle *trans, ...@@ -278,7 +278,7 @@ int btrfs_truncate_free_space_cache(struct btrfs_trans_handle *trans,
if (ret) if (ret)
goto fail; goto fail;
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
fail: fail:
if (locked) if (locked)
...@@ -1193,7 +1193,7 @@ static int __btrfs_wait_cache_io(struct btrfs_root *root, ...@@ -1193,7 +1193,7 @@ static int __btrfs_wait_cache_io(struct btrfs_root *root,
"failed to write free space cache for block group %llu error %d", "failed to write free space cache for block group %llu error %d",
block_group->start, ret); block_group->start, ret);
} }
btrfs_update_inode(trans, root, inode); btrfs_update_inode(trans, root, BTRFS_I(inode));
if (block_group) { if (block_group) {
/* the dirty list is protected by the dirty_bgs_lock */ /* the dirty list is protected by the dirty_bgs_lock */
...@@ -1383,7 +1383,7 @@ static int __btrfs_write_out_cache(struct btrfs_root *root, struct inode *inode, ...@@ -1383,7 +1383,7 @@ static int __btrfs_write_out_cache(struct btrfs_root *root, struct inode *inode,
invalidate_inode_pages2(inode->i_mapping); invalidate_inode_pages2(inode->i_mapping);
BTRFS_I(inode)->generation = 0; BTRFS_I(inode)->generation = 0;
} }
btrfs_update_inode(trans, root, inode); btrfs_update_inode(trans, root, BTRFS_I(inode));
if (must_iput) if (must_iput)
iput(inode); iput(inode);
return ret; return ret;
......
...@@ -463,7 +463,7 @@ int btrfs_save_ino_cache(struct btrfs_root *root, ...@@ -463,7 +463,7 @@ int btrfs_save_ino_cache(struct btrfs_root *root,
} }
BTRFS_I(inode)->generation = 0; BTRFS_I(inode)->generation = 0;
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
if (ret) { if (ret) {
btrfs_abort_transaction(trans, ret); btrfs_abort_transaction(trans, ret);
goto out_put; goto out_put;
......
...@@ -382,7 +382,7 @@ static noinline int cow_file_range_inline(struct btrfs_inode *inode, u64 start, ...@@ -382,7 +382,7 @@ static noinline int cow_file_range_inline(struct btrfs_inode *inode, u64 start,
} }
btrfs_update_inode_bytes(inode, inline_len, drop_args.bytes_found); btrfs_update_inode_bytes(inode, inline_len, drop_args.bytes_found);
ret = btrfs_update_inode(trans, root, &inode->vfs_inode); ret = btrfs_update_inode(trans, root, inode);
if (ret && ret != -ENOSPC) { if (ret && ret != -ENOSPC) {
btrfs_abort_transaction(trans, ret); btrfs_abort_transaction(trans, ret);
goto out; goto out;
...@@ -3657,7 +3657,8 @@ static noinline int btrfs_update_inode_item(struct btrfs_trans_handle *trans, ...@@ -3657,7 +3657,8 @@ static noinline int btrfs_update_inode_item(struct btrfs_trans_handle *trans,
* copy everything in the in-memory inode into the btree. * copy everything in the in-memory inode into the btree.
*/ */
noinline int btrfs_update_inode(struct btrfs_trans_handle *trans, noinline int btrfs_update_inode(struct btrfs_trans_handle *trans,
struct btrfs_root *root, struct inode *inode) struct btrfs_root *root,
struct btrfs_inode *inode)
{ {
struct btrfs_fs_info *fs_info = root->fs_info; struct btrfs_fs_info *fs_info = root->fs_info;
int ret; int ret;
...@@ -3669,18 +3670,18 @@ noinline int btrfs_update_inode(struct btrfs_trans_handle *trans, ...@@ -3669,18 +3670,18 @@ noinline int btrfs_update_inode(struct btrfs_trans_handle *trans,
* The data relocation inode should also be directly updated * The data relocation inode should also be directly updated
* without delay * without delay
*/ */
if (!btrfs_is_free_space_inode(BTRFS_I(inode)) if (!btrfs_is_free_space_inode(inode)
&& root->root_key.objectid != BTRFS_DATA_RELOC_TREE_OBJECTID && root->root_key.objectid != BTRFS_DATA_RELOC_TREE_OBJECTID
&& !test_bit(BTRFS_FS_LOG_RECOVERING, &fs_info->flags)) { && !test_bit(BTRFS_FS_LOG_RECOVERING, &fs_info->flags)) {
btrfs_update_root_times(trans, root); btrfs_update_root_times(trans, root);
ret = btrfs_delayed_update_inode(trans, root, BTRFS_I(inode)); ret = btrfs_delayed_update_inode(trans, root, inode);
if (!ret) if (!ret)
btrfs_set_inode_last_trans(trans, BTRFS_I(inode)); btrfs_set_inode_last_trans(trans, inode);
return ret; return ret;
} }
return btrfs_update_inode_item(trans, root, BTRFS_I(inode)); return btrfs_update_inode_item(trans, root, inode);
} }
noinline int btrfs_update_inode_fallback(struct btrfs_trans_handle *trans, noinline int btrfs_update_inode_fallback(struct btrfs_trans_handle *trans,
...@@ -3689,7 +3690,7 @@ noinline int btrfs_update_inode_fallback(struct btrfs_trans_handle *trans, ...@@ -3689,7 +3690,7 @@ noinline int btrfs_update_inode_fallback(struct btrfs_trans_handle *trans,
{ {
int ret; int ret;
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
if (ret == -ENOSPC) if (ret == -ENOSPC)
return btrfs_update_inode_item(trans, root, BTRFS_I(inode)); return btrfs_update_inode_item(trans, root, BTRFS_I(inode));
return ret; return ret;
...@@ -3799,7 +3800,7 @@ static int __btrfs_unlink_inode(struct btrfs_trans_handle *trans, ...@@ -3799,7 +3800,7 @@ static int __btrfs_unlink_inode(struct btrfs_trans_handle *trans,
inode_inc_iversion(&dir->vfs_inode); inode_inc_iversion(&dir->vfs_inode);
inode->vfs_inode.i_ctime = dir->vfs_inode.i_mtime = inode->vfs_inode.i_ctime = dir->vfs_inode.i_mtime =
dir->vfs_inode.i_ctime = current_time(&inode->vfs_inode); dir->vfs_inode.i_ctime = current_time(&inode->vfs_inode);
ret = btrfs_update_inode(trans, root, &dir->vfs_inode); ret = btrfs_update_inode(trans, root, dir);
out: out:
return ret; return ret;
} }
...@@ -3813,7 +3814,7 @@ int btrfs_unlink_inode(struct btrfs_trans_handle *trans, ...@@ -3813,7 +3814,7 @@ int btrfs_unlink_inode(struct btrfs_trans_handle *trans,
ret = __btrfs_unlink_inode(trans, root, dir, inode, name, name_len); ret = __btrfs_unlink_inode(trans, root, dir, inode, name, name_len);
if (!ret) { if (!ret) {
drop_nlink(&inode->vfs_inode); drop_nlink(&inode->vfs_inode);
ret = btrfs_update_inode(trans, root, &inode->vfs_inode); ret = btrfs_update_inode(trans, root, inode);
} }
return ret; return ret;
} }
...@@ -4836,7 +4837,7 @@ static int maybe_insert_hole(struct btrfs_root *root, struct inode *inode, ...@@ -4836,7 +4837,7 @@ static int maybe_insert_hole(struct btrfs_root *root, struct inode *inode,
btrfs_abort_transaction(trans, ret); btrfs_abort_transaction(trans, ret);
} else { } else {
btrfs_update_inode_bytes(BTRFS_I(inode), 0, drop_args.bytes_found); btrfs_update_inode_bytes(BTRFS_I(inode), 0, drop_args.bytes_found);
btrfs_update_inode(trans, root, inode); btrfs_update_inode(trans, root, BTRFS_I(inode));
} }
btrfs_end_transaction(trans); btrfs_end_transaction(trans);
return ret; return ret;
...@@ -4998,7 +4999,7 @@ static int btrfs_setsize(struct inode *inode, struct iattr *attr) ...@@ -4998,7 +4999,7 @@ static int btrfs_setsize(struct inode *inode, struct iattr *attr)
i_size_write(inode, newsize); i_size_write(inode, newsize);
btrfs_inode_safe_disk_i_size_write(BTRFS_I(inode), 0); btrfs_inode_safe_disk_i_size_write(BTRFS_I(inode), 0);
pagecache_isize_extended(inode, oldsize, newsize); pagecache_isize_extended(inode, oldsize, newsize);
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
btrfs_drew_write_unlock(&root->snapshot_lock); btrfs_drew_write_unlock(&root->snapshot_lock);
btrfs_end_transaction(trans); btrfs_end_transaction(trans);
} else { } else {
...@@ -5910,7 +5911,7 @@ static int btrfs_dirty_inode(struct inode *inode) ...@@ -5910,7 +5911,7 @@ static int btrfs_dirty_inode(struct inode *inode)
if (IS_ERR(trans)) if (IS_ERR(trans))
return PTR_ERR(trans); return PTR_ERR(trans);
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
if (ret && ret == -ENOSPC) { if (ret && ret == -ENOSPC) {
/* whoops, lets try again with the full transaction */ /* whoops, lets try again with the full transaction */
btrfs_end_transaction(trans); btrfs_end_transaction(trans);
...@@ -5918,7 +5919,7 @@ static int btrfs_dirty_inode(struct inode *inode) ...@@ -5918,7 +5919,7 @@ static int btrfs_dirty_inode(struct inode *inode)
if (IS_ERR(trans)) if (IS_ERR(trans))
return PTR_ERR(trans); return PTR_ERR(trans);
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
} }
btrfs_end_transaction(trans); btrfs_end_transaction(trans);
if (BTRFS_I(inode)->delayed_node) if (BTRFS_I(inode)->delayed_node)
...@@ -6306,7 +6307,7 @@ int btrfs_add_link(struct btrfs_trans_handle *trans, ...@@ -6306,7 +6307,7 @@ int btrfs_add_link(struct btrfs_trans_handle *trans,
parent_inode->vfs_inode.i_mtime = now; parent_inode->vfs_inode.i_mtime = now;
parent_inode->vfs_inode.i_ctime = now; parent_inode->vfs_inode.i_ctime = now;
} }
ret = btrfs_update_inode(trans, root, &parent_inode->vfs_inode); ret = btrfs_update_inode(trans, root, parent_inode);
if (ret) if (ret)
btrfs_abort_transaction(trans, ret); btrfs_abort_transaction(trans, ret);
return ret; return ret;
...@@ -6397,7 +6398,7 @@ static int btrfs_mknod(struct inode *dir, struct dentry *dentry, ...@@ -6397,7 +6398,7 @@ static int btrfs_mknod(struct inode *dir, struct dentry *dentry,
if (err) if (err)
goto out_unlock; goto out_unlock;
btrfs_update_inode(trans, root, inode); btrfs_update_inode(trans, root, BTRFS_I(inode));
d_instantiate_new(dentry, inode); d_instantiate_new(dentry, inode);
out_unlock: out_unlock:
...@@ -6456,7 +6457,7 @@ static int btrfs_create(struct inode *dir, struct dentry *dentry, ...@@ -6456,7 +6457,7 @@ static int btrfs_create(struct inode *dir, struct dentry *dentry,
if (err) if (err)
goto out_unlock; goto out_unlock;
err = btrfs_update_inode(trans, root, inode); err = btrfs_update_inode(trans, root, BTRFS_I(inode));
if (err) if (err)
goto out_unlock; goto out_unlock;
...@@ -6528,7 +6529,7 @@ static int btrfs_link(struct dentry *old_dentry, struct inode *dir, ...@@ -6528,7 +6529,7 @@ static int btrfs_link(struct dentry *old_dentry, struct inode *dir,
} else { } else {
struct dentry *parent = dentry->d_parent; struct dentry *parent = dentry->d_parent;
err = btrfs_update_inode(trans, root, inode); err = btrfs_update_inode(trans, root, BTRFS_I(inode));
if (err) if (err)
goto fail; goto fail;
if (inode->i_nlink == 1) { if (inode->i_nlink == 1) {
...@@ -6596,7 +6597,7 @@ static int btrfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) ...@@ -6596,7 +6597,7 @@ static int btrfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
goto out_fail; goto out_fail;
btrfs_i_size_write(BTRFS_I(inode), 0); btrfs_i_size_write(BTRFS_I(inode), 0);
err = btrfs_update_inode(trans, root, inode); err = btrfs_update_inode(trans, root, BTRFS_I(inode));
if (err) if (err)
goto out_fail; goto out_fail;
...@@ -8521,7 +8522,7 @@ static int btrfs_truncate(struct inode *inode, bool skip_writeback) ...@@ -8521,7 +8522,7 @@ static int btrfs_truncate(struct inode *inode, bool skip_writeback)
if (ret != -ENOSPC && ret != -EAGAIN) if (ret != -ENOSPC && ret != -EAGAIN)
break; break;
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
if (ret) if (ret)
break; break;
...@@ -8567,7 +8568,7 @@ static int btrfs_truncate(struct inode *inode, bool skip_writeback) ...@@ -8567,7 +8568,7 @@ static int btrfs_truncate(struct inode *inode, bool skip_writeback)
int ret2; int ret2;
trans->block_rsv = &fs_info->trans_block_rsv; trans->block_rsv = &fs_info->trans_block_rsv;
ret2 = btrfs_update_inode(trans, root, inode); ret2 = btrfs_update_inode(trans, root, BTRFS_I(inode));
if (ret2 && !ret) if (ret2 && !ret)
ret = ret2; ret = ret2;
...@@ -8613,7 +8614,7 @@ int btrfs_create_subvol_root(struct btrfs_trans_handle *trans, ...@@ -8613,7 +8614,7 @@ int btrfs_create_subvol_root(struct btrfs_trans_handle *trans,
"error inheriting subvolume %llu properties: %d", "error inheriting subvolume %llu properties: %d",
new_root->root_key.objectid, err); new_root->root_key.objectid, err);
err = btrfs_update_inode(trans, new_root, inode); err = btrfs_update_inode(trans, new_root, BTRFS_I(inode));
iput(inode); iput(inode);
return err; return err;
...@@ -8969,7 +8970,7 @@ static int btrfs_rename_exchange(struct inode *old_dir, ...@@ -8969,7 +8970,7 @@ static int btrfs_rename_exchange(struct inode *old_dir,
old_dentry->d_name.name, old_dentry->d_name.name,
old_dentry->d_name.len); old_dentry->d_name.len);
if (!ret) if (!ret)
ret = btrfs_update_inode(trans, root, old_inode); ret = btrfs_update_inode(trans, root, BTRFS_I(old_inode));
} }
if (ret) { if (ret) {
btrfs_abort_transaction(trans, ret); btrfs_abort_transaction(trans, ret);
...@@ -8985,7 +8986,7 @@ static int btrfs_rename_exchange(struct inode *old_dir, ...@@ -8985,7 +8986,7 @@ static int btrfs_rename_exchange(struct inode *old_dir,
new_dentry->d_name.name, new_dentry->d_name.name,
new_dentry->d_name.len); new_dentry->d_name.len);
if (!ret) if (!ret)
ret = btrfs_update_inode(trans, dest, new_inode); ret = btrfs_update_inode(trans, dest, BTRFS_I(new_inode));
} }
if (ret) { if (ret) {
btrfs_abort_transaction(trans, ret); btrfs_abort_transaction(trans, ret);
...@@ -9105,7 +9106,7 @@ static int btrfs_whiteout_for_rename(struct btrfs_trans_handle *trans, ...@@ -9105,7 +9106,7 @@ static int btrfs_whiteout_for_rename(struct btrfs_trans_handle *trans,
if (ret) if (ret)
goto out; goto out;
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
out: out:
unlock_new_inode(inode); unlock_new_inode(inode);
if (ret) if (ret)
...@@ -9239,7 +9240,7 @@ static int btrfs_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -9239,7 +9240,7 @@ static int btrfs_rename(struct inode *old_dir, struct dentry *old_dentry,
old_dentry->d_name.name, old_dentry->d_name.name,
old_dentry->d_name.len); old_dentry->d_name.len);
if (!ret) if (!ret)
ret = btrfs_update_inode(trans, root, old_inode); ret = btrfs_update_inode(trans, root, BTRFS_I(old_inode));
} }
if (ret) { if (ret) {
btrfs_abort_transaction(trans, ret); btrfs_abort_transaction(trans, ret);
...@@ -9599,7 +9600,7 @@ static int btrfs_symlink(struct inode *dir, struct dentry *dentry, ...@@ -9599,7 +9600,7 @@ static int btrfs_symlink(struct inode *dir, struct dentry *dentry,
inode_nohighmem(inode); inode_nohighmem(inode);
inode_set_bytes(inode, name_len); inode_set_bytes(inode, name_len);
btrfs_i_size_write(BTRFS_I(inode), name_len); btrfs_i_size_write(BTRFS_I(inode), name_len);
err = btrfs_update_inode(trans, root, inode); err = btrfs_update_inode(trans, root, BTRFS_I(inode));
/* /*
* Last step, add directory indexes for our symlink inode. This is the * Last step, add directory indexes for our symlink inode. This is the
* last step to avoid extra cleanup of these indexes if an error happens * last step to avoid extra cleanup of these indexes if an error happens
...@@ -9796,7 +9797,7 @@ static int __btrfs_prealloc_file_range(struct inode *inode, int mode, ...@@ -9796,7 +9797,7 @@ static int __btrfs_prealloc_file_range(struct inode *inode, int mode,
btrfs_inode_safe_disk_i_size_write(BTRFS_I(inode), 0); btrfs_inode_safe_disk_i_size_write(BTRFS_I(inode), 0);
} }
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
if (ret) { if (ret) {
btrfs_abort_transaction(trans, ret); btrfs_abort_transaction(trans, ret);
...@@ -9892,7 +9893,7 @@ static int btrfs_tmpfile(struct inode *dir, struct dentry *dentry, umode_t mode) ...@@ -9892,7 +9893,7 @@ static int btrfs_tmpfile(struct inode *dir, struct dentry *dentry, umode_t mode)
if (ret) if (ret)
goto out; goto out;
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
if (ret) if (ret)
goto out; goto out;
ret = btrfs_orphan_add(trans, BTRFS_I(inode)); ret = btrfs_orphan_add(trans, BTRFS_I(inode));
......
...@@ -336,7 +336,7 @@ static int btrfs_ioctl_setflags(struct file *file, void __user *arg) ...@@ -336,7 +336,7 @@ static int btrfs_ioctl_setflags(struct file *file, void __user *arg)
btrfs_sync_inode_flags_to_i_flags(inode); btrfs_sync_inode_flags_to_i_flags(inode);
inode_inc_iversion(inode); inode_inc_iversion(inode);
inode->i_ctime = current_time(inode); inode->i_ctime = current_time(inode);
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
out_end_trans: out_end_trans:
btrfs_end_transaction(trans); btrfs_end_transaction(trans);
...@@ -479,7 +479,7 @@ static int btrfs_ioctl_fssetxattr(struct file *file, void __user *arg) ...@@ -479,7 +479,7 @@ static int btrfs_ioctl_fssetxattr(struct file *file, void __user *arg)
btrfs_sync_inode_flags_to_i_flags(inode); btrfs_sync_inode_flags_to_i_flags(inode);
inode_inc_iversion(inode); inode_inc_iversion(inode);
inode->i_ctime = current_time(inode); inode->i_ctime = current_time(inode);
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
btrfs_end_transaction(trans); btrfs_end_transaction(trans);
...@@ -733,7 +733,7 @@ static noinline int create_subvol(struct inode *dir, ...@@ -733,7 +733,7 @@ static noinline int create_subvol(struct inode *dir,
} }
btrfs_i_size_write(BTRFS_I(dir), dir->i_size + namelen * 2); btrfs_i_size_write(BTRFS_I(dir), dir->i_size + namelen * 2);
ret = btrfs_update_inode(trans, root, dir); ret = btrfs_update_inode(trans, root, BTRFS_I(dir));
if (ret) { if (ret) {
btrfs_abort_transaction(trans, ret); btrfs_abort_transaction(trans, ret);
goto fail; goto fail;
......
...@@ -34,7 +34,7 @@ static int clone_finish_inode_update(struct btrfs_trans_handle *trans, ...@@ -34,7 +34,7 @@ static int clone_finish_inode_update(struct btrfs_trans_handle *trans,
btrfs_inode_safe_disk_i_size_write(BTRFS_I(inode), 0); btrfs_inode_safe_disk_i_size_write(BTRFS_I(inode), 0);
} }
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
if (ret) { if (ret) {
btrfs_abort_transaction(trans, ret); btrfs_abort_transaction(trans, ret);
btrfs_end_transaction(trans); btrfs_end_transaction(trans);
......
...@@ -834,7 +834,7 @@ static noinline int replay_one_extent(struct btrfs_trans_handle *trans, ...@@ -834,7 +834,7 @@ static noinline int replay_one_extent(struct btrfs_trans_handle *trans,
update_inode: update_inode:
btrfs_update_inode_bytes(BTRFS_I(inode), nbytes, drop_args.bytes_found); btrfs_update_inode_bytes(BTRFS_I(inode), nbytes, drop_args.bytes_found);
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
out: out:
if (inode) if (inode)
iput(inode); iput(inode);
...@@ -1533,7 +1533,7 @@ static noinline int add_inode_ref(struct btrfs_trans_handle *trans, ...@@ -1533,7 +1533,7 @@ static noinline int add_inode_ref(struct btrfs_trans_handle *trans,
if (ret) if (ret)
goto out; goto out;
btrfs_update_inode(trans, root, inode); btrfs_update_inode(trans, root, BTRFS_I(inode));
} }
ref_ptr = (unsigned long)(ref_ptr + ref_struct_size) + namelen; ref_ptr = (unsigned long)(ref_ptr + ref_struct_size) + namelen;
...@@ -1708,7 +1708,7 @@ static noinline int fixup_inode_link_count(struct btrfs_trans_handle *trans, ...@@ -1708,7 +1708,7 @@ static noinline int fixup_inode_link_count(struct btrfs_trans_handle *trans,
if (nlink != inode->i_nlink) { if (nlink != inode->i_nlink) {
set_nlink(inode, nlink); set_nlink(inode, nlink);
btrfs_update_inode(trans, root, inode); btrfs_update_inode(trans, root, BTRFS_I(inode));
} }
BTRFS_I(inode)->index_cnt = (u64)-1; BTRFS_I(inode)->index_cnt = (u64)-1;
...@@ -1814,7 +1814,7 @@ static noinline int link_to_fixup_dir(struct btrfs_trans_handle *trans, ...@@ -1814,7 +1814,7 @@ static noinline int link_to_fixup_dir(struct btrfs_trans_handle *trans,
set_nlink(inode, 1); set_nlink(inode, 1);
else else
inc_nlink(inode); inc_nlink(inode);
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
} else if (ret == -EEXIST) { } else if (ret == -EEXIST) {
ret = 0; ret = 0;
} else { } else {
...@@ -1967,7 +1967,7 @@ static noinline int replay_one_name(struct btrfs_trans_handle *trans, ...@@ -1967,7 +1967,7 @@ static noinline int replay_one_name(struct btrfs_trans_handle *trans,
btrfs_release_path(path); btrfs_release_path(path);
if (!ret && update_size) { if (!ret && update_size) {
btrfs_i_size_write(BTRFS_I(dir), dir->i_size + name_len * 2); btrfs_i_size_write(BTRFS_I(dir), dir->i_size + name_len * 2);
ret = btrfs_update_inode(trans, root, dir); ret = btrfs_update_inode(trans, root, BTRFS_I(dir));
} }
kfree(name); kfree(name);
iput(dir); iput(dir);
...@@ -2602,7 +2602,7 @@ static int replay_one_buffer(struct btrfs_root *log, struct extent_buffer *eb, ...@@ -2602,7 +2602,7 @@ static int replay_one_buffer(struct btrfs_root *log, struct extent_buffer *eb,
drop_args.bytes_found); drop_args.bytes_found);
/* Update the inode's nbytes. */ /* Update the inode's nbytes. */
ret = btrfs_update_inode(wc->trans, ret = btrfs_update_inode(wc->trans,
root, inode); root, BTRFS_I(inode));
} }
iput(inode); iput(inode);
if (ret) if (ret)
......
...@@ -239,7 +239,7 @@ int btrfs_setxattr_trans(struct inode *inode, const char *name, ...@@ -239,7 +239,7 @@ int btrfs_setxattr_trans(struct inode *inode, const char *name,
inode_inc_iversion(inode); inode_inc_iversion(inode);
inode->i_ctime = current_time(inode); inode->i_ctime = current_time(inode);
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
BUG_ON(ret); BUG_ON(ret);
out: out:
btrfs_end_transaction(trans); btrfs_end_transaction(trans);
...@@ -390,7 +390,7 @@ static int btrfs_xattr_handler_set_prop(const struct xattr_handler *handler, ...@@ -390,7 +390,7 @@ static int btrfs_xattr_handler_set_prop(const struct xattr_handler *handler,
if (!ret) { if (!ret) {
inode_inc_iversion(inode); inode_inc_iversion(inode);
inode->i_ctime = current_time(inode); inode->i_ctime = current_time(inode);
ret = btrfs_update_inode(trans, root, inode); ret = btrfs_update_inode(trans, root, BTRFS_I(inode));
BUG_ON(ret); BUG_ON(ret);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment