mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
zpool import -m also removing spare and cache when log device is missing
spa_import() relies on a pool config fetched by spa_try_import() for spare/cache devices. Import flags are not passed to spa_tryimport(), which makes it return early due to a missing log device and missing retrieving the cache device and spare eventually. Passing ZFS_IMPORT_MISSING_LOG to spa_tryimport() makes it fetch the correct configuration regardless of the missing log device. Reviewed-by: Alexander Motin <mav@FreeBSD.org> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ameer Hamza <ahamza@ixsystems.com> Closes #14794
This commit is contained in:
@@ -6378,6 +6378,16 @@ spa_tryimport(nvlist_t *tryconfig)
|
||||
spa->spa_config_source = SPA_CONFIG_SRC_SCAN;
|
||||
}
|
||||
|
||||
/*
|
||||
* spa_import() relies on a pool config fetched by spa_try_import()
|
||||
* for spare/cache devices. Import flags are not passed to
|
||||
* spa_tryimport(), which makes it return early due to a missing log
|
||||
* device and missing retrieving the cache device and spare eventually.
|
||||
* Passing ZFS_IMPORT_MISSING_LOG to spa_tryimport() makes it fetch
|
||||
* the correct configuration regardless of the missing log device.
|
||||
*/
|
||||
spa->spa_import_flags |= ZFS_IMPORT_MISSING_LOG;
|
||||
|
||||
error = spa_load(spa, SPA_LOAD_TRYIMPORT, SPA_IMPORT_EXISTING);
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user