diff mbox series

[U-Boot,8/9] cmd: Add the 'btrsubvol' command to list BTRFS subvolumes

Message ID 20170903150031.18179-9-marek.behun@nic.cz
State Accepted
Commit 9d845509553e3c07414259ea97e4f59a3fe65904
Delegated to: Tom Rini
Headers show
Series Add single-device read-only BTRFS support | expand

Commit Message

Marek BehĂșn Sept. 3, 2017, 3 p.m. UTC
Signed-off-by: Marek Behun <marek.behun@nic.cz>

 create mode 100644 cmd/btrfs.c

Comments

Tom Rini Oct. 3, 2017, 12:52 p.m. UTC | #1
On Sun, Sep 03, 2017 at 05:00:30PM +0200, Marek BehĂșn wrote:

> Signed-off-by: Marek Behun <marek.behun@nic.cz>
> 
>  create mode 100644 cmd/btrfs.c
> 
> diff --git a/cmd/Kconfig b/cmd/Kconfig
> index d6d130edfa..77623052c4 100644

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/cmd/Kconfig b/cmd/Kconfig
index d6d130edfa..77623052c4 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -1311,6 +1311,16 @@  config CMD_CROS_EC
 endmenu
 
 menu "Filesystem commands"
+config CMD_BTRFS
+	bool "Enable the 'btrsubvol' command"
+	select FS_BTRFS
+	help
+	  This enables the 'btrsubvol' command to list subvolumes
+	  of a BTRFS filesystem. There are no special commands for
+	  listing BTRFS directories or loading BTRFS files - this
+	  can be done by the generic 'fs' commands (see CMD_FS_GENERIC)
+	  when BTRFS is enabled (see FS_BTRFS).
+
 config CMD_CBFS
 	bool "Enable the 'cbfs' command"
 	depends on FS_CBFS
diff --git a/cmd/Makefile b/cmd/Makefile
index 2a5b8ce825..2b0444d5b7 100644
--- a/cmd/Makefile
+++ b/cmd/Makefile
@@ -27,6 +27,7 @@  obj-$(CONFIG_CMD_BOOTMENU) += bootmenu.o
 obj-$(CONFIG_CMD_BOOTSTAGE) += bootstage.o
 obj-$(CONFIG_CMD_BOOTZ) += bootz.o
 obj-$(CONFIG_CMD_BOOTI) += booti.o
+obj-$(CONFIG_CMD_BTRFS) += btrfs.o
 obj-$(CONFIG_CMD_CACHE) += cache.o
 obj-$(CONFIG_CMD_CBFS) += cbfs.o
 obj-$(CONFIG_CMD_CLK) += clk.o
diff --git a/cmd/btrfs.c b/cmd/btrfs.c
new file mode 100644
index 0000000000..3f4f1b782b
--- /dev/null
+++ b/cmd/btrfs.c
@@ -0,0 +1,28 @@ 
+/*
+ * 2017 by Marek Behun <marek.behun@nic.cz>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <command.h>
+#include <btrfs.h>
+#include <fs.h>
+
+int do_btrsubvol(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
+{
+	if (argc != 3)
+		return CMD_RET_USAGE;
+
+	if (fs_set_blk_dev(argv[1], argv[2], FS_TYPE_BTRFS))
+		return 1;
+
+	btrfs_list_subvols();
+	return 0;
+}
+
+U_BOOT_CMD(btrsubvol, 3, 1, do_btrsubvol,
+	"list subvolumes of a BTRFS filesystem",
+	"<interface> <dev[:part]>\n"
+	"     - List subvolumes of a BTRFS filesystem."
+)