mirror_zfs/include
Don Brady 6b67a5bdd3 During pool export flush the ARC asynchronously
This also includes removing L2 vdevs asynchronously.

This commit also guarantees that spa_load_guid is unique.

The zpool reguid feature introduced the spa_load_guid, which is a
transient value used for runtime identification purposes in the ARC.
This value is not the same as the spa's persistent pool guid.

However, the value is seeded from spa_generate_load_guid() which
does not check for uniqueness against the spa_load_guid from other
pools.  Although extremely rare, you can end up with two different
pools sharing the same spa_load_guid value! So we guarantee that
the value is always unique and additionally not still in use by an
async arc flush task.

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Allan Jude <allan@klarasystems.com>
Signed-off-by: Don Brady <don.brady@klarasystems.com>
Closes #16215
2025-06-17 10:50:26 -07:00
..
os FreeBSD: zfs_putpages: don't undirty pages until after write completes 2025-06-17 10:50:26 -07:00
sys During pool export flush the ARC asynchronously 2025-06-17 10:50:26 -07:00
.gitignore OpenZFS restructuring - move platform specific sources 2019-09-06 11:26:26 -07:00
cityhash.h SPDX: license tags: MIT 2025-04-16 09:59:44 -07:00
libnvpair.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
libuutil_common.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
libuutil_impl.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
libuutil.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
libzdb.h libzdb: Initial breakout of libzdb 2024-02-05 10:00:41 -08:00
libzfs_core.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
libzfs.h Expose dataset encryption status via fast stat path 2025-06-17 10:49:40 -07:00
libzfsbootenv.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
libzutil.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
Makefile.am include: move zio_priority_t into zfs.h 2025-02-28 00:42:29 +05:00
thread_pool.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfeature_common.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_comutil.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_deleg.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_fletcher.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_namecheck.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_prop.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
zfs_valstr.h SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00