summaryrefslogtreecommitdiffstats
path: root/sys/boot/i386
diff options
context:
space:
mode:
authoravg <avg@FreeBSD.org>2012-10-06 19:27:54 +0000
committeravg <avg@FreeBSD.org>2012-10-06 19:27:54 +0000
commitedd6cc48bab58b919327eb408a85d842f18d7597 (patch)
tree27ca7948722213220fe97b6f7047d6ac7738babf /sys/boot/i386
parent206248e53f3a5651d6cb7aa841c5c5cc8d4e0ed3 (diff)
downloadFreeBSD-src-edd6cc48bab58b919327eb408a85d842f18d7597.zip
FreeBSD-src-edd6cc48bab58b919327eb408a85d842f18d7597.tar.gz
zfs boot: add lszfs command to i386 loader
... to list child datasets of a specified dataset. Dataset name should be provided in poolname/dsname format. MFC after: 17 days
Diffstat (limited to 'sys/boot/i386')
-rw-r--r--sys/boot/i386/loader/main.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/sys/boot/i386/loader/main.c b/sys/boot/i386/loader/main.c
index 91f4e32..73474cf 100644
--- a/sys/boot/i386/loader/main.c
+++ b/sys/boot/i386/loader/main.c
@@ -322,6 +322,29 @@ command_heap(int argc, char *argv[])
return(CMD_OK);
}
+#ifdef LOADER_ZFS_SUPPORT
+COMMAND_SET(lszfs, "lszfs", "list child datasets of a zfs dataset",
+ command_lszfs);
+
+static int
+command_lszfs(int argc, char *argv[])
+{
+ int err;
+
+ if (argc != 2) {
+ command_errmsg = "wrong number of arguments";
+ return (CMD_ERROR);
+ }
+
+ err = zfs_list(argv[1]);
+ if (err != 0) {
+ command_errmsg = strerror(err);
+ return (CMD_ERROR);
+ }
+ return (CMD_OK);
+}
+#endif
+
/* ISA bus access functions for PnP. */
static int
isa_inb(int port)
OpenPOWER on IntegriCloud