]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - bcachefs.c
fix list_journal for nochanges
[bcachefs-tools-debian] / bcachefs.c
index e0e2045852415064a100e29818555f2cd74fdef2..4efe29edaad25c0b3fb96865e0a5f4907b3f1d55 100644 (file)
@@ -97,6 +97,9 @@ static void usage(void)
             "  fusemount                Mount a filesystem via FUSE\n"
             "\n"
             "Miscellaneous:\n"
+#ifndef BCACHEFS_NO_RUST
+         "  completions              Generate shell completions\n"
+#endif
             "  version                  Display the version of the invoked bcachefs tool\n");
 }
 
@@ -188,6 +191,24 @@ int main(int argc, char *argv[])
 
        full_cmd = argv[0];
 
+       /* Are we being called via a symlink? */
+
+       if (strstr(full_cmd, "mkfs"))
+               return cmd_format(argc, argv);
+
+       if (strstr(full_cmd, "fsck"))
+               return cmd_fsck(argc, argv);
+
+#ifdef BCACHEFS_FUSE
+       if (strstr(full_cmd, "mount.fuse"))
+               return cmd_fusemount(argc, argv);
+#endif
+
+#ifndef BCACHEFS_NO_RUST
+       if (strstr(full_cmd, "mount"))
+               return cmd_mount(argc, argv);
+#endif
+
        setvbuf(stdout, NULL, _IOLBF, 0);
 
        char *cmd = pop_cmd(&argc, argv);
@@ -253,9 +274,10 @@ int main(int argc, char *argv[])
        if (!strcmp(cmd, "setattr"))
                return cmd_setattr(argc, argv);
 #ifndef BCACHEFS_NO_RUST
-       if (!strcmp(cmd, "mount")) {
+       if (!strcmp(cmd, "mount"))
                return cmd_mount(argc, argv);
-       }
+    if (strstr(cmd, "completions"))
+        return cmd_completions(argc, argv);
 #endif
 
 #ifdef BCACHEFS_FUSE