From 2b425baecfe2fe789225cad6917e8847bc48a998 Mon Sep 17 00:00:00 2001 From: avg Date: Sun, 14 Oct 2012 07:52:25 +0000 Subject: [PATCH] MFC r241282: zfs boot: chose a "first" pool if none is explicitly requested git-svn-id: svn://svn.freebsd.org/base/stable/9@241532 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- sys/boot/zfs/zfs.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/boot/zfs/zfs.c b/sys/boot/zfs/zfs.c index 981be63c8..962f395f5 100644 --- a/sys/boot/zfs/zfs.c +++ b/sys/boot/zfs/zfs.c @@ -429,7 +429,10 @@ zfs_dev_open(struct open_file *f, ...) dev = va_arg(args, struct zfs_devdesc *); va_end(args); - spa = spa_find_by_guid(dev->pool_guid); + if (dev->pool_guid == 0) + spa = STAILQ_FIRST(&zfs_pools); + else + spa = spa_find_by_guid(dev->pool_guid); if (!spa) return (ENXIO); rv = zfs_spa_init(spa); @@ -543,7 +546,10 @@ zfs_fmtdev(void *vdev) if (dev->d_type != DEVT_ZFS) return (buf); - spa = spa_find_by_guid(dev->pool_guid); + if (dev->pool_guid == 0) + spa = STAILQ_FIRST(&zfs_pools); + else + spa = spa_find_by_guid(dev->pool_guid); if (spa == NULL) { printf("ZFS: can't find pool by guid\n"); return (buf); -- 2.45.0