From ae23e4541f020f3096ede3ac62ba6ab9cd37af3b Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Fri, 11 Aug 2023 18:16:14 -0400 Subject: [PATCH] fuse: Set fsname correctly 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 --- Makefile | 3 +++ cmd_fusemount.c | 11 +++++++++++ mount.fuse.bcachefs | 3 +++ packaging/bcachefs-tools.spec | 5 ++++- 4 files changed, 21 insertions(+), 1 deletion(-) create mode 100755 mount.fuse.bcachefs diff --git a/Makefile b/Makefile index fea4ef0..2556695 100644 --- 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) diff --git a/cmd_fusemount.c b/cmd_fusemount.c index f07edb5..c5776df 100644 --- a/cmd_fusemount.c +++ b/cmd_fusemount.c @@ -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 index 0000000..115b3d0 --- /dev/null +++ b/mount.fuse.bcachefs @@ -0,0 +1,3 @@ +#!/bin/sh + +exec bcachefs fusemount "$@" diff --git a/packaging/bcachefs-tools.spec b/packaging/bcachefs-tools.spec index a8f023a..24d93de 100644 --- a/packaging/bcachefs-tools.spec +++ b/packaging/bcachefs-tools.spec @@ -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 -- 2.39.2