提交 ccad2365 编写于 作者: A Al Viro

kill generic_file_buffered_write()

Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 58bfab39
...@@ -2398,8 +2398,6 @@ extern ssize_t generic_file_aio_write(struct kiocb *, const struct iovec *, unsi ...@@ -2398,8 +2398,6 @@ extern ssize_t generic_file_aio_write(struct kiocb *, const struct iovec *, unsi
extern ssize_t generic_file_direct_write(struct kiocb *, const struct iovec *, extern ssize_t generic_file_direct_write(struct kiocb *, const struct iovec *,
unsigned long *, loff_t, size_t, size_t); unsigned long *, loff_t, size_t, size_t);
extern ssize_t generic_perform_write(struct file *, struct iov_iter *, loff_t); extern ssize_t generic_perform_write(struct file *, struct iov_iter *, loff_t);
extern ssize_t generic_file_buffered_write(struct kiocb *, const struct iovec *,
unsigned long, loff_t, size_t, ssize_t);
extern ssize_t do_sync_read(struct file *filp, char __user *buf, size_t len, loff_t *ppos); extern ssize_t do_sync_read(struct file *filp, char __user *buf, size_t len, loff_t *ppos);
extern ssize_t do_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos); extern ssize_t do_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos);
extern int generic_segment_checks(const struct iovec *iov, extern int generic_segment_checks(const struct iovec *iov,
......
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
* ->mmap_sem * ->mmap_sem
* ->lock_page (access_process_vm) * ->lock_page (access_process_vm)
* *
* ->i_mutex (generic_file_buffered_write) * ->i_mutex (generic_perform_write)
* ->mmap_sem (fault_in_pages_readable->do_page_fault) * ->mmap_sem (fault_in_pages_readable->do_page_fault)
* *
* bdi->wb.list_lock * bdi->wb.list_lock
...@@ -2182,27 +2182,6 @@ ssize_t generic_perform_write(struct file *file, ...@@ -2182,27 +2182,6 @@ ssize_t generic_perform_write(struct file *file,
} }
EXPORT_SYMBOL(generic_perform_write); EXPORT_SYMBOL(generic_perform_write);
ssize_t
generic_file_buffered_write(struct kiocb *iocb, const struct iovec *iov,
unsigned long nr_segs, loff_t pos,
size_t count, ssize_t written)
{
struct file *file = iocb->ki_filp;
ssize_t status;
struct iov_iter i;
iov_iter_init(&i, iov, nr_segs, count, written);
status = generic_perform_write(file, &i, pos);
if (likely(status >= 0)) {
written += status;
iocb->ki_pos = pos + status;
}
return written ? written : status;
}
EXPORT_SYMBOL(generic_file_buffered_write);
/** /**
* __generic_file_aio_write - write data to a file * __generic_file_aio_write - write data to a file
* @iocb: IO state structure (file, offset, etc.) * @iocb: IO state structure (file, offset, etc.)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册