History log of /freebsd-current/tools/tools/zfsboottest/zfsboottest.c
Revision Date Author Comments
# 2a63c3be 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line .c comment pattern

Remove /^/[*/]\s*\$FreeBSD\$.*\n/


# e307eb94 21-Sep-2020 Toomas Soome <tsoome@FreeBSD.org>

loader: zfs should support bootonce an nextboot

bootonce feature is temporary, one time boot, activated by
"bectl activate -t BE", "bectl activate -T BE" will reset the bootonce flag.

By default, the bootonce setting is reset on attempt to boot and the next
boot will use previously active BE.

By setting zfs_bootonce_activate="YES" in rc.conf, the bootonce BE will
be set permanently active.

bootonce dataset name is recorded in boot pool labels, bootenv area.

in case of nextboot, the nextboot_enable boolean variable is recorded in
freebsd:nvstore nvlist, also stored in boot pool label bootenv area.
On boot, the loader will process /boot/nextboot.conf if nextboot_enable
is "YES", and will set nextboot_enable to "NO", preventing /boot/nextboot.conf
processing on next boot.

bootonce and nextboot features are usable in both UEFI and BIOS boot.

To use bootonce/nextboot features, the boot loader needs to be updated on disk;
if loader.efi is stored on ESP, then ESP needs to be updated and
for BIOS boot, stage2 (zfsboot or gptzfsboot) needs to be updated
(gpart or other tools).

At this time, only lua loader is updated.

Sponsored by: Netflix, Klara Inc.
Differential Revision: https://reviews.freebsd.org/D25512


# fe5e6b2c 19-Jul-2018 Warner Losh <imp@FreeBSD.org>

Remove three stray instances of zfsloader.


# 5d1186a4 01-Aug-2017 Andriy Gapon <avg@FreeBSD.org>

zfsboottest: catch up with r316585 and provide ldi_get_size method

This method is required for querying file / disk sizes which is needed
at least for finding all copies of ZFS VDEV labels.

Reported by: ngie
MFC after: 1 week


# 6755788d 01-Aug-2017 Enji Cooper <ngie@FreeBSD.org>

Fix up r321849

pager_output should return 0 if no more output needs to be paged; non-zero
otherwise.

MFC after: 1 week
MFC with: r321849
Reported by: avg


# 7e299eac 31-Jul-2017 Enji Cooper <ngie@FreeBSD.org>

Fix the return type for pager_output(..) in bootparttest and zfsboottest

pager_output(..) has always returned int. For some reason (probably the
clang 5.0 update), this mismatch now results in an error with CC=clang.

MFC after: 1 week


# 8787f180 06-Nov-2015 Andriy Gapon <avg@FreeBSD.org>

zfsboottest: catch up with r241289, call zfs_spa_init() for all found pools

MFC after: 8 days


# 9871c8ab 09-Jul-2013 Andriy Gapon <avg@FreeBSD.org>

zfsboottest: sync with changes in zfs boot code

- spa status can not be called before spa init
- libzfs.h inclusion is now required
- fix alternative code for explicit root dataset lookup

MFC after: 10 days


# e7953148 13-May-2012 Andriy Gapon <avg@FreeBSD.org>

zfsboottest: update for the recent zfs boot code changes

MFC after: 1 month


# cf43b453 21-Oct-2011 Pawel Jakub Dawidek <pjd@FreeBSD.org>

- Allow to specify multiple files to check, eg.

zfsboottest gpt/system0 gpt/system1 - /boot/kernel/kernel /boot/zfsloader

- Instead of printing file's content calculate MD5 hash of the file,
so it can be easly compared to the hash calculated via file system.
- Some other minor improvements.

MFC after: 3 days


# ed8945cb 16-Sep-2011 Andriy Gapon <avg@FreeBSD.org>

zfsboottest: some additional enhancements

- redirect diagnostics printfs in the boot code to stderr
- do not read trailing garbage from a trailing block of a file

Also add my copyright to the file after making so many changes.

Approved by: re (kib)
MFC after: 1 week


# d560f352 16-Sep-2011 Andriy Gapon <avg@FreeBSD.org>

zfstest: rename to zfsboottest and move to tools

Approved by: re (kib)
MFC after: 1 week