diff options
author | avg <avg@FreeBSD.org> | 2012-10-06 19:27:54 +0000 |
---|---|---|
committer | avg <avg@FreeBSD.org> | 2012-10-06 19:27:54 +0000 |
commit | edd6cc48bab58b919327eb408a85d842f18d7597 (patch) | |
tree | 27ca7948722213220fe97b6f7047d6ac7738babf /sys/boot | |
parent | 206248e53f3a5651d6cb7aa841c5c5cc8d4e0ed3 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/boot/i386/loader/main.c | 23 |
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) |