aboutsummaryrefslogtreecommitdiffstats
path: root/fs/aio.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/aio.c')
-rw-r--r--fs/aio.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/aio.c b/fs/aio.c
index 3f941f2a3059..4ec28f13a92e 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -1324,6 +1324,8 @@ static ssize_t aio_rw_vect_retry(struct kiocb *iocb)
1324 if (iocb->ki_pos < 0) 1324 if (iocb->ki_pos < 0)
1325 return -EINVAL; 1325 return -EINVAL;
1326 1326
1327 if (opcode == IOCB_CMD_PWRITEV)
1328 file_start_write(file);
1327 do { 1329 do {
1328 ret = rw_op(iocb, &iocb->ki_iovec[iocb->ki_cur_seg], 1330 ret = rw_op(iocb, &iocb->ki_iovec[iocb->ki_cur_seg],
1329 iocb->ki_nr_segs - iocb->ki_cur_seg, 1331 iocb->ki_nr_segs - iocb->ki_cur_seg,
@@ -1336,6 +1338,8 @@ static ssize_t aio_rw_vect_retry(struct kiocb *iocb)
1336 } while (ret > 0 && iocb->ki_left > 0 && 1338 } while (ret > 0 && iocb->ki_left > 0 &&
1337 (opcode == IOCB_CMD_PWRITEV || 1339 (opcode == IOCB_CMD_PWRITEV ||
1338 (!S_ISFIFO(inode->i_mode) && !S_ISSOCK(inode->i_mode)))); 1340 (!S_ISFIFO(inode->i_mode) && !S_ISSOCK(inode->i_mode))));
1341 if (opcode == IOCB_CMD_PWRITEV)
1342 file_end_write(file);
1339 1343
1340 /* This means we must have transferred all that we could */ 1344 /* This means we must have transferred all that we could */
1341 /* No need to retry anymore */ 1345 /* No need to retry anymore */