Skip to content

Commit 23d1ed8

Browse files
committed
btrfs: pass btrfs_inode to btrfs_add_delayed_iput
The function is for internal interfaces so we should use the btrfs_inode. Reviewed-by: Anand Jain <[email protected]> Signed-off-by: David Sterba <[email protected]>
1 parent d246829 commit 23d1ed8

File tree

7 files changed

+28
-29
lines changed

7 files changed

+28
-29
lines changed

fs/btrfs/btrfs_inode.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,7 @@ int btrfs_update_inode_fallback(struct btrfs_trans_handle *trans,
501501
int btrfs_orphan_add(struct btrfs_trans_handle *trans, struct btrfs_inode *inode);
502502
int btrfs_orphan_cleanup(struct btrfs_root *root);
503503
int btrfs_cont_expand(struct btrfs_inode *inode, loff_t oldsize, loff_t size);
504-
void btrfs_add_delayed_iput(struct inode *inode);
504+
void btrfs_add_delayed_iput(struct btrfs_inode *inode);
505505
void btrfs_run_delayed_iputs(struct btrfs_fs_info *fs_info);
506506
int btrfs_wait_on_delayed_iputs(struct btrfs_fs_info *fs_info);
507507
int btrfs_prealloc_file_range(struct inode *inode, int mode,

fs/btrfs/extent_io.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3228,7 +3228,7 @@ static int extent_write_cache_pages(struct address_space *mapping,
32283228
if (wbc->range_cyclic || (wbc->nr_to_write > 0 && range_whole))
32293229
mapping->writeback_index = done_index;
32303230

3231-
btrfs_add_delayed_iput(inode);
3231+
btrfs_add_delayed_iput(BTRFS_I(inode));
32323232
return ret;
32333233
}
32343234

fs/btrfs/free-space-cache.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ int btrfs_remove_free_space_inode(struct btrfs_trans_handle *trans,
260260
}
261261
ret = btrfs_orphan_add(trans, BTRFS_I(inode));
262262
if (ret) {
263-
btrfs_add_delayed_iput(inode);
263+
btrfs_add_delayed_iput(BTRFS_I(inode));
264264
goto out;
265265
}
266266
clear_nlink(inode);
@@ -274,7 +274,7 @@ int btrfs_remove_free_space_inode(struct btrfs_trans_handle *trans,
274274
spin_unlock(&block_group->lock);
275275
}
276276
/* One for the lookup ref */
277-
btrfs_add_delayed_iput(inode);
277+
btrfs_add_delayed_iput(BTRFS_I(inode));
278278

279279
key.objectid = BTRFS_FREE_SPACE_OBJECTID;
280280
key.type = 0;

fs/btrfs/inode.c

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1493,7 +1493,7 @@ static noinline void async_cow_start(struct btrfs_work *work)
14931493

14941494
compressed_extents = compress_file_range(async_chunk);
14951495
if (compressed_extents == 0) {
1496-
btrfs_add_delayed_iput(&async_chunk->inode->vfs_inode);
1496+
btrfs_add_delayed_iput(async_chunk->inode);
14971497
async_chunk->inode = NULL;
14981498
}
14991499
}
@@ -1533,7 +1533,7 @@ static noinline void async_cow_free(struct btrfs_work *work)
15331533

15341534
async_chunk = container_of(work, struct async_chunk, work);
15351535
if (async_chunk->inode)
1536-
btrfs_add_delayed_iput(&async_chunk->inode->vfs_inode);
1536+
btrfs_add_delayed_iput(async_chunk->inode);
15371537
if (async_chunk->blkcg_css)
15381538
css_put(async_chunk->blkcg_css);
15391539

@@ -3016,7 +3016,7 @@ static void btrfs_writepage_fixup_worker(struct btrfs_work *work)
30163016
* that could need flushing space. Recursing back to fixup worker would
30173017
* deadlock.
30183018
*/
3019-
btrfs_add_delayed_iput(&inode->vfs_inode);
3019+
btrfs_add_delayed_iput(inode);
30203020
}
30213021

30223022
/*
@@ -3590,18 +3590,17 @@ unsigned int btrfs_verify_data_csum(struct btrfs_bio *bbio,
35903590
* the inode to the delayed iput machinery. Delayed iputs are processed at
35913591
* transaction commit time/superblock commit/cleaner kthread.
35923592
*/
3593-
void btrfs_add_delayed_iput(struct inode *inode)
3593+
void btrfs_add_delayed_iput(struct btrfs_inode *inode)
35943594
{
3595-
struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
3596-
struct btrfs_inode *binode = BTRFS_I(inode);
3595+
struct btrfs_fs_info *fs_info = inode->root->fs_info;
35973596

3598-
if (atomic_add_unless(&inode->i_count, -1, 1))
3597+
if (atomic_add_unless(&inode->vfs_inode.i_count, -1, 1))
35993598
return;
36003599

36013600
atomic_inc(&fs_info->nr_delayed_iputs);
36023601
spin_lock(&fs_info->delayed_iput_lock);
3603-
ASSERT(list_empty(&binode->delayed_iput));
3604-
list_add_tail(&binode->delayed_iput, &fs_info->delayed_iputs);
3602+
ASSERT(list_empty(&inode->delayed_iput));
3603+
list_add_tail(&inode->delayed_iput, &fs_info->delayed_iputs);
36053604
spin_unlock(&fs_info->delayed_iput_lock);
36063605
if (!test_bit(BTRFS_FS_CLEANER_RUNNING, &fs_info->flags))
36073606
wake_up_process(fs_info->cleaner_kthread);
@@ -9661,7 +9660,7 @@ static int start_delalloc_inodes(struct btrfs_root *root,
96619660
&work->work);
96629661
} else {
96639662
ret = filemap_fdatawrite_wbc(inode->i_mapping, wbc);
9664-
btrfs_add_delayed_iput(inode);
9663+
btrfs_add_delayed_iput(BTRFS_I(inode));
96659664
if (ret || wbc->nr_to_write <= 0)
96669665
goto out;
96679666
}

fs/btrfs/ordered-data.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ void btrfs_put_ordered_extent(struct btrfs_ordered_extent *entry)
504504
ASSERT(list_empty(&entry->log_list));
505505
ASSERT(RB_EMPTY_NODE(&entry->rb_node));
506506
if (entry->inode)
507-
btrfs_add_delayed_iput(entry->inode);
507+
btrfs_add_delayed_iput(BTRFS_I(entry->inode));
508508
while (!list_empty(&entry->list)) {
509509
cur = entry->list.next;
510510
sum = list_entry(cur, struct btrfs_ordered_sum, list);

fs/btrfs/relocation.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1117,7 +1117,7 @@ int replace_file_extents(struct btrfs_trans_handle *trans,
11171117
inode = find_next_inode(root, key.objectid);
11181118
first = 0;
11191119
} else if (inode && btrfs_ino(BTRFS_I(inode)) < key.objectid) {
1120-
btrfs_add_delayed_iput(inode);
1120+
btrfs_add_delayed_iput(BTRFS_I(inode));
11211121
inode = find_next_inode(root, key.objectid);
11221122
}
11231123
if (inode && btrfs_ino(BTRFS_I(inode)) == key.objectid) {
@@ -1181,7 +1181,7 @@ int replace_file_extents(struct btrfs_trans_handle *trans,
11811181
if (dirty)
11821182
btrfs_mark_buffer_dirty(leaf);
11831183
if (inode)
1184-
btrfs_add_delayed_iput(inode);
1184+
btrfs_add_delayed_iput(BTRFS_I(inode));
11851185
return ret;
11861186
}
11871187

fs/btrfs/tree-log.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5422,7 +5422,7 @@ static int log_new_dir_dentries(struct btrfs_trans_handle *trans,
54225422
}
54235423

54245424
if (!need_log_inode(trans, BTRFS_I(di_inode))) {
5425-
btrfs_add_delayed_iput(di_inode);
5425+
btrfs_add_delayed_iput(BTRFS_I(di_inode));
54265426
break;
54275427
}
54285428

@@ -5431,7 +5431,7 @@ static int log_new_dir_dentries(struct btrfs_trans_handle *trans,
54315431
log_mode = LOG_INODE_ALL;
54325432
ret = btrfs_log_inode(trans, BTRFS_I(di_inode),
54335433
log_mode, ctx);
5434-
btrfs_add_delayed_iput(di_inode);
5434+
btrfs_add_delayed_iput(BTRFS_I(di_inode));
54355435
if (ret)
54365436
goto out;
54375437
if (ctx->log_new_dentries) {
@@ -5625,11 +5625,11 @@ static int add_conflicting_inode(struct btrfs_trans_handle *trans,
56255625
* so that the log ends up with the new name and without the old name.
56265626
*/
56275627
if (!need_log_inode(trans, BTRFS_I(inode))) {
5628-
btrfs_add_delayed_iput(inode);
5628+
btrfs_add_delayed_iput(BTRFS_I(inode));
56295629
return 0;
56305630
}
56315631

5632-
btrfs_add_delayed_iput(inode);
5632+
btrfs_add_delayed_iput(BTRFS_I(inode));
56335633

56345634
ino_elem = kmalloc(sizeof(*ino_elem), GFP_NOFS);
56355635
if (!ino_elem)
@@ -5704,7 +5704,7 @@ static int log_conflicting_inodes(struct btrfs_trans_handle *trans,
57045704
*/
57055705
ret = btrfs_log_inode(trans, BTRFS_I(inode),
57065706
LOG_INODE_ALL, ctx);
5707-
btrfs_add_delayed_iput(inode);
5707+
btrfs_add_delayed_iput(BTRFS_I(inode));
57085708
if (ret)
57095709
break;
57105710
continue;
@@ -5721,7 +5721,7 @@ static int log_conflicting_inodes(struct btrfs_trans_handle *trans,
57215721
* that, we can avoid doing it again.
57225722
*/
57235723
if (!need_log_inode(trans, BTRFS_I(inode))) {
5724-
btrfs_add_delayed_iput(inode);
5724+
btrfs_add_delayed_iput(BTRFS_I(inode));
57255725
continue;
57265726
}
57275727

@@ -5733,7 +5733,7 @@ static int log_conflicting_inodes(struct btrfs_trans_handle *trans,
57335733
* log with the new name before we unpin it.
57345734
*/
57355735
ret = btrfs_log_inode(trans, BTRFS_I(inode), LOG_INODE_EXISTS, ctx);
5736-
btrfs_add_delayed_iput(inode);
5736+
btrfs_add_delayed_iput(BTRFS_I(inode));
57375737
if (ret)
57385738
break;
57395739
}
@@ -6243,7 +6243,7 @@ static int log_new_delayed_dentries(struct btrfs_trans_handle *trans,
62436243
}
62446244

62456245
if (!need_log_inode(trans, BTRFS_I(di_inode))) {
6246-
btrfs_add_delayed_iput(di_inode);
6246+
btrfs_add_delayed_iput(BTRFS_I(di_inode));
62476247
continue;
62486248
}
62496249

@@ -6256,7 +6256,7 @@ static int log_new_delayed_dentries(struct btrfs_trans_handle *trans,
62566256
if (!ret && ctx->log_new_dentries)
62576257
ret = log_new_dir_dentries(trans, BTRFS_I(di_inode), ctx);
62586258

6259-
btrfs_add_delayed_iput(di_inode);
6259+
btrfs_add_delayed_iput(BTRFS_I(di_inode));
62606260

62616261
if (ret)
62626262
break;
@@ -6717,7 +6717,7 @@ static int btrfs_log_all_parents(struct btrfs_trans_handle *trans,
67176717
}
67186718

67196719
if (!need_log_inode(trans, BTRFS_I(dir_inode))) {
6720-
btrfs_add_delayed_iput(dir_inode);
6720+
btrfs_add_delayed_iput(BTRFS_I(dir_inode));
67216721
continue;
67226722
}
67236723

@@ -6727,7 +6727,7 @@ static int btrfs_log_all_parents(struct btrfs_trans_handle *trans,
67276727
if (!ret && ctx->log_new_dentries)
67286728
ret = log_new_dir_dentries(trans,
67296729
BTRFS_I(dir_inode), ctx);
6730-
btrfs_add_delayed_iput(dir_inode);
6730+
btrfs_add_delayed_iput(BTRFS_I(dir_inode));
67316731
if (ret)
67326732
goto out;
67336733
}
@@ -6772,7 +6772,7 @@ static int log_new_ancestors(struct btrfs_trans_handle *trans,
67726772
need_log_inode(trans, BTRFS_I(inode)))
67736773
ret = btrfs_log_inode(trans, BTRFS_I(inode),
67746774
LOG_INODE_EXISTS, ctx);
6775-
btrfs_add_delayed_iput(inode);
6775+
btrfs_add_delayed_iput(BTRFS_I(inode));
67766776
if (ret)
67776777
return ret;
67786778

0 commit comments

Comments
 (0)