aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/block_dev.c2
-rw-r--r--fs/btrfs/file.c2
-rw-r--r--fs/cifs/file.c2
-rw-r--r--fs/direct-io.c2
-rw-r--r--fs/ext4/file.c2
-rw-r--r--fs/f2fs/file.c2
-rw-r--r--fs/gfs2/file.c5
-rw-r--r--fs/nfs/direct.c2
-rw-r--r--fs/ntfs/file.c2
-rw-r--r--fs/udf/file.c2
-rw-r--r--fs/xfs/xfs_file.c2
11 files changed, 14 insertions, 11 deletions
diff --git a/fs/block_dev.c b/fs/block_dev.c
index 9e1f3fe25753..d8dc3512e927 100644
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@ -1662,7 +1662,7 @@ ssize_t blkdev_write_iter(struct kiocb *iocb, struct iov_iter *from)
1662 ret = __generic_file_write_iter(iocb, from); 1662 ret = __generic_file_write_iter(iocb, from);
1663 if (ret > 0) { 1663 if (ret > 0) {
1664 ssize_t err; 1664 ssize_t err;
1665 err = generic_write_sync(file, iocb->ki_pos - ret, ret); 1665 err = generic_write_sync(iocb, iocb->ki_pos - ret, ret);
1666 if (err < 0) 1666 if (err < 0)
1667 ret = err; 1667 ret = err;
1668 } 1668 }
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 6c376311a9d7..35ce146cceec 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -1852,7 +1852,7 @@ static ssize_t btrfs_file_write_iter(struct kiocb *iocb,
1852 BTRFS_I(inode)->last_sub_trans = root->log_transid; 1852 BTRFS_I(inode)->last_sub_trans = root->log_transid;
1853 spin_unlock(&BTRFS_I(inode)->lock); 1853 spin_unlock(&BTRFS_I(inode)->lock);
1854 if (num_written > 0) { 1854 if (num_written > 0) {
1855 err = generic_write_sync(file, pos, num_written); 1855 err = generic_write_sync(iocb, pos, num_written);
1856 if (err < 0) 1856 if (err < 0)
1857 num_written = err; 1857 num_written = err;
1858 } 1858 }
diff --git a/fs/cifs/file.c b/fs/cifs/file.c
index cb070aa88e57..b22b68ccfbe5 100644
--- a/fs/cifs/file.c
+++ b/fs/cifs/file.c
@@ -2688,7 +2688,7 @@ out:
2688 inode_unlock(inode); 2688 inode_unlock(inode);
2689 2689
2690 if (rc > 0) { 2690 if (rc > 0) {
2691 ssize_t err = generic_write_sync(file, iocb->ki_pos - rc, rc); 2691 ssize_t err = generic_write_sync(iocb, iocb->ki_pos - rc, rc);
2692 if (err < 0) 2692 if (err < 0)
2693 rc = err; 2693 rc = err;
2694 } 2694 }
diff --git a/fs/direct-io.c b/fs/direct-io.c
index c61314b84b01..f7bcc0193dee 100644
--- a/fs/direct-io.c
+++ b/fs/direct-io.c
@@ -268,7 +268,7 @@ static ssize_t dio_complete(struct dio *dio, ssize_t ret, bool is_async)
268 if (dio->rw & WRITE) { 268 if (dio->rw & WRITE) {
269 int err; 269 int err;
270 270
271 err = generic_write_sync(dio->iocb->ki_filp, offset, 271 err = generic_write_sync(dio->iocb, offset,
272 transferred); 272 transferred);
273 if (err < 0 && ret > 0) 273 if (err < 0 && ret > 0)
274 ret = err; 274 ret = err;
diff --git a/fs/ext4/file.c b/fs/ext4/file.c
index fa2208bae2e1..1417e129be51 100644
--- a/fs/ext4/file.c
+++ b/fs/ext4/file.c
@@ -172,7 +172,7 @@ ext4_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
172 if (ret > 0) { 172 if (ret > 0) {
173 ssize_t err; 173 ssize_t err;
174 174
175 err = generic_write_sync(file, iocb->ki_pos - ret, ret); 175 err = generic_write_sync(iocb, iocb->ki_pos - ret, ret);
176 if (err < 0) 176 if (err < 0)
177 ret = err; 177 ret = err;
178 } 178 }
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 443e07705c2a..51ed8388e66c 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -1885,7 +1885,7 @@ static ssize_t f2fs_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
1885 if (ret > 0) { 1885 if (ret > 0) {
1886 ssize_t err; 1886 ssize_t err;
1887 1887
1888 err = generic_write_sync(file, iocb->ki_pos - ret, ret); 1888 err = generic_write_sync(iocb, iocb->ki_pos - ret, ret);
1889 if (err < 0) 1889 if (err < 0)
1890 ret = err; 1890 ret = err;
1891 } 1891 }
diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c
index 208efc70ad49..5a7d69609309 100644
--- a/fs/gfs2/file.c
+++ b/fs/gfs2/file.c
@@ -895,7 +895,10 @@ static long __gfs2_fallocate(struct file *file, int mode, loff_t offset, loff_t
895 mark_inode_dirty(inode); 895 mark_inode_dirty(inode);
896 } 896 }
897 897
898 return generic_write_sync(file, pos, count); 898 if ((file->f_flags & O_DSYNC) || IS_SYNC(file->f_mapping->host))
899 return vfs_fsync_range(file, pos, pos + count - 1,
900 (file->f_flags & __O_SYNC) ? 0 : 1);
901 return 0;
899 902
900out_trans_fail: 903out_trans_fail:
901 gfs2_inplace_release(ip); 904 gfs2_inplace_release(ip);
diff --git a/fs/nfs/direct.c b/fs/nfs/direct.c
index 346b5d85ce92..be86de9a77d7 100644
--- a/fs/nfs/direct.c
+++ b/fs/nfs/direct.c
@@ -1054,7 +1054,7 @@ ssize_t nfs_file_direct_write(struct kiocb *iocb, struct iov_iter *iter)
1054 if (i_size_read(inode) < iocb->ki_pos) 1054 if (i_size_read(inode) < iocb->ki_pos)
1055 i_size_write(inode, iocb->ki_pos); 1055 i_size_write(inode, iocb->ki_pos);
1056 spin_unlock(&inode->i_lock); 1056 spin_unlock(&inode->i_lock);
1057 generic_write_sync(file, pos, result); 1057 generic_write_sync(iocb, pos, result);
1058 } 1058 }
1059 } 1059 }
1060 nfs_direct_req_release(dreq); 1060 nfs_direct_req_release(dreq);
diff --git a/fs/ntfs/file.c b/fs/ntfs/file.c
index 91117ada8528..10dc38cc02bb 100644
--- a/fs/ntfs/file.c
+++ b/fs/ntfs/file.c
@@ -1953,7 +1953,7 @@ static ssize_t ntfs_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
1953 current->backing_dev_info = NULL; 1953 current->backing_dev_info = NULL;
1954 inode_unlock(vi); 1954 inode_unlock(vi);
1955 if (likely(written > 0)) { 1955 if (likely(written > 0)) {
1956 err = generic_write_sync(file, iocb->ki_pos, written); 1956 err = generic_write_sync(iocb, iocb->ki_pos, written);
1957 if (err < 0) 1957 if (err < 0)
1958 written = 0; 1958 written = 0;
1959 } 1959 }
diff --git a/fs/udf/file.c b/fs/udf/file.c
index 7ab8d8196e90..8e3d1ae53b11 100644
--- a/fs/udf/file.c
+++ b/fs/udf/file.c
@@ -152,7 +152,7 @@ out:
152 152
153 if (retval > 0) { 153 if (retval > 0) {
154 mark_inode_dirty(inode); 154 mark_inode_dirty(inode);
155 err = generic_write_sync(file, iocb->ki_pos - retval, retval); 155 err = generic_write_sync(iocb, iocb->ki_pos - retval, retval);
156 if (err < 0) 156 if (err < 0)
157 retval = err; 157 retval = err;
158 } 158 }
diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c
index 5de047ab2411..b5d70e77195d 100644
--- a/fs/xfs/xfs_file.c
+++ b/fs/xfs/xfs_file.c
@@ -908,7 +908,7 @@ xfs_file_write_iter(
908 XFS_STATS_ADD(ip->i_mount, xs_write_bytes, ret); 908 XFS_STATS_ADD(ip->i_mount, xs_write_bytes, ret);
909 909
910 /* Handle various SYNC-type writes */ 910 /* Handle various SYNC-type writes */
911 err = generic_write_sync(file, iocb->ki_pos - ret, ret); 911 err = generic_write_sync(iocb, iocb->ki_pos - ret, ret);
912 if (err < 0) 912 if (err < 0)
913 ret = err; 913 ret = err;
914 } 914 }