]> git.sesse.net Git - bcachefs-tools-debian/commitdiff
fuse: Set fsname correctly
authorKent Overstreet <kent.overstreet@linux.dev>
Fri, 11 Aug 2023 22:16:14 +0000 (18:16 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Fri, 11 Aug 2023 22:32:23 +0000 (18:32 -0400)
Also, add helpers for the fuse.bcachefs filesystem type; this means we
can now test the fuse version with fstests.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Makefile
cmd_fusemount.c
mount.fuse.bcachefs [new file with mode: 0755]
packaging/bcachefs-tools.spec

index fea4ef0d7bc8663a3e346219f4992ea6f38e49fa..2556695df5a9b935df5e6d2d4826dae43d88f392 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -155,6 +155,9 @@ install: bcachefs
        $(INSTALL) -m0755    fsck.bcachefs    $(DESTDIR)$(ROOT_SBINDIR)
        $(INSTALL) -m0755    mkfs.bcachefs    $(DESTDIR)$(ROOT_SBINDIR)
        $(INSTALL) -m0755    mount.bcachefs   $(DESTDIR)$(ROOT_SBINDIR)
+       $(INSTALL) -m0755    fsck.bcachefs    $(DESTDIR)$(ROOT_SBINDIR)/fsck.fuse.bcachefs
+       $(INSTALL) -m0755    mkfs.bcachefs    $(DESTDIR)$(ROOT_SBINDIR)/mkfs.fuse.bcachefs
+       $(INSTALL) -m0755    mount.fuse.bcachefs        $(DESTDIR)$(ROOT_SBINDIR)
        $(INSTALL) -m0644 -D bcachefs.8    -t $(DESTDIR)$(PREFIX)/share/man/man8/
        $(INSTALL) -m0755 -D initramfs/script $(DESTDIR)$(INITRAMFS_SCRIPT)
        $(INSTALL) -m0755 -D initramfs/hook   $(DESTDIR)$(INITRAMFS_HOOK)
index f07edb5abff877cc9f7d38ed2a5e63abb7d25f38..c5776dfef2abf7099a7a71dbd07770e46a81aeec 100644 (file)
@@ -1217,6 +1217,17 @@ int cmd_fusemount(int argc, char *argv[])
        }
        tokenize_devices(&ctx);
 
+       struct printbuf fsname = PRINTBUF;
+       prt_printf(&fsname, "fsname=");
+       for (i = 0; i < ctx.nr_devices; ++i) {
+               if (i)
+                       prt_str(&fsname, ":");
+               prt_str(&fsname, ctx.devices[i]);
+       }
+
+       fuse_opt_add_arg(&args, "-o");
+       fuse_opt_add_arg(&args, fsname.buf);
+
        /* Open bch */
        printf("Opening bcachefs filesystem on:\n");
        for (i = 0; i < ctx.nr_devices; ++i)
diff --git a/mount.fuse.bcachefs b/mount.fuse.bcachefs
new file mode 100755 (executable)
index 0000000..115b3d0
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec bcachefs fusemount "$@"
index a8f023a88302ee77762a8c8e82741e1b6dd10be6..24d93deeec65dc75fd481c17327a13760f073dd5 100644 (file)
@@ -45,10 +45,13 @@ rm -f %{buildroot}/%{_datadir}/initramfs-tools/scripts/local-premount/bcachefs
 rm -f %{buildroot}/usr/lib/libbcachefs.so
 
 %files
-%{_sbindir}/mount.bcachefs
 %{_sbindir}/bcachefs
+%{_sbindir}/mount.bcachefs
 %{_sbindir}/fsck.bcachefs
 %{_sbindir}/mkfs.bcachefs
+%{_sbindir}/mount.fuse.bcachefs
+%{_sbindir}/fsck.fuse.bcachefs
+%{_sbindir}/mkfs.fuse.bcachefs
 %{_mandir}/man8/bcachefs.8.gz
 
 %changelog