Files
mirror_zfs/module/zfs
Brian Behlendorf f90a30ad1b Fix txg_sync_thread hang in scan_exec_io()
When scn->scn_maxinflight_bytes has not been initialized it's
possible to hang on the condition variable in scan_exec_io().
This issue was uncovered by ztest and is only possible when
deduplication is enabled through the following call path.

  txg_sync_thread()
    spa_sync()
      ddt_sync_table()
        ddt_sync_entry()
          dsl_scan_ddt_entry()
            dsl_scan_scrub_cb()
              dsl_scan_enqueuei()
                scan_exec_io()
                  cv_wait()

Resolve the issue by always initializing scn_maxinflight_bytes
to a reasonable minimum value.  This value will be recalculated
in dsl_scan_sync() to pick up changes to zfs_scan_vdev_limit
and the addition/removal of vdevs.

Reviewed-by: Tom Caputi <tcaputi@datto.com>
Reviewed by: George Melikov <mail@gmelikov.ru>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #7098
2018-01-31 09:33:33 -08:00
..
2017-11-18 14:08:00 -08:00
2018-01-08 09:52:36 -08:00
2015-01-16 14:41:26 -08:00
2017-08-14 10:36:48 -07:00
2017-06-26 14:36:49 -07:00
2018-01-29 10:24:52 -08:00
2015-01-16 14:41:26 -08:00
2017-11-15 17:27:01 -08:00
2017-11-15 17:27:01 -08:00
2017-08-14 10:36:48 -07:00
2017-11-15 17:27:01 -08:00
2017-08-14 10:36:48 -07:00
2017-10-11 16:54:48 -04:00
2015-01-16 14:41:26 -08:00
2017-11-15 17:27:01 -08:00
2016-04-21 09:49:25 -07:00
2017-11-15 17:27:01 -08:00
2017-01-03 11:31:18 -06:00
2017-10-10 16:41:47 -07:00
2010-08-31 13:41:58 -07:00
2018-01-25 13:40:38 -08:00
2017-07-13 13:54:00 -04:00
2016-11-29 14:34:33 -08:00
2018-01-25 13:40:38 -08:00
2017-11-15 17:27:01 -08:00
2010-08-31 13:41:58 -07:00
2017-03-10 09:51:33 -08:00
2017-08-09 15:31:08 -07:00
2017-01-03 11:31:18 -06:00
2017-10-11 16:59:42 -04:00
2018-01-25 13:40:38 -08:00
2017-09-19 12:19:08 -07:00
2017-03-10 09:51:41 -08:00
2017-11-18 14:08:00 -08:00