Mercurial > illumos > illumos-gate
diff usr/src/uts/common/fs/zfs/zfs_vfsops.c @ 5648:161f8007cab9
6521412 PSARC 2006/525: new boot sparc
6451467 bootadm update-archive does the wrong thing if interrupted
6477079 ability to pick up post bfu binaries from bfu PATH conflicts with sane scripting
author | setje |
---|---|
date | Fri, 07 Dec 2007 16:04:33 -0800 |
parents | 504c84876fda |
children | 23e77aa611b1 |
line wrap: on
line diff
--- a/usr/src/uts/common/fs/zfs/zfs_vfsops.c Fri Dec 07 15:46:44 2007 -0800 +++ b/usr/src/uts/common/fs/zfs/zfs_vfsops.c Fri Dec 07 16:04:33 2007 -0800 @@ -859,6 +859,9 @@ znode_t *zp = NULL; vnode_t *vp = NULL; char *zfs_bootpath; +#if defined(_OBP) + int proplen; +#endif ASSERT(vfsp); @@ -870,6 +873,18 @@ if (zfsrootdone++) return (EBUSY); +#if defined(_OBP) + proplen = BOP_GETPROPLEN(bootops, "zfs-bootfs"); + if (proplen == 0) + return (EIO); + zfs_bootpath = kmem_zalloc(proplen, KM_SLEEP); + if (BOP_GETPROP(bootops, "zfs-bootfs", zfs_bootpath) == -1) { + kmem_free(zfs_bootpath, proplen); + return (EIO); + } + error = parse_bootpath(zfs_bootpath, rootfs.bo_name); + kmem_free(zfs_bootpath, proplen); +#else if (ddi_prop_lookup_string(DDI_DEV_T_ANY, ddi_root_node(), DDI_PROP_DONTPASS, "zfs-bootfs", &zfs_bootpath) != DDI_SUCCESS) @@ -877,6 +892,7 @@ error = parse_bootpath(zfs_bootpath, rootfs.bo_name); ddi_prop_free(zfs_bootpath); +#endif if (error) return (error);