diff options
author | Olaf Faaland <[email protected]> | 2017-07-14 18:15:00 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2017-07-25 13:22:28 -0400 |
commit | e889f0f520971fc2688189cdbe0efde2ccc8ec65 (patch) | |
tree | b62817ae612329e2a6dedcc548fb73cf213b190d /module | |
parent | 0582e403221008480657a88e8f50aecc88397c80 (diff) |
Report MMP_STATE_NO_HOSTID immediately
There is no need to perform the activity check before detecting that the
user must set the system hostid, because the pool's multihost property
is on, but spa_get_hostid() returned 0. The initial call to
vdev_uberblock_load() provided the information required.
Reviewed-by: Giuseppe Di Natale <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Olaf Faaland <[email protected]>
Closes #6388
Diffstat (limited to 'module')
-rw-r--r-- | module/zfs/spa.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/module/zfs/spa.c b/module/zfs/spa.c index f576293eb..f1f1444f1 100644 --- a/module/zfs/spa.c +++ b/module/zfs/spa.c @@ -2653,12 +2653,6 @@ spa_load_impl(spa_t *spa, uint64_t pool_guid, nvlist_t *config, */ activity_check = spa_activity_check_required(spa, ub, config); if (activity_check) { - error = spa_activity_check(spa, ub, config); - if (error) { - nvlist_free(label); - return (error); - } - if (ub->ub_mmp_magic == MMP_MAGIC && ub->ub_mmp_delay && spa_get_hostid() == 0) { nvlist_free(label); @@ -2667,6 +2661,12 @@ spa_load_impl(spa_t *spa, uint64_t pool_guid, nvlist_t *config, return (spa_vdev_err(rvd, VDEV_AUX_ACTIVE, EREMOTEIO)); } + error = spa_activity_check(spa, ub, config); + if (error) { + nvlist_free(label); + return (error); + } + fnvlist_add_uint64(spa->spa_load_info, ZPOOL_CONFIG_MMP_STATE, MMP_STATE_INACTIVE); fnvlist_add_uint64(spa->spa_load_info, |