Lines Matching refs:root

172  * Get physpath, topfs and bootfs for ZFS root dataset.
176 get_zfs_root(zfs_handle_t *zfh, grub_fs_t *fs, grub_root_t *root)
187 if ((ret = zpool_get_physpath(zph, root->gr_physpath,
188 sizeof (root->gr_physpath))) == 0 &&
190 root->gr_fs[GRBM_ZFS_BOOTFS].gfs_dev,
191 sizeof (root->gr_fs[GRBM_ZFS_BOOTFS].gfs_dev), NULL,
194 (void) strlcpy(root->gr_fs[GRBM_ZFS_TOPFS].gfs_dev, name,
195 sizeof (root->gr_fs[GRBM_ZFS_TOPFS].gfs_dev));
196 (void) grub_fsd_get_mountp(root->gr_fs + GRBM_ZFS_BOOTFS,
198 (void) grub_fsd_get_mountp(root->gr_fs + GRBM_ZFS_TOPFS,
408 * for bootsign, if bootsign is found on ufs slice GRUB sets it as a root,
409 * if on zfs, then GRUB uses zfs slice as root only if bootsign wasn't found
434 * Get current root file system.
438 grub_current_root(grub_fs_t *fs, grub_root_t *root)
465 (void) strlcpy(root->gr_fstyp, mp.mnt_fstype, sizeof (root->gr_fstyp));
467 if (strcmp(root->gr_fstyp, MNTTYPE_ZFS) == 0) {
480 if (get_zfs_root(zfh, fs, root))
484 * For mirrored root physpath would contain the list of
487 rc = get_one_physpath(root->gr_physpath, SLCNUM_INVALID,
493 (void) strlcpy(root->gr_fs[GRBM_UFS].gfs_dev, mp.mnt_special,
494 sizeof (root->gr_fs[GRBM_UFS].gfs_dev));
495 (void) strlcpy(root->gr_fs[GRBM_UFS].gfs_mountp, mp.mnt_mountp,
496 sizeof (root->gr_fs[GRBM_UFS].gfs_mountp));
505 grub_get_rootfsd(const grub_root_t *root)
509 assert(root);
510 if (strcmp(MNTTYPE_UFS, root->gr_fstyp) == 0)
511 fsd = (grub_fsdesc_t *)root->gr_fs + GRBM_UFS;
512 else if (strcmp(MNTTYPE_ZFS, root->gr_fstyp) == 0)
513 fsd = (grub_fsdesc_t *)root->gr_fs + GRBM_ZFS_BOOTFS;