mirror_zfs/cmd/zpool
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
..
compatibility.d ZTS: Test for all known zpool feature sets 2023-11-09 10:58:23 -08:00
os Fix buffer underflow if sysfs file is empty 2024-03-29 14:59:23 -07:00
zpool.d zed: misc vdev_enc_sysfs_path fixes 2023-11-07 09:09:24 -08:00
Makefile.am Add compatibility symlinks for FreeBSD 12.{3,4} and 13.{0,1,2} 2023-05-26 15:37:15 -07:00
zpool_iter.c zpool: Add slot power control, print power status 2023-12-21 10:53:16 -08:00
zpool_main.c Parallel pool import 2024-04-22 09:42:38 -07:00
zpool_util.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zpool_util.h zpool: Add slot power control, print power status 2023-12-21 10:53:16 -08:00
zpool_vdev.c zed: misc vdev_enc_sysfs_path fixes 2023-11-07 09:09:24 -08:00