diff options
author | Brian Behlendorf <[email protected]> | 2018-03-28 10:19:22 -0700 |
---|---|---|
committer | GitHub <[email protected]> | 2018-03-28 10:19:22 -0700 |
commit | b2ab468dded24a090dba9fc8396b3d394011ce14 (patch) | |
tree | 52ce015e474ee028851256f3b423075b7cf73f58 /tests/zfs-tests/include | |
parent | 668173b5764386b47de0beb7c57ff8ce8f68f983 (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 'tests/zfs-tests/include')
-rw-r--r-- | tests/zfs-tests/include/commands.cfg | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tests/zfs-tests/include/commands.cfg b/tests/zfs-tests/include/commands.cfg index 64d6ad5d7..2a6c3b13d 100644 --- a/tests/zfs-tests/include/commands.cfg +++ b/tests/zfs-tests/include/commands.cfg @@ -164,6 +164,7 @@ export ZFSTEST_FILES='chg_usr_exec mkfiles mktree mmap_exec + mmap_libaio mmapwrite nvlist_to_lua randfree_file |