[Devel] [PATCH rh7 v2 4/4] fs/iov_iter: Drop ITER_PAGE iov_iter primitive - no users

2020-12-25 Thread Konstantin Khorenko
And no such iterator in mainstream kernel as well => good reason to drop it. To_merge: 3f4f3e9c9d8e ("mm: extend generic iov iterator API") Signed-off-by: Konstantin Khorenko --- include/linux/fs.h | 26 - mm/iov-iter.c | 141 - 2 files

[Devel] [PATCH rh7 v2 3/4] fs/iov_iter: Introduce "iov" member in struct iov_iter for ITER_IOVEC

2020-12-25 Thread Konstantin Khorenko
zfs code expects the data of ITER_IOVEC iov_iter is accessed via .iov member, so add the field to struct iov_iter and fill with the data correctly. https://bugs.openvz.org/browse/OVZ-7243 Signed-off-by: Konstantin Khorenko --- fs/ceph/file.c | 4 ++-- include/linux/fs.h | 14 --

[Devel] [PATCH rh7 v2 2/4] fs/iov_iter: Introduce and use iov_iter.type instead of "ops" verification

2020-12-25 Thread Konstantin Khorenko
zfs code checks the iov_iter type via "type" struct field, so we have to 1) have it 2) put proper types there https://bugs.openvz.org/browse/OVZ-7243 Signed-off-by: Konstantin Khorenko --- include/linux/fs.h | 164 + 1 file changed, 105 insertions

[Devel] [PATCH rh7 v2 1/4] fs: Drop "pos" argument from {read, write}_iter() callbacks

2020-12-25 Thread Konstantin Khorenko
This syncs file_operations::read_iter()/write_iter() declarations with mainstream versions. We brought _iter() interface before it appeared in mainstream and callbacks declarations are not in sync. Usually this does not hurt, but zfs is a bit upset that we have address_space_operations::direct_IO

[Devel] [PATCH rh7 v2 0/4] fs/iov_iter: Fix ZFS kernel module compilation

2020-12-25 Thread Konstantin Khorenko
Commit 9fdccb71a24b ("fs: Pass iov_iter to ->direct_IO") in VZ kernel has changed the interface of .direct_IO() callback and zfs assumes now VZ kernel has iov_iters like in mainstream, but this was not completely true. As we have added iters long ago, the interface is different from mainstream's v