kill generic_file_buffered_write()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -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,
|
||||||
|
23
mm/filemap.c
23
mm/filemap.c
@@ -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 @@ again:
|
|||||||
}
|
}
|
||||||
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.)
|
||||||
|
Reference in New Issue
Block a user