]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - fs/ceph/file.c
ceph_aio_write(): switch to generic_perform_write()
[mirror_ubuntu-zesty-kernel.git] / fs / ceph / file.c
index 09c7afe32e496c7dfe20d527106c7a184248c3ca..2d9088b1bcd90924125176ea8d1d890ce4858248 100644 (file)
@@ -970,6 +970,7 @@ retry_snap:
                        goto retry_snap;
                }
        } else {
+               struct iov_iter from;
                /*
                 * No need to acquire the i_truncate_mutex. Because
                 * the MDS revokes Fwb caps before sending truncate
@@ -977,9 +978,10 @@ retry_snap:
                 * are pending vmtruncate. So write and vmtruncate
                 * can not run at the same time
                 */
-               written = generic_file_buffered_write(iocb, iov, nr_segs,
-                                                     pos, &iocb->ki_pos,
-                                                     count, 0);
+               iov_iter_init(&from, iov, nr_segs, count, 0);
+               written = generic_perform_write(file, &from, pos);
+               if (likely(written >= 0))
+                       iocb->ki_pos = pos + written;
                mutex_unlock(&inode->i_mutex);
        }