Files
mirror_zfs/module/zfs
ilbsmart 98bb45e27a 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
2019-02-22 09:47:34 -08:00
..
2018-11-08 14:38:28 -08:00
2018-11-08 14:38:28 -08:00
2015-01-16 14:41:26 -08:00
2017-05-26 11:42:10 -07:00
2017-06-26 14:36:49 -07:00
2015-01-16 14:41:26 -08:00
2017-07-13 13:54:00 -04:00
2015-01-16 14:41:26 -08:00
2017-07-13 13:54:00 -04:00
2016-04-21 09:49:25 -07:00
2018-11-08 14:38:28 -08:00
2010-08-31 13:41:58 -07:00
2018-11-08 14:38:28 -08:00
2017-07-13 13:54:00 -04:00
2018-01-30 10:27:30 -06:00
2016-11-29 14:34:33 -08:00
2010-08-31 13:41:58 -07:00
2017-03-10 09:51:33 -08:00
2017-03-10 09:51:33 -08:00
2017-01-03 11:31:18 -06:00
2017-03-29 12:24:51 -07:00
2018-11-08 14:38:28 -08:00
2018-03-14 16:10:36 -07:00
2018-05-07 17:19:57 -07:00
2018-01-30 10:27:31 -06:00
2017-01-23 10:35:58 -08:00