Brian Behlendorf 75a089ed34
Fix overly broad locking in spa_vdev_config_exit()
Calling vdev_free() only requires the we acquire the spa config
SCL_STATE_ALL locks, not the SCL_ALL locks.  In particular, we need
need to avoid taking the SCL_CONFIG lock (included in SCL_ALL) as a
writer since this can lead to a deadlock.  The txg_sync_thread() may
block in spa_txg_history_init_io() when taking the SCL_CONFIG lock
as a reading when it detects there's a pending writer.

Reviewed-by: Igor Kozhukhov <igor@dilos.org>
Reviewed-by: Mark Maybee <mark.maybee@delphix.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #11585
2021-02-24 10:00:21 -08:00
..
2020-12-10 14:09:23 -08:00
2020-08-20 10:30:06 -07:00
2019-07-26 10:54:14 -07:00
2020-07-29 16:35:33 -07:00
2020-07-29 16:35:33 -07:00
2019-06-19 09:48:12 -07:00
2020-08-17 15:25:37 -07:00
2020-06-18 12:21:18 -07:00
2019-12-03 09:51:44 -08:00
2020-11-02 11:51:12 -08:00
2020-11-10 10:37:10 -08:00
2021-02-19 22:33:15 -08:00
2020-09-04 10:29:39 -07:00
2020-06-18 12:21:25 -07:00
2020-09-04 10:34:28 -07:00
2020-06-18 12:21:25 -07:00
2017-10-11 16:54:48 -04:00
2020-06-18 12:21:25 -07:00
2020-11-13 13:51:51 -08:00
2021-01-26 19:35:59 -08:00
2020-11-13 13:51:51 -08:00
2020-12-10 14:09:23 -08:00
2019-06-19 09:48:12 -07:00
2020-07-29 16:35:33 -07:00
2020-07-29 16:35:33 -07:00
2021-01-20 21:27:30 -08:00
2020-06-18 12:21:25 -07:00
2020-06-18 12:21:25 -07:00
2020-06-18 12:21:25 -07:00
2021-02-20 20:16:50 -08:00
2019-09-02 17:56:41 -07:00
2019-10-09 10:36:03 -07:00
2021-01-26 19:36:51 -08:00
2020-11-13 13:51:51 -08:00
2020-11-13 13:51:51 -08:00
2020-07-29 16:35:33 -07:00
2020-06-18 12:21:25 -07:00
2019-09-02 17:56:41 -07:00
2020-10-02 17:44:10 -07:00
2020-06-18 12:20:38 -07:00
2021-02-19 22:33:15 -08:00
2020-10-02 17:44:10 -07:00
2021-01-20 21:27:30 -08:00
2021-02-20 20:16:50 -08:00
2020-06-18 12:20:38 -07:00
2020-11-13 13:51:51 -08:00
2021-02-19 22:33:15 -08:00
2020-06-18 12:21:25 -07:00
2020-06-18 12:21:18 -07:00
2020-09-03 20:09:52 -07:00
2020-11-17 09:50:52 -08:00