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.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 811576346a92..9b774a0c9ca6 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -8129,7 +8129,7 @@ static ssize_t btrfs_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
8129 if (check_direct_IO(BTRFS_I(inode)->root, iocb, iter, offset)) 8129 if (check_direct_IO(BTRFS_I(inode)->root, iocb, iter, offset))
8130 return 0; 8130 return 0;
8131 8131
8132 atomic_inc(&inode->i_dio_count); 8132 inode_dio_begin(inode);
8133 smp_mb__after_atomic(); 8133 smp_mb__after_atomic();
8134 8134
8135 /* 8135 /*
@@ -8169,7 +8169,7 @@ static ssize_t btrfs_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
8169 current->journal_info = &outstanding_extents; 8169 current->journal_info = &outstanding_extents;
8170 } else if (test_bit(BTRFS_INODE_READDIO_NEED_LOCK, 8170 } else if (test_bit(BTRFS_INODE_READDIO_NEED_LOCK,
8171 &BTRFS_I(inode)->runtime_flags)) { 8171 &BTRFS_I(inode)->runtime_flags)) {
8172 inode_dio_done(inode); 8172 inode_dio_end(inode);
8173 flags = DIO_LOCKING | DIO_SKIP_HOLES; 8173 flags = DIO_LOCKING | DIO_SKIP_HOLES;
8174 wakeup = false; 8174 wakeup = false;
8175 } 8175 }
@@ -8188,7 +8188,7 @@ static ssize_t btrfs_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
8188 } 8188 }
8189out: 8189out:
8190 if (wakeup) 8190 if (wakeup)
8191 inode_dio_done(inode); 8191 inode_dio_end(inode);
8192 if (relock) 8192 if (relock)
8193 mutex_lock(&inode->i_mutex); 8193 mutex_lock(&inode->i_mutex);
8194 8194