@@ -2183,7 +2183,7 @@ static ssize_t generic_perform_write(struct file *file,
21832183
21842184ssize_t
21852185generic_file_buffered_write (struct kiocb * iocb , const struct iovec * iov ,
2186- unsigned long nr_segs , loff_t pos , loff_t * ppos ,
2186+ unsigned long nr_segs , loff_t pos ,
21872187 size_t count , ssize_t written )
21882188{
21892189 struct file * file = iocb -> ki_filp ;
@@ -2195,7 +2195,7 @@ generic_file_buffered_write(struct kiocb *iocb, const struct iovec *iov,
21952195
21962196 if (likely (status >= 0 )) {
21972197 written += status ;
2198- * ppos = pos + status ;
2198+ iocb -> ki_pos = pos + status ;
21992199 }
22002200
22012201 return written ? written : status ;
@@ -2275,8 +2275,7 @@ ssize_t __generic_file_aio_write(struct kiocb *iocb, const struct iovec *iov,
22752275 pos += written ;
22762276 count -= written ;
22772277 written_buffered = generic_file_buffered_write (iocb , iov ,
2278- nr_segs , pos , & iocb -> ki_pos , count ,
2279- written );
2278+ nr_segs , pos , count , written );
22802279 /*
22812280 * If generic_file_buffered_write() retuned a synchronous error
22822281 * then we want to return the number of bytes which were
@@ -2309,7 +2308,7 @@ ssize_t __generic_file_aio_write(struct kiocb *iocb, const struct iovec *iov,
23092308 }
23102309 } else {
23112310 written = generic_file_buffered_write (iocb , iov , nr_segs ,
2312- pos , & iocb -> ki_pos , count , written );
2311+ pos , count , written );
23132312 }
23142313out :
23152314 current -> backing_dev_info = NULL ;
0 commit comments