aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Gallatin <gallatin@FreeBSD.org>2023-03-30 21:57:26 +0000
committerAndrew Gallatin <gallatin@FreeBSD.org>2023-03-31 14:27:38 +0000
commit588f03ec9b9ebd3c17b3e978140ff3f3e4bcad73 (patch)
treedc4af7dde36e5025ffd0a793838707388bfc80fa
parentc6ed8694ac58c8b81a5e4944cb96c2fa19b6ca79 (diff)
downloadsrc-588f03ec9b9ebd3c17b3e978140ff3f3e4bcad73.tar.gz
src-588f03ec9b9ebd3c17b3e978140ff3f3e4bcad73.zip
bectl: Improve error message when ZFS root is not found.
When recovering a system that is unbootable due to some problem with the active BE, it is likely you'll be booted from a rescue image running UFS. In this case, bectl needs help finding the zpool root that you want to operate on. In this case, improve the error message to suggest specifying a root, rather than just emitting a generic error message that might imply, to the naive user, that there is a ZFS compatibility issue between the rescue image and the on-disk ZFS pool. Reviewed by: imp, kevans Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D39346
-rw-r--r--sbin/bectl/bectl.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sbin/bectl/bectl.c b/sbin/bectl/bectl.c
index 2b7af4e55419..814b98ba8a8a 100644
--- a/sbin/bectl/bectl.c
+++ b/sbin/bectl/bectl.c
@@ -584,9 +584,13 @@ main(int argc, char *argv[])
}
if ((be = libbe_init(root)) == NULL) {
- if (!cmd->silent)
+ if (!cmd->silent) {
fprintf(stderr, "libbe_init(\"%s\") failed.\n",
root != NULL ? root : "");
+ if (root == NULL)
+ fprintf(stderr,
+ "Try specifying ZFS root using -r.\n");
+ }
return (-1);
}