freebsd-nq/tests/zfs-tests/cmd/mmap_libaio
Brian Behlendorf b2ab468dde
Fix mmap / libaio deadlock
Calling uiomove() in mappedread() under the page lock can result
in a deadlock if the user space page needs to be faulted in.

Resolve the issue by dropping the page lock before the uiomove().
The inode range lock protects against concurrent updates via
zfs_read() and zfs_write().

Reviewed-by: Albert Lee <trisk@forkgnu.org>
Reviewed-by: Chunwei Chen <david.chen@nutanix.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #7335 
Closes #7339
2018-03-28 10:19:22 -07:00
..
.gitignore Fix mmap / libaio deadlock 2018-03-28 10:19:22 -07:00
Makefile.am Fix mmap / libaio deadlock 2018-03-28 10:19:22 -07:00
mmap_libaio.c Fix mmap / libaio deadlock 2018-03-28 10:19:22 -07:00