diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 0dbb5a19d97744c0887705e0ca3a07ce55e55be8..6cdc6d0e85253e639ce4506c7a241ff81e1aec0e 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -3169,14 +3169,12 @@ void btrfs_extent_item_to_extent_map(struct btrfs_inode *inode, /* inode.c */ struct btrfs_delalloc_work { struct inode *inode; - int delay_iput; struct completion completion; struct list_head list; struct btrfs_work work; }; -struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode, - int delay_iput); +struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode); struct extent_map *btrfs_get_extent_fiemap(struct btrfs_inode *inode, struct page *page, size_t pg_offset, u64 start, diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 20a385b0668fb6c609f36f248ebe7e6feeffefe2..4e10bb1f300eff6156cf5c117e37467d223aa8fb 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -10159,15 +10159,11 @@ static void btrfs_run_delalloc_work(struct btrfs_work *work) &BTRFS_I(inode)->runtime_flags)) filemap_flush(inode->i_mapping); - if (delalloc_work->delay_iput) - btrfs_add_delayed_iput(inode); - else - iput(inode); + iput(inode); complete(&delalloc_work->completion); } -struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode, - int delay_iput) +struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode) { struct btrfs_delalloc_work *work; @@ -10178,7 +10174,6 @@ struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode, init_completion(&work->completion); INIT_LIST_HEAD(&work->list); work->inode = inode; - work->delay_iput = delay_iput; WARN_ON_ONCE(!inode); btrfs_init_work(&work->work, btrfs_flush_delalloc_helper, btrfs_run_delalloc_work, NULL, NULL); @@ -10218,7 +10213,7 @@ static int start_delalloc_inodes(struct btrfs_root *root, int nr) } spin_unlock(&root->delalloc_lock); - work = btrfs_alloc_delalloc_work(inode, 0); + work = btrfs_alloc_delalloc_work(inode); if (!work) { iput(inode); ret = -ENOMEM;