mirror_zfs/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 Illumos #2882, #2883, #2900 2013-09-04 15:49:00 -07:00
zfs_deleg.c Change ASSERT(!"...") to cmn_err(CE_PANIC, ...) 2015-03-03 13:22:21 -08:00
zfs_fletcher.c Add linux kernel module support 2010-08-31 13:41:58 -07:00
zfs_namecheck.c Illumos 4368, 4369. 2014-07-29 10:55:29 -07:00
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 Change KM_PUSHPAGE -> KM_SLEEP 2015-01-16 14:41:26 -08:00