summaryrefslogtreecommitdiffstats
path: root/config/user.m4
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2018-03-28 10:19:22 -0700
committerGitHub <[email protected]>2018-03-28 10:19:22 -0700
commitb2ab468dded24a090dba9fc8396b3d394011ce14 (patch)
tree52ce015e474ee028851256f3b423075b7cf73f58 /config/user.m4
parent668173b5764386b47de0beb7c57ff8ce8f68f983 (diff)
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 <[email protected]> Reviewed-by: Chunwei Chen <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #7335 Closes #7339
Diffstat (limited to 'config/user.m4')
-rw-r--r--config/user.m41
1 files changed, 1 insertions, 0 deletions
diff --git a/config/user.m4 b/config/user.m4
index f5e5e9acd..f2f366e3c 100644
--- a/config/user.m4
+++ b/config/user.m4
@@ -13,6 +13,7 @@ AC_DEFUN([ZFS_AC_CONFIG_USER], [
ZFS_AC_CONFIG_USER_LIBBLKID
ZFS_AC_CONFIG_USER_LIBUDEV
ZFS_AC_CONFIG_USER_LIBSSL
+ ZFS_AC_CONFIG_USER_LIBAIO
ZFS_AC_CONFIG_USER_RUNSTATEDIR
ZFS_AC_CONFIG_USER_MAKEDEV_IN_SYSMACROS
ZFS_AC_CONFIG_USER_MAKEDEV_IN_MKDEV