diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2015-04-04 01:14:53 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2015-04-11 22:29:43 -0400 |
commit | 8436318205b9f29e45db88850ec60e326327e241 (patch) | |
tree | 4339c116819e9e6d8e61a1876d9d0d08d0ee089c /fs/read_write.c | |
parent | 1c65d98672e09a0cb28e1e9ae49e9d96355f522f (diff) |
->aio_read and ->aio_write removed
no remaining users
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/read_write.c')
-rw-r--r-- | fs/read_write.c | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/fs/read_write.c b/fs/read_write.c index 3d42d8ee5940..45d583c33879 100644 --- a/fs/read_write.c +++ b/fs/read_write.c | |||
@@ -22,8 +22,6 @@ | |||
22 | #include <asm/unistd.h> | 22 | #include <asm/unistd.h> |
23 | 23 | ||
24 | typedef ssize_t (*io_fn_t)(struct file *, char __user *, size_t, loff_t *); | 24 | typedef ssize_t (*io_fn_t)(struct file *, char __user *, size_t, loff_t *); |
25 | typedef ssize_t (*iov_fn_t)(struct kiocb *, const struct iovec *, | ||
26 | unsigned long, loff_t); | ||
27 | typedef ssize_t (*iter_fn_t)(struct kiocb *, struct iov_iter *); | 25 | typedef ssize_t (*iter_fn_t)(struct kiocb *, struct iov_iter *); |
28 | 26 | ||
29 | const struct file_operations generic_ro_fops = { | 27 | const struct file_operations generic_ro_fops = { |
@@ -668,21 +666,6 @@ static ssize_t do_iter_readv_writev(struct file *filp, struct iov_iter *iter, | |||
668 | return ret; | 666 | return ret; |
669 | } | 667 | } |
670 | 668 | ||
671 | static ssize_t do_sync_readv_writev(struct file *filp, struct iov_iter *iter, | ||
672 | loff_t *ppos, iov_fn_t fn) | ||
673 | { | ||
674 | struct kiocb kiocb; | ||
675 | ssize_t ret; | ||
676 | |||
677 | init_sync_kiocb(&kiocb, filp); | ||
678 | kiocb.ki_pos = *ppos; | ||
679 | |||
680 | ret = fn(&kiocb, iter->iov, iter->nr_segs, kiocb.ki_pos); | ||
681 | BUG_ON(ret == -EIOCBQUEUED); | ||
682 | *ppos = kiocb.ki_pos; | ||
683 | return ret; | ||
684 | } | ||
685 | |||
686 | /* Do it by hand, with file-ops */ | 669 | /* Do it by hand, with file-ops */ |
687 | static ssize_t do_loop_readv_writev(struct file *filp, struct iov_iter *iter, | 670 | static ssize_t do_loop_readv_writev(struct file *filp, struct iov_iter *iter, |
688 | loff_t *ppos, io_fn_t fn) | 671 | loff_t *ppos, io_fn_t fn) |
@@ -797,7 +780,6 @@ static ssize_t do_readv_writev(int type, struct file *file, | |||
797 | struct iov_iter iter; | 780 | struct iov_iter iter; |
798 | ssize_t ret; | 781 | ssize_t ret; |
799 | io_fn_t fn; | 782 | io_fn_t fn; |
800 | iov_fn_t fnv; | ||
801 | iter_fn_t iter_fn; | 783 | iter_fn_t iter_fn; |
802 | 784 | ||
803 | ret = import_iovec(type, uvector, nr_segs, | 785 | ret = import_iovec(type, uvector, nr_segs, |
@@ -812,22 +794,17 @@ static ssize_t do_readv_writev(int type, struct file *file, | |||
812 | if (ret < 0) | 794 | if (ret < 0) |
813 | goto out; | 795 | goto out; |
814 | 796 | ||
815 | fnv = NULL; | ||
816 | if (type == READ) { | 797 | if (type == READ) { |
817 | fn = file->f_op->read; | 798 | fn = file->f_op->read; |
818 | fnv = file->f_op->aio_read; | ||
819 | iter_fn = file->f_op->read_iter; | 799 | iter_fn = file->f_op->read_iter; |
820 | } else { | 800 | } else { |
821 | fn = (io_fn_t)file->f_op->write; | 801 | fn = (io_fn_t)file->f_op->write; |
822 | fnv = file->f_op->aio_write; | ||
823 | iter_fn = file->f_op->write_iter; | 802 | iter_fn = file->f_op->write_iter; |
824 | file_start_write(file); | 803 | file_start_write(file); |
825 | } | 804 | } |
826 | 805 | ||
827 | if (iter_fn) | 806 | if (iter_fn) |
828 | ret = do_iter_readv_writev(file, &iter, pos, iter_fn); | 807 | ret = do_iter_readv_writev(file, &iter, pos, iter_fn); |
829 | else if (fnv) | ||
830 | ret = do_sync_readv_writev(file, &iter, pos, fnv); | ||
831 | else | 808 | else |
832 | ret = do_loop_readv_writev(file, &iter, pos, fn); | 809 | ret = do_loop_readv_writev(file, &iter, pos, fn); |
833 | 810 | ||
@@ -977,7 +954,6 @@ static ssize_t compat_do_readv_writev(int type, struct file *file, | |||
977 | struct iov_iter iter; | 954 | struct iov_iter iter; |
978 | ssize_t ret; | 955 | ssize_t ret; |
979 | io_fn_t fn; | 956 | io_fn_t fn; |
980 | iov_fn_t fnv; | ||
981 | iter_fn_t iter_fn; | 957 | iter_fn_t iter_fn; |
982 | 958 | ||
983 | ret = compat_import_iovec(type, uvector, nr_segs, | 959 | ret = compat_import_iovec(type, uvector, nr_segs, |
@@ -992,22 +968,17 @@ static ssize_t compat_do_readv_writev(int type, struct file *file, | |||
992 | if (ret < 0) | 968 | if (ret < 0) |
993 | goto out; | 969 | goto out; |
994 | 970 | ||
995 | fnv = NULL; | ||
996 | if (type == READ) { | 971 | if (type == READ) { |
997 | fn = file->f_op->read; | 972 | fn = file->f_op->read; |
998 | fnv = file->f_op->aio_read; | ||
999 | iter_fn = file->f_op->read_iter; | 973 | iter_fn = file->f_op->read_iter; |
1000 | } else { | 974 | } else { |
1001 | fn = (io_fn_t)file->f_op->write; | 975 | fn = (io_fn_t)file->f_op->write; |
1002 | fnv = file->f_op->aio_write; | ||
1003 | iter_fn = file->f_op->write_iter; | 976 | iter_fn = file->f_op->write_iter; |
1004 | file_start_write(file); | 977 | file_start_write(file); |
1005 | } | 978 | } |
1006 | 979 | ||
1007 | if (iter_fn) | 980 | if (iter_fn) |
1008 | ret = do_iter_readv_writev(file, &iter, pos, iter_fn); | 981 | ret = do_iter_readv_writev(file, &iter, pos, iter_fn); |
1009 | else if (fnv) | ||
1010 | ret = do_sync_readv_writev(file, &iter, pos, fnv); | ||
1011 | else | 982 | else |
1012 | ret = do_loop_readv_writev(file, &iter, pos, fn); | 983 | ret = do_loop_readv_writev(file, &iter, pos, fn); |
1013 | 984 | ||