mirror_zfs/tests/zfs-tests
Don Brady 975a13259b Add support for parallel pool exports
Changed spa_export_common() such that it no longer holds the
spa_namespace_lock for the entire duration and instead sets
spa_export_thread to indicate an import is in progress on the
spa.  This allows for an export to a diffent pool to proceed
in parallel while an export is still processing potentially
long operations like spa_unload_log_sm_flush_all().

Calls like spa_lookup() and spa_vdev_enter() that rely on
the spa_namespace_lock to serialize them against a concurrent
export, now wait for any in-progress export thread to complete
before proceeding.

The 'zpool import -a' sub-command also provides multi-threaded
support, using a thread pool to submit the exports in parallel.

Sponsored-By: Klara Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: George Wilson <gwilson@delphix.com>
Signed-off-by: Don Brady <don.brady@klarasystems.com>
Closes #16153
2024-05-14 08:57:41 -07:00
..
callbacks Split functional testings via github action matrix 2023-03-15 10:41:05 -07:00
cmd fix: variable type with zfs-tests/cmd/clonefile.c 2024-01-17 09:06:14 -08:00
include ZTS: Skip cross-fs bclone tests if FreeBSD < 14.0 2024-02-16 08:59:56 -08:00
tests Add support for parallel pool exports 2024-05-14 08:57:41 -07:00
.gitignore autoconf: use include directives instead of recursing down cmd 2022-05-10 10:18:38 -07:00
Makefile.am tests: add test for vdev_disk page alignment check 2024-04-11 14:42:46 -07:00