summaryrefslogtreecommitdiff
path: root/c_src/cmd_data.c
diff options
context:
space:
mode:
Diffstat (limited to 'c_src/cmd_data.c')
-rw-r--r--c_src/cmd_data.c49
1 files changed, 33 insertions, 16 deletions
diff --git a/c_src/cmd_data.c b/c_src/cmd_data.c
index 9dd2c15c..302c5a8c 100644
--- a/c_src/cmd_data.c
+++ b/c_src/cmd_data.c
@@ -10,19 +10,6 @@
#include "cmds.h"
#include "libbcachefs.h"
-int data_usage(void)
-{
- puts("bcachefs data - manage filesystem data\n"
- "Usage: bcachefs data <CMD> [OPTIONS]\n"
- "\n"
- "Commands:\n"
- " rereplicate Rereplicate degraded data\n"
- " job Kick off low level data jobs\n"
- "\n"
- "Report bugs to <linux-bcachefs@vger.kernel.org>");
- return 0;
-}
-
static void data_rereplicate_usage(void)
{
puts("bcachefs data rereplicate\n"
@@ -37,7 +24,7 @@ static void data_rereplicate_usage(void)
exit(EXIT_SUCCESS);
}
-int cmd_data_rereplicate(int argc, char *argv[])
+static int cmd_data_rereplicate(int argc, char *argv[])
{
int opt;
@@ -78,7 +65,7 @@ static void data_scrub_usage(void)
exit(EXIT_SUCCESS);
}
-int cmd_data_scrub(int argc, char *argv[])
+static int cmd_data_scrub(int argc, char *argv[])
{
static const struct option longopts[] = {
{ "metadata", no_argument, NULL, 'm' },
@@ -283,7 +270,7 @@ static void data_job_usage(void)
exit(EXIT_SUCCESS);
}
-int cmd_data_job(int argc, char *argv[])
+static int cmd_data_job(int argc, char *argv[])
{
struct bch_ioctl_data op = {
.start_btree = 0,
@@ -326,3 +313,33 @@ int cmd_data_job(int argc, char *argv[])
return bchu_data(bcache_fs_open(fs_path), op);
}
+
+static int data_usage(void)
+{
+ puts("bcachefs data - manage filesystem data\n"
+ "Usage: bcachefs data <CMD> [OPTIONS]\n"
+ "\n"
+ "Commands:\n"
+ " rereplicate Rereplicate degraded data\n"
+ " job Kick off low level data jobs\n"
+ "\n"
+ "Report bugs to <linux-bcachefs@vger.kernel.org>");
+ return 0;
+}
+
+int data_cmds(int argc, char *argv[])
+{
+ char *cmd = pop_cmd(&argc, argv);
+
+ if (argc < 1)
+ return data_usage();
+ if (!strcmp(cmd, "rereplicate"))
+ return cmd_data_rereplicate(argc, argv);
+ if (!strcmp(cmd, "scrub"))
+ return cmd_data_scrub(argc, argv);
+ if (!strcmp(cmd, "job"))
+ return cmd_data_job(argc, argv);
+
+ data_usage();
+ return -EINVAL;
+}