mirror_zfs/tests/zfs-tests/cmd
ilbsmart 779a6c0bf6 deadlock between mm_sem and tx assign in zfs_write() and page fault
The bug time sequence:
1. thread #1, `zfs_write` assign a txg "n".
2. In a same process, thread #2, mmap page fault (which means the
   `mm_sem` is hold) occurred, `zfs_dirty_inode` open a txg failed,
   and wait previous txg "n" completed.
3. thread #1 call `uiomove` to write, however page fault is occurred
   in `uiomove`, which means it need `mm_sem`, but `mm_sem` is hold by
   thread #2, so it stuck and can't complete,  then txg "n" will
   not complete.

So thread #1 and thread #2 are deadlocked.

Reviewed-by: Chunwei Chen <tuxoko@gmail.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Signed-off-by: Grady Wong <grady.w@xtaotech.com>
Closes #7939
2018-10-16 11:11:24 -07:00
..
chg_usr_exec
devname2devid Fedora 28: Fix misc bounds check compiler warnings 2018-04-04 10:16:47 -07:00
dir_rd_update Use cstyle -cpP in make cstyle check 2016-12-12 10:46:26 -08:00
file_check
file_trunc Enable remaining tests 2017-05-22 12:34:32 -04:00
file_write
largest_file Enable remaining tests 2017-05-22 12:34:32 -04:00
libzfs_input_check Add basic zfs ioc input nvpair validation 2018-09-02 12:14:01 -07:00
mkbusy Fedora 28: Fix misc bounds check compiler warnings 2018-04-04 10:16:47 -07:00
mkfile Fix calloc(3) arguments order 2018-04-12 10:50:39 -07:00
mkfiles
mktree Fedora 28: Fix misc bounds check compiler warnings 2018-04-04 10:16:47 -07:00
mmap_exec Enable remaining tests 2017-05-22 12:34:32 -04:00
mmap_libaio Fix mmap / libaio deadlock 2018-03-28 10:19:22 -07:00
mmapwrite deadlock between mm_sem and tx assign in zfs_write() and page fault 2018-10-16 11:11:24 -07:00
nvlist_to_lua OpenZFS 7431 - ZFS Channel Programs 2018-02-08 15:28:18 -08:00
randfree_file Fix coverity defects: CID 147692, 147693, 147694 2016-10-13 14:38:59 -07:00
randwritecomp OpenZFS 9166 - zfs storage pool checkpoint 2018-06-26 10:07:42 -07:00
readmmap
rename_dir
rm_lnkcnt_zero_file
threadsappend
user_ns_exec Take user namespaces into account in policy checks 2018-03-07 15:40:42 -08:00
xattrtest Fedora 28: Fix misc bounds check compiler warnings 2018-04-04 10:16:47 -07:00
file_common.h Enable remaining tests 2017-05-22 12:34:32 -04:00
Makefile.am Add basic zfs ioc input nvpair validation 2018-09-02 12:14:01 -07:00