diff options
-rw-r--r-- | include/linux/fs.h | 2 | ||||
-rw-r--r-- | mm/filemap.c | 23 |
2 files changed, 1 insertions, 24 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 87be51aff9d7..c309b7a0da2d 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -2398,8 +2398,6 @@ extern ssize_t generic_file_aio_write(struct kiocb *, const struct iovec *, unsi | |||
2398 | extern ssize_t generic_file_direct_write(struct kiocb *, const struct iovec *, | 2398 | extern ssize_t generic_file_direct_write(struct kiocb *, const struct iovec *, |
2399 | unsigned long *, loff_t, size_t, size_t); | 2399 | unsigned long *, loff_t, size_t, size_t); |
2400 | extern ssize_t generic_perform_write(struct file *, struct iov_iter *, loff_t); | 2400 | extern ssize_t generic_perform_write(struct file *, struct iov_iter *, loff_t); |
2401 | extern ssize_t generic_file_buffered_write(struct kiocb *, const struct iovec *, | ||
2402 | unsigned long, loff_t, size_t, ssize_t); | ||
2403 | extern ssize_t do_sync_read(struct file *filp, char __user *buf, size_t len, loff_t *ppos); | 2401 | extern ssize_t do_sync_read(struct file *filp, char __user *buf, size_t len, loff_t *ppos); |
2404 | extern ssize_t do_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos); | 2402 | extern ssize_t do_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos); |
2405 | extern int generic_segment_checks(const struct iovec *iov, | 2403 | extern int generic_segment_checks(const struct iovec *iov, |
diff --git a/mm/filemap.c b/mm/filemap.c index 09bfc9b3bb51..1a455142784d 100644 --- a/mm/filemap.c +++ b/mm/filemap.c | |||
@@ -76,7 +76,7 @@ | |||
76 | * ->mmap_sem | 76 | * ->mmap_sem |
77 | * ->lock_page (access_process_vm) | 77 | * ->lock_page (access_process_vm) |
78 | * | 78 | * |
79 | * ->i_mutex (generic_file_buffered_write) | 79 | * ->i_mutex (generic_perform_write) |
80 | * ->mmap_sem (fault_in_pages_readable->do_page_fault) | 80 | * ->mmap_sem (fault_in_pages_readable->do_page_fault) |
81 | * | 81 | * |
82 | * bdi->wb.list_lock | 82 | * bdi->wb.list_lock |
@@ -2182,27 +2182,6 @@ again: | |||
2182 | } | 2182 | } |
2183 | EXPORT_SYMBOL(generic_perform_write); | 2183 | EXPORT_SYMBOL(generic_perform_write); |
2184 | 2184 | ||
2185 | ssize_t | ||
2186 | generic_file_buffered_write(struct kiocb *iocb, const struct iovec *iov, | ||
2187 | unsigned long nr_segs, loff_t pos, | ||
2188 | size_t count, ssize_t written) | ||
2189 | { | ||
2190 | struct file *file = iocb->ki_filp; | ||
2191 | ssize_t status; | ||
2192 | struct iov_iter i; | ||
2193 | |||
2194 | iov_iter_init(&i, iov, nr_segs, count, written); | ||
2195 | status = generic_perform_write(file, &i, pos); | ||
2196 | |||
2197 | if (likely(status >= 0)) { | ||
2198 | written += status; | ||
2199 | iocb->ki_pos = pos + status; | ||
2200 | } | ||
2201 | |||
2202 | return written ? written : status; | ||
2203 | } | ||
2204 | EXPORT_SYMBOL(generic_file_buffered_write); | ||
2205 | |||
2206 | /** | 2185 | /** |
2207 | * __generic_file_aio_write - write data to a file | 2186 | * __generic_file_aio_write - write data to a file |
2208 | * @iocb: IO state structure (file, offset, etc.) | 2187 | * @iocb: IO state structure (file, offset, etc.) |