Lines Matching defs:barg
244 grub_barg_t *barg;
249 barg = (grub_barg_t *)data;
250 menu = barg->gb_entry->ge_menu;
253 if (get_zfs_root(zfh, &menu->gm_fs, &barg->gb_root) != 0 ||
254 get_one_physpath(barg->gb_root.gr_physpath, barg->gb_prtnum,
255 barg->gb_slcnum) != 0)
261 if (barg->gb_root.gr_fs[GRBM_ZFS_TOPFS].gfs_mountp[0] == 0) {
262 if (grub_fsd_mount_tmp(barg->gb_root.gr_fs +
269 barg->gb_root.gr_fs[GRBM_ZFS_TOPFS].gfs_mountp,
270 barg->gb_bootsign);
276 (void) strlcpy(barg->gb_root.gr_fstyp, MNTTYPE_ZFS,
277 sizeof (barg->gb_root.gr_fstyp));
278 barg->gb_walkret = 0;
282 grub_fsd_umount_tmp(barg->gb_root.gr_fs + GRBM_ZFS_TOPFS);
286 return (barg->gb_walkret == 0);
293 grub_barg_t *barg;
295 barg = (grub_barg_t *)arg;
297 (void) strlcpy(barg->gb_root.gr_fs[GRBM_UFS].gfs_dev, path,
298 sizeof (barg->gb_root.gr_fs[GRBM_UFS].gfs_dev));
303 ufs_bootsign_check(grub_barg_t *barg)
310 mp = barg->gb_entry->ge_menu;
314 barg->gb_root.gr_physpath, DI_PRIMARY_LINK, barg, get_devlink) != 0)
319 if (grub_fsd_get_mountp(barg->gb_root.gr_fs + GRBM_UFS,
322 slice_ufs(barg->gb_root.gr_fs[GRBM_UFS].gfs_dev)) != 0 ||
323 (ret = grub_fsd_mount_tmp(barg->gb_root.gr_fs + GRBM_UFS,
329 barg->gb_root.gr_fs[GRBM_UFS].gfs_mountp, barg->gb_bootsign);
333 barg->gb_walkret = 0;
334 (void) strlcpy(barg->gb_root.gr_fstyp, MNTTYPE_UFS,
335 sizeof (barg->gb_root.gr_fstyp));
338 grub_fsd_umount_tmp(barg->gb_root.gr_fs + GRBM_UFS);
339 return (barg->gb_walkret);
347 grub_barg_t *barg;
349 barg = (grub_barg_t *)arg;
355 if (name[0] != barg->gb_slcnum || name[1] != 0)
359 (void) snprintf(barg->gb_root.gr_physpath,
360 sizeof (barg->gb_root.gr_physpath), "%s:%c", path, barg->gb_slcnum);
363 prtnum = get_sol_prtnum(barg->gb_root.gr_physpath);
371 if (IS_PRTNUM_VALID(barg->gb_prtnum)) {
372 if (prtnum != barg->gb_prtnum || ufs_bootsign_check(barg) != 0)
381 barg->gb_prtnum = prtnum;
393 barg->gb_slcnum = name[0];
394 path = strrchr(barg->gb_root.gr_physpath, ':');
395 path[1] = barg->gb_slcnum;
397 if (ufs_bootsign_check(barg) == 0)
401 barg->gb_prtnum = (uint_t)PRTNUM_INVALID;
402 barg->gb_slcnum = (uint_t)SLCNUM_WHOLE_DISK;
416 grub_find_bootsign(grub_barg_t *barg)
419 mp = barg->gb_entry->ge_menu;
422 barg->gb_walkret = EG_BOOTSIGN;
423 (void) zfs_iter_root(mp->gm_fs.gf_lzfh, zfs_bootsign, barg);
426 if (barg->gb_walkret != 0 && di_walk_minor(mp->gm_fs.gf_diroot,
427 DDI_NT_BLOCK, 0, barg, ufs_bootsign) != 0)
430 return (barg->gb_walkret);