George Wilson
c183d164aa
Parallel pool import
...
This commit allow spa_load() to drop the spa_namespace_lock so
that imports can happen concurrently. Prior to dropping the
spa_namespace_lock, the import logic will set the spa_load_thread
value to track the thread which is doing the import.
Consumers of spa_lookup() retain the same behavior by blocking
when either a thread is holding the spa_namespace_lock or the
spa_load_thread value is set. This will ensure that critical
concurrent operations cannot take place while a pool is being
imported.
The zpool command is also enhanced to provide multi-threaded support
when invoking zpool import -a.
Lastly, zinject provides a mechanism to insert artificial delays
when importing a pool and new zfs tests are added to verify parallel
import functionality.
Contributions-by: Don Brady <don.brady@klarasystems.com >
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: George Wilson <gwilson@delphix.com >
Closes #16093
2024-04-22 09:42:38 -07:00
..
2024-03-25 16:50:35 -07:00
2022-03-15 15:13:42 -07:00
2024-04-10 13:30:25 -07:00
2023-05-01 17:21:27 -07:00
2022-03-15 15:13:42 -07:00
2023-06-09 10:12:52 -07:00
2024-03-25 15:01:54 -07:00
2022-07-11 14:16:13 -07:00
2023-01-10 13:39:22 -08:00
2024-03-25 17:13:45 -07:00
2023-05-26 10:03:12 -07:00
2023-11-07 11:34:50 -08:00
2023-11-17 13:25:53 -08:00
2024-04-09 16:23:19 -07:00
2024-02-15 11:45:33 -08:00
2024-02-15 11:45:38 -08:00
2024-03-25 15:01:54 -07:00
2022-07-11 14:16:13 -07:00
2023-02-16 09:23:39 -08:00
2024-04-09 16:23:19 -07:00
2024-03-25 15:01:54 -07:00
2023-08-26 11:34:43 -07:00
2024-03-25 15:01:54 -07:00
2024-03-25 15:01:54 -07:00
2023-10-11 16:37:21 -07:00
2024-04-09 16:14:04 -07:00
2024-04-08 15:13:27 -07:00
2023-12-11 14:42:06 -08:00
2024-03-25 15:01:54 -07:00
2024-03-25 15:01:54 -07:00
2023-12-05 11:03:48 -08:00
2024-03-25 15:01:54 -07:00
2024-03-25 15:01:54 -07:00
2022-07-11 14:16:13 -07:00
2024-03-25 15:01:54 -07:00
2023-09-28 14:10:07 -07:00
2024-03-25 15:01:54 -07:00
2023-03-14 15:25:50 -07:00
2024-03-25 15:01:54 -07:00
2022-07-11 14:16:13 -07:00
2023-03-14 15:25:50 -07:00
2023-03-14 15:59:58 -07:00
2023-06-09 10:12:52 -07:00
2022-07-11 14:16:13 -07:00
2022-03-15 15:13:42 -07:00
2022-01-07 10:36:49 -08:00
2022-01-12 16:14:36 -08:00
2022-07-11 14:16:13 -07:00
2024-04-09 16:23:19 -07:00
2023-11-17 13:28:32 -08:00
2024-04-09 16:23:19 -07:00
2019-06-19 09:48:12 -07:00
2022-07-11 14:16:13 -07:00
2023-05-26 10:03:12 -07:00
2023-06-14 08:02:27 -07:00
2022-07-11 14:16:13 -07:00
2023-11-07 12:11:48 -08:00
2023-03-02 13:52:21 -08:00
2022-03-15 15:13:42 -07:00
2023-11-08 10:19:41 -08:00
2023-10-26 09:17:40 -07:00
2024-03-25 15:01:54 -07:00
2023-03-14 15:25:50 -07:00
2024-03-25 15:01:54 -07:00
2024-04-22 09:42:38 -07:00
2022-09-27 16:42:41 -07:00
2024-04-22 09:42:38 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2018-06-06 09:35:59 -07:00
2018-06-06 09:35:59 -07:00
2023-06-27 09:09:48 -07:00
2024-03-25 15:01:54 -07:00
2022-07-11 14:16:13 -07:00
2020-11-13 13:51:51 -08:00
2024-04-11 17:17:23 -07:00
2022-03-15 15:13:42 -07:00
2022-03-15 15:13:42 -07:00
2023-07-21 11:49:26 -07:00
2024-04-22 09:42:38 -07:00
2024-01-16 13:17:59 -08:00
2024-03-25 15:01:54 -07:00
2022-07-11 14:16:13 -07:00
2023-11-07 09:06:14 -08:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-11-30 13:46:26 -08:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2023-10-30 14:54:27 -07:00
2023-01-13 10:58:58 -08:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2023-04-06 10:35:02 -07:00
2024-03-25 15:01:54 -07:00
2024-04-22 09:42:38 -07:00
2023-03-14 15:25:50 -07:00
2022-07-11 14:16:13 -07:00
2024-04-22 09:42:38 -07:00
2024-04-11 17:17:23 -07:00
2024-03-21 16:43:53 -07:00
2024-03-25 14:58:50 -07:00
2024-03-25 14:58:50 -07:00
2023-03-14 15:25:50 -07:00
2018-02-08 15:29:24 -08:00
2023-03-14 15:25:50 -07:00
2020-02-14 13:41:42 -08:00
2022-09-02 13:31:19 -07:00
2023-03-14 15:25:50 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2023-03-02 13:52:21 -08:00
2024-04-11 17:17:11 -07:00
2023-06-09 10:12:52 -07:00
2023-03-02 13:52:21 -08:00
2024-04-11 14:38:22 -07:00
2023-10-30 14:51:56 -07:00
2023-06-09 10:12:52 -07:00
2023-10-23 09:55:36 -07:00
2022-07-11 14:16:13 -07:00
2023-11-28 13:35:14 -08:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2024-03-25 14:56:49 -07:00
2024-04-11 17:17:11 -07:00
2024-03-25 15:01:54 -07:00
2023-02-27 14:41:02 -08:00
2024-04-22 09:42:38 -07:00
2024-04-19 16:18:54 -07:00
2022-07-11 14:16:13 -07:00
2022-11-29 09:26:03 -08:00
2022-03-23 08:51:00 -07:00
2023-12-01 15:23:20 -08:00