@@ -4056,11 +4056,11 @@ int btrfs_update_inode_fallback(struct btrfs_trans_handle *trans,
4056
4056
* also drops the back refs in the inode to the directory
4057
4057
*/
4058
4058
static int __btrfs_unlink_inode (struct btrfs_trans_handle * trans ,
4059
- struct btrfs_root * root ,
4060
4059
struct btrfs_inode * dir ,
4061
4060
struct btrfs_inode * inode ,
4062
4061
const char * name , int name_len )
4063
4062
{
4063
+ struct btrfs_root * root = dir -> root ;
4064
4064
struct btrfs_fs_info * fs_info = root -> fs_info ;
4065
4065
struct btrfs_path * path ;
4066
4066
int ret = 0 ;
@@ -4150,15 +4150,14 @@ static int __btrfs_unlink_inode(struct btrfs_trans_handle *trans,
4150
4150
}
4151
4151
4152
4152
int btrfs_unlink_inode (struct btrfs_trans_handle * trans ,
4153
- struct btrfs_root * root ,
4154
4153
struct btrfs_inode * dir , struct btrfs_inode * inode ,
4155
4154
const char * name , int name_len )
4156
4155
{
4157
4156
int ret ;
4158
- ret = __btrfs_unlink_inode (trans , root , dir , inode , name , name_len );
4157
+ ret = __btrfs_unlink_inode (trans , dir , inode , name , name_len );
4159
4158
if (!ret ) {
4160
4159
drop_nlink (& inode -> vfs_inode );
4161
- ret = btrfs_update_inode (trans , root , inode );
4160
+ ret = btrfs_update_inode (trans , inode -> root , inode );
4162
4161
}
4163
4162
return ret ;
4164
4163
}
@@ -4187,7 +4186,6 @@ static struct btrfs_trans_handle *__unlink_start_trans(struct inode *dir)
4187
4186
4188
4187
static int btrfs_unlink (struct inode * dir , struct dentry * dentry )
4189
4188
{
4190
- struct btrfs_root * root = BTRFS_I (dir )-> root ;
4191
4189
struct btrfs_trans_handle * trans ;
4192
4190
struct inode * inode = d_inode (dentry );
4193
4191
int ret ;
@@ -4199,7 +4197,7 @@ static int btrfs_unlink(struct inode *dir, struct dentry *dentry)
4199
4197
btrfs_record_unlink_dir (trans , BTRFS_I (dir ), BTRFS_I (d_inode (dentry )),
4200
4198
0 );
4201
4199
4202
- ret = btrfs_unlink_inode (trans , root , BTRFS_I (dir ),
4200
+ ret = btrfs_unlink_inode (trans , BTRFS_I (dir ),
4203
4201
BTRFS_I (d_inode (dentry )), dentry -> d_name .name ,
4204
4202
dentry -> d_name .len );
4205
4203
if (ret )
@@ -4213,7 +4211,7 @@ static int btrfs_unlink(struct inode *dir, struct dentry *dentry)
4213
4211
4214
4212
out :
4215
4213
btrfs_end_transaction (trans );
4216
- btrfs_btree_balance_dirty (root -> fs_info );
4214
+ btrfs_btree_balance_dirty (BTRFS_I ( dir ) -> root -> fs_info );
4217
4215
return ret ;
4218
4216
}
4219
4217
@@ -4564,7 +4562,6 @@ static int btrfs_rmdir(struct inode *dir, struct dentry *dentry)
4564
4562
{
4565
4563
struct inode * inode = d_inode (dentry );
4566
4564
int err = 0 ;
4567
- struct btrfs_root * root = BTRFS_I (dir )-> root ;
4568
4565
struct btrfs_trans_handle * trans ;
4569
4566
u64 last_unlink_trans ;
4570
4567
@@ -4589,7 +4586,7 @@ static int btrfs_rmdir(struct inode *dir, struct dentry *dentry)
4589
4586
last_unlink_trans = BTRFS_I (inode )-> last_unlink_trans ;
4590
4587
4591
4588
/* now the directory is empty */
4592
- err = btrfs_unlink_inode (trans , root , BTRFS_I (dir ),
4589
+ err = btrfs_unlink_inode (trans , BTRFS_I (dir ),
4593
4590
BTRFS_I (d_inode (dentry )), dentry -> d_name .name ,
4594
4591
dentry -> d_name .len );
4595
4592
if (!err ) {
@@ -4610,7 +4607,7 @@ static int btrfs_rmdir(struct inode *dir, struct dentry *dentry)
4610
4607
}
4611
4608
out :
4612
4609
btrfs_end_transaction (trans );
4613
- btrfs_btree_balance_dirty (root -> fs_info );
4610
+ btrfs_btree_balance_dirty (BTRFS_I ( dir ) -> root -> fs_info );
4614
4611
4615
4612
return err ;
4616
4613
}
@@ -9468,7 +9465,7 @@ static int btrfs_rename_exchange(struct inode *old_dir,
9468
9465
if (old_ino == BTRFS_FIRST_FREE_OBJECTID ) {
9469
9466
ret = btrfs_unlink_subvol (trans , old_dir , old_dentry );
9470
9467
} else { /* src is an inode */
9471
- ret = __btrfs_unlink_inode (trans , root , BTRFS_I (old_dir ),
9468
+ ret = __btrfs_unlink_inode (trans , BTRFS_I (old_dir ),
9472
9469
BTRFS_I (old_dentry -> d_inode ),
9473
9470
old_dentry -> d_name .name ,
9474
9471
old_dentry -> d_name .len );
@@ -9484,7 +9481,7 @@ static int btrfs_rename_exchange(struct inode *old_dir,
9484
9481
if (new_ino == BTRFS_FIRST_FREE_OBJECTID ) {
9485
9482
ret = btrfs_unlink_subvol (trans , new_dir , new_dentry );
9486
9483
} else { /* dest is an inode */
9487
- ret = __btrfs_unlink_inode (trans , dest , BTRFS_I (new_dir ),
9484
+ ret = __btrfs_unlink_inode (trans , BTRFS_I (new_dir ),
9488
9485
BTRFS_I (new_dentry -> d_inode ),
9489
9486
new_dentry -> d_name .name ,
9490
9487
new_dentry -> d_name .len );
@@ -9759,7 +9756,7 @@ static int btrfs_rename(struct user_namespace *mnt_userns,
9759
9756
*/
9760
9757
btrfs_pin_log_trans (root );
9761
9758
log_pinned = true;
9762
- ret = __btrfs_unlink_inode (trans , root , BTRFS_I (old_dir ),
9759
+ ret = __btrfs_unlink_inode (trans , BTRFS_I (old_dir ),
9763
9760
BTRFS_I (d_inode (old_dentry )),
9764
9761
old_dentry -> d_name .name ,
9765
9762
old_dentry -> d_name .len );
@@ -9779,7 +9776,7 @@ static int btrfs_rename(struct user_namespace *mnt_userns,
9779
9776
ret = btrfs_unlink_subvol (trans , new_dir , new_dentry );
9780
9777
BUG_ON (new_inode -> i_nlink == 0 );
9781
9778
} else {
9782
- ret = btrfs_unlink_inode (trans , dest , BTRFS_I (new_dir ),
9779
+ ret = btrfs_unlink_inode (trans , BTRFS_I (new_dir ),
9783
9780
BTRFS_I (d_inode (new_dentry )),
9784
9781
new_dentry -> d_name .name ,
9785
9782
new_dentry -> d_name .len );
0 commit comments