summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/fs/zfs/spa.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/fs/zfs/spa.c')
-rw-r--r--usr/src/uts/common/fs/zfs/spa.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/usr/src/uts/common/fs/zfs/spa.c b/usr/src/uts/common/fs/zfs/spa.c
index 70d690d587..d390e39195 100644
--- a/usr/src/uts/common/fs/zfs/spa.c
+++ b/usr/src/uts/common/fs/zfs/spa.c
@@ -32,6 +32,7 @@
* Copyright (c) 2017, Intel Corporation.
* Copyright 2020 Joshua M. Clulow <josh@sysmgr.org>
* Copyright 2021 OmniOS Community Edition (OmniOSce) Association.
+ * Copyright 2022 Oxide Computer Company
*/
/*
@@ -5593,6 +5594,12 @@ spa_import_rootpool(char *devpath, char *devid, uint64_t pool_guid,
goto out;
}
+ /*
+ * The root disk may have been expanded while the system was offline.
+ * Kick off an async task to check for and handle expansion.
+ */
+ spa_async_request(spa, SPA_ASYNC_AUTOEXPAND);
+
error = 0;
out:
spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
@@ -7517,8 +7524,6 @@ spa_async_probe(spa_t *spa, vdev_t *vd)
static void
spa_async_autoexpand(spa_t *spa, vdev_t *vd)
{
- sysevent_id_t eid;
- nvlist_t *attr;
char *physpath;
if (!spa->spa_autoexpand)
@@ -7535,13 +7540,8 @@ spa_async_autoexpand(spa_t *spa, vdev_t *vd)
physpath = kmem_zalloc(MAXPATHLEN, KM_SLEEP);
(void) snprintf(physpath, MAXPATHLEN, "/devices%s", vd->vdev_physpath);
- VERIFY(nvlist_alloc(&attr, NV_UNIQUE_NAME, KM_SLEEP) == 0);
- VERIFY(nvlist_add_string(attr, DEV_PHYS_PATH, physpath) == 0);
-
- (void) ddi_log_sysevent(zfs_dip, SUNW_VENDOR, EC_DEV_STATUS,
- ESC_DEV_DLE, attr, &eid, DDI_SLEEP);
+ zfs_post_dle_sysevent(physpath);
- nvlist_free(attr);
kmem_free(physpath, MAXPATHLEN);
}