diff options
Diffstat (limited to 'fs/ext4/fsync.c')
-rw-r--r-- | fs/ext4/fsync.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/ext4/fsync.c b/fs/ext4/fsync.c index e187f87acec0..b6a74f991bf4 100644 --- a/fs/ext4/fsync.c +++ b/fs/ext4/fsync.c | |||
@@ -127,9 +127,11 @@ int ext4_sync_file(struct file *file, struct dentry *dentry, int datasync) | |||
127 | if (ext4_should_writeback_data(inode) && | 127 | if (ext4_should_writeback_data(inode) && |
128 | (journal->j_fs_dev != journal->j_dev) && | 128 | (journal->j_fs_dev != journal->j_dev) && |
129 | (journal->j_flags & JBD2_BARRIER)) | 129 | (journal->j_flags & JBD2_BARRIER)) |
130 | blkdev_issue_flush(inode->i_sb->s_bdev, NULL); | 130 | blkdev_issue_flush(inode->i_sb->s_bdev, GFP_KERNEL, |
131 | NULL, BLKDEV_IFL_WAIT); | ||
131 | ret = jbd2_log_wait_commit(journal, commit_tid); | 132 | ret = jbd2_log_wait_commit(journal, commit_tid); |
132 | } else if (journal->j_flags & JBD2_BARRIER) | 133 | } else if (journal->j_flags & JBD2_BARRIER) |
133 | blkdev_issue_flush(inode->i_sb->s_bdev, NULL); | 134 | blkdev_issue_flush(inode->i_sb->s_bdev, GFP_KERNEL, NULL, |
135 | BLKDEV_IFL_WAIT); | ||
134 | return ret; | 136 | return ret; |
135 | } | 137 | } |