summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c6
-rw-r--r--sys/contrib/opensolaris/uts/common/fs/zfs/spa.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
index 0e649bb..f8d9465 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
@@ -598,8 +598,12 @@ spa_load(spa_t *spa, nvlist_t *config, spa_load_state_t state, int mosconfig)
goto out;
}
+ /*
+ * hostid is set after the root file system is mounted, so
+ * ignore the check until it's done.
+ */
if (nvlist_lookup_uint64(newconfig, ZPOOL_CONFIG_HOSTID,
- &hostid) == 0) {
+ &hostid) == 0 && root_mounted()) {
char *hostname;
unsigned long myhostid = 0;
diff --git a/sys/contrib/opensolaris/uts/common/fs/zfs/spa.c b/sys/contrib/opensolaris/uts/common/fs/zfs/spa.c
index 0e649bb..f8d9465 100644
--- a/sys/contrib/opensolaris/uts/common/fs/zfs/spa.c
+++ b/sys/contrib/opensolaris/uts/common/fs/zfs/spa.c
@@ -598,8 +598,12 @@ spa_load(spa_t *spa, nvlist_t *config, spa_load_state_t state, int mosconfig)
goto out;
}
+ /*
+ * hostid is set after the root file system is mounted, so
+ * ignore the check until it's done.
+ */
if (nvlist_lookup_uint64(newconfig, ZPOOL_CONFIG_HOSTID,
- &hostid) == 0) {
+ &hostid) == 0 && root_mounted()) {
char *hostname;
unsigned long myhostid = 0;
OpenPOWER on IntegriCloud