summaryrefslogtreecommitdiff
path: root/bcachefs.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-02-21 14:39:43 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2023-02-21 14:39:43 -0500
commitf2ab6e552d311f585e95190075f90b2dd916055d (patch)
tree6598445605cce8f0d7c474991f92c9e2579e98a8 /bcachefs.c
parent10c609ac941c132f4dc7d29aab4bd1bf5f735c24 (diff)
More rust improvements
- passing of arguments from c -> rust code now works correctly - 'bcachefs mount' now handles being passed a device or devices Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'bcachefs.c')
-rw-r--r--bcachefs.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/bcachefs.c b/bcachefs.c
index 1876823c..871482eb 100644
--- a/bcachefs.c
+++ b/bcachefs.c
@@ -177,20 +177,7 @@ int main(int argc, char *argv[])
setvbuf(stdout, NULL, _IOLBF, 0);
- if (argc < 2) {
- puts("missing command\n");
- goto usage;
- }
-
- /* Rust commands first - rust can't handle us mutating argv */
- char *cmd = argv[1];
-
- if (!strcmp(cmd, "mount")) {
- cmd_mount();
- return 0;
- }
-
- cmd = pop_cmd(&argc, argv);
+ char *cmd = pop_cmd(&argc, argv);
if (!cmd) {
puts("missing command\n");
goto usage;
@@ -257,6 +244,11 @@ int main(int argc, char *argv[])
if (!strcmp(cmd, "setattr"))
return cmd_setattr(argc, argv);
+ if (!strcmp(cmd, "mount")) {
+ cmd_mount(argc, argv);
+ return 0;
+ }
+
#ifdef BCACHEFS_FUSE
if (!strcmp(cmd, "fusemount"))
return cmd_fusemount(argc, argv);