aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r--fs/btrfs/inode.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 9898b0d79c5a..15b29e879ffc 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -9440,14 +9440,10 @@ static void btrfs_run_delalloc_work(struct btrfs_work *work)
9440 delalloc_work = container_of(work, struct btrfs_delalloc_work, 9440 delalloc_work = container_of(work, struct btrfs_delalloc_work,
9441 work); 9441 work);
9442 inode = delalloc_work->inode; 9442 inode = delalloc_work->inode;
9443 if (delalloc_work->wait) { 9443 filemap_flush(inode->i_mapping);
9444 btrfs_wait_ordered_range(inode, 0, (u64)-1); 9444 if (test_bit(BTRFS_INODE_HAS_ASYNC_EXTENT,
9445 } else { 9445 &BTRFS_I(inode)->runtime_flags))
9446 filemap_flush(inode->i_mapping); 9446 filemap_flush(inode->i_mapping);
9447 if (test_bit(BTRFS_INODE_HAS_ASYNC_EXTENT,
9448 &BTRFS_I(inode)->runtime_flags))
9449 filemap_flush(inode->i_mapping);
9450 }
9451 9447
9452 if (delalloc_work->delay_iput) 9448 if (delalloc_work->delay_iput)
9453 btrfs_add_delayed_iput(inode); 9449 btrfs_add_delayed_iput(inode);
@@ -9468,7 +9464,6 @@ struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode,
9468 init_completion(&work->completion); 9464 init_completion(&work->completion);
9469 INIT_LIST_HEAD(&work->list); 9465 INIT_LIST_HEAD(&work->list);
9470 work->inode = inode; 9466 work->inode = inode;
9471 work->wait = 0;
9472 work->delay_iput = delay_iput; 9467 work->delay_iput = delay_iput;
9473 WARN_ON_ONCE(!inode); 9468 WARN_ON_ONCE(!inode);
9474 btrfs_init_work(&work->work, btrfs_flush_delalloc_helper, 9469 btrfs_init_work(&work->work, btrfs_flush_delalloc_helper,