mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-25 03:37:45 +03:00
Skip spacemaps reading in case of pool readonly import
The only zdb utility require to read metaslab-related data during read-only pool import because of spacemaps validation. Add global variable which will allow zdb read spacemaps in case of readonly import mode. Reviewed-by: Serapheim Dimitropoulos <serapheim@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Fedor Uporov <fuporov.vstack@gmail.com> Closes #9095 Closes #12687
This commit is contained in:
@@ -180,6 +180,12 @@ boolean_t spa_create_process = B_TRUE; /* no process ==> no sysdc */
|
||||
*/
|
||||
boolean_t spa_load_verify_dryrun = B_FALSE;
|
||||
|
||||
/*
|
||||
* Allow read spacemaps in case of readonly import (spa_mode == SPA_MODE_READ).
|
||||
* This is used by zdb for spacemaps verification.
|
||||
*/
|
||||
boolean_t spa_mode_readable_spacemaps = B_FALSE;
|
||||
|
||||
/*
|
||||
* This (illegal) pool name is used when temporarily importing a spa_t in order
|
||||
* to get the vdev stats associated with the imported devices.
|
||||
@@ -1242,6 +1248,7 @@ spa_activate(spa_t *spa, spa_mode_t mode)
|
||||
|
||||
spa->spa_state = POOL_STATE_ACTIVE;
|
||||
spa->spa_mode = mode;
|
||||
spa->spa_read_spacemaps = spa_mode_readable_spacemaps;
|
||||
|
||||
spa->spa_normal_class = metaslab_class_create(spa, zfs_metaslab_ops);
|
||||
spa->spa_log_class = metaslab_class_create(spa, zfs_metaslab_ops);
|
||||
|
||||
Reference in New Issue
Block a user