Changeset View
Changeset View
Standalone View
Standalone View
sys/boot/zfs/zfs.c
Show First 20 Lines • Show All 857 Lines • ▼ Show 20 Lines | zfs_set_env(void) | ||||
rv = 0; | rv = 0; | ||||
zfs_env_index = ZFS_BE_FIRST; | zfs_env_index = ZFS_BE_FIRST; | ||||
SLIST_FOREACH_SAFE(zfs_be, &zfs_be_head, entries, zfs_be_tmp) { | SLIST_FOREACH_SAFE(zfs_be, &zfs_be_head, entries, zfs_be_tmp) { | ||||
/* Skip to the requested page number */ | /* Skip to the requested page number */ | ||||
if (ctr <= ((ZFS_BE_LAST - ZFS_BE_FIRST + 1) * (page - 1))) { | if (ctr <= ((ZFS_BE_LAST - ZFS_BE_FIRST + 1) * (page - 1))) { | ||||
ctr++; | ctr++; | ||||
continue; | continue; | ||||
} | } | ||||
snprintf(envname, sizeof(envname), "bootenvmenu_caption[%d]", zfs_env_index); | snprintf(envname, sizeof(envname), "bootenvmenu_caption[%d]", zfs_env_index); | ||||
snprintf(envval, sizeof(envval), "%s", zfs_be->name); | snprintf(envval, sizeof(envval), "%s", zfs_be->name); | ||||
rv = setenv(envname, envval, 1); | rv = setenv(envname, envval, 1); | ||||
if (rv != 0) { | if (rv != 0) { | ||||
break; | break; | ||||
} | } | ||||
snprintf(envname, sizeof(envname), "bootenvansi_caption[%d]", zfs_env_index); | snprintf(envname, sizeof(envname), "bootenvansi_caption[%d]", zfs_env_index); | ||||
Show All 16 Lines | SLIST_FOREACH_SAFE(zfs_be, &zfs_be_head, entries, zfs_be_tmp) { | ||||
} | } | ||||
zfs_env_index++; | zfs_env_index++; | ||||
if (zfs_env_index > ZFS_BE_LAST) { | if (zfs_env_index > ZFS_BE_LAST) { | ||||
break; | break; | ||||
} | } | ||||
} | } | ||||
for (; zfs_env_index <= ZFS_BE_LAST; zfs_env_index++) { | for (; zfs_env_index <= ZFS_BE_LAST; zfs_env_index++) { | ||||
snprintf(envname, sizeof(envname), "bootenvmenu_caption[%d]", zfs_env_index); | snprintf(envname, sizeof(envname), "bootenvmenu_caption[%d]", zfs_env_index); | ||||
(void)unsetenv(envname); | (void)unsetenv(envname); | ||||
snprintf(envname, sizeof(envname), "bootenvansi_caption[%d]", zfs_env_index); | snprintf(envname, sizeof(envname), "bootenvansi_caption[%d]", zfs_env_index); | ||||
(void)unsetenv(envname); | (void)unsetenv(envname); | ||||
snprintf(envname, sizeof(envname), "bootenvmenu_command[%d]", zfs_env_index); | snprintf(envname, sizeof(envname), "bootenvmenu_command[%d]", zfs_env_index); | ||||
(void)unsetenv(envname); | (void)unsetenv(envname); | ||||
snprintf(envname, sizeof(envname), "bootenv_root[%d]", zfs_env_index); | snprintf(envname, sizeof(envname), "bootenv_root[%d]", zfs_env_index); | ||||
(void)unsetenv(envname); | (void)unsetenv(envname); | ||||
} | } | ||||
return (rv); | return (rv); | ||||
} | } |