zfs/cmd
Serapheim Dimitropoulos 1c4b0fc745 Race condition between spa async threads and export
In the past we've seen multiple race conditions that have
to do with open-context threads async threads and concurrent
calls to spa_export()/spa_destroy() (including the one
referenced in issue #9015).

This patch ensures that only one thread can execute the
main body of spa_export_common() at a time, with subsequent
threads returning with a new error code created just for
this situation, eliminating this way any race condition
bugs introduced by concurrent calls to this function.

Reviewed by: Matt Ahrens <matt@delphix.com>
Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Serapheim Dimitropoulos <serapheim@delphix.com>
Closes #9015
Closes #9044
2019-09-25 11:27:50 -07:00
..
arc_summary arc_summary: prefer python3 version and install when there is no python 2019-06-11 10:45:02 -07:00
arcstat pyzfs: python3 support (build system) 2019-01-06 10:39:41 -08:00
dbufstat pyzfs: python3 support (build system) 2019-01-06 10:39:41 -08:00
fsck_zfs Add /sbin/fsck.zfs helper 2013-01-09 16:54:58 -08:00
mount_zfs Add libzutil for libzfs or libzpool consumers 2018-11-05 11:22:33 -08:00
raidz_test Support -fsanitize=address with --enable-asan 2018-01-10 10:49:27 -08:00
vdev_id Add enclosure_symlinks option to vdev_id 2018-12-14 17:27:49 -08:00
zdb MMP interval and fail_intervals in uberblock 2019-03-21 12:47:57 -07:00
zed systemd encryption key support 2019-09-25 11:27:49 -07:00
zfs Let zfs mount all tolerate in-progress mounts 2019-09-25 11:27:48 -07:00
zgenhostid Add zgenhostid utility script 2017-07-25 13:22:03 -04:00
zhack Add libzutil for libzfs or libzpool consumers 2018-11-05 11:22:33 -08:00
zinject Cleanup nits from ab7615d92 2019-04-14 11:03:06 -07:00
zpool Fix memory leak in check_disk() 2019-09-25 11:27:47 -07:00
zstreamdump zstreamdump: add per-record-type counters and an overhead counter 2019-09-25 11:27:48 -07:00
ztest Race condition between spa async threads and export 2019-09-25 11:27:50 -07:00
zvol_id Fedora 28: Fix misc bounds check compiler warnings 2018-04-04 10:16:47 -07:00
Makefile.am Make Python detection optional and more portable 2019-06-07 12:45:40 -07:00