freebsd-dev/module/zcommon
Chunwei Chen 5475aada94 Linux 4.1 compat: loop device on ZFS
Starting from Linux 4.1 allows iov_iter with bio_vec to be passed into
iter_read/iter_write. Notably, the loop device will pass bio_vec to backend
filesystem. However, current ZFS code assumes iovec without any check, so it
will always crash when using loop device.

With the restructured uio_t, we can safely pass bio_vec in uio_t with UIO_BVEC
set. The uio* functions are modified to handle bio_vec case separately.

The const uio_iov causes some warning in xuio related stuff, so explicit
convert them to non const.

Signed-off-by: Chunwei Chen <tuxoko@gmail.com>
Signed-off-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #3511
Closes #3640
2015-08-24 10:17:06 -07:00
..
Makefile.in Support parallel build trees (VPATH builds) 2015-07-17 13:42:51 -07:00
zfs_comutil.c
zfs_deleg.c
zfs_fletcher.c
zfs_namecheck.c
zfs_prop.c Illumos 5027 - zfs large block support 2015-05-11 12:23:16 -07:00
zfs_uio.c Linux 4.1 compat: loop device on ZFS 2015-08-24 10:17:06 -07:00
zpool_prop.c Illumos 5027 - zfs large block support 2015-05-11 12:23:16 -07:00
zprop_common.c