2024-01-24 20:01:48

by Petr Vorel

[permalink] [raw]
Subject: bcachefs fails to mount loop device on kernel

Hi all,

bcachefs fails to mount loop device on kernel on both 6.7 and 6.8.0-rc1.
Is mounting loop even supported?

dd if=/dev/zero of=test_file bs=400M count=1
losetup /dev/loop0 test_file
mkfs.bcachefs /dev/loop0

mount -t bcachefs -o loop test_file /mnt
=> Unknown command /dev/loop0

modprobe bcachefs
mount -t bcachefs -o loop test_file /mnt
=> mount: /mnt: failed to setup loop device for test_file.

mount -t bcachefs test_file /mnt
=> Unknown command test_file

mount -t bcachefs -o loop /dev/loop0 /mnt
=> Unknown command /dev/loop1

mount -t bcachefs /dev/loop0 /mnt
=> Unknown command /dev/loop0

bcachefs mount /dev/loop0 /mnt
=> Unknown command mount

Thanks for info.

Kind regards,
Petr


2024-01-24 20:52:21

by Thomas Bertschinger

[permalink] [raw]
Subject: Re: bcachefs fails to mount loop device on kernel

On Wed, Jan 24, 2024 at 09:00:32PM +0100, Petr Vorel wrote:
> Hi all,
>
> bcachefs fails to mount loop device on kernel on both 6.7 and 6.8.0-rc1.
> Is mounting loop even supported?
>
> [...]
>
> bcachefs mount /dev/loop0 /mnt
> => Unknown command mount

What version of the bcachefs CLI tool are you using? Is it distribution
provided or did you build it yourself?

The mount command has been implemented in Rust for a while (since
28f703cc256f "Rust now integrated into bcachefs binary") and if building
without Rust support (BCACHEFS_NO_RUST defined), that command won't be
included in the binary.

In more recent versions of bcachefs-tools, building without Rust is not
supported at all.

I don't think this has anything to do with loop devices specifically.

- Thomas Bertschinger

2024-01-24 21:07:52

by Petr Vorel

[permalink] [raw]
Subject: Re: bcachefs fails to mount loop device on kernel

> On Wed, Jan 24, 2024 at 09:00:32PM +0100, Petr Vorel wrote:
> > Hi all,

> > bcachefs fails to mount loop device on kernel on both 6.7 and 6.8.0-rc1.
> > Is mounting loop even supported?

> > [...]

> > bcachefs mount /dev/loop0 /mnt
> > => Unknown command mount

> What version of the bcachefs CLI tool are you using? Is it distribution
> provided or did you build it yourself?

Official openSUSE Tumbleweed package:

$ rpm -qf $(which bcachefs)
bcachefs-tools-1.4.0-1.1.x86_64

BTW this was found with LTP, which has 2 APIs: C API, which uses mount(2)
which works well and shell API which uses mount (which uses bcachefs) and here
it fails.

Kind regards,
Petr

> The mount command has been implemented in Rust for a while (since
> 28f703cc256f "Rust now integrated into bcachefs binary") and if building
> without Rust support (BCACHEFS_NO_RUST defined), that command won't be
> included in the binary.

> In more recent versions of bcachefs-tools, building without Rust is not
> supported at all.

> I don't think this has anything to do with loop devices specifically.

> - Thomas Bertschinger

2024-01-24 21:22:50

by Kent Overstreet

[permalink] [raw]
Subject: Re: bcachefs fails to mount loop device on kernel

On Wed, Jan 24, 2024 at 10:07:38PM +0100, Petr Vorel wrote:
> > On Wed, Jan 24, 2024 at 09:00:32PM +0100, Petr Vorel wrote:
> > > Hi all,
>
> > > bcachefs fails to mount loop device on kernel on both 6.7 and 6.8.0-rc1.
> > > Is mounting loop even supported?
>
> > > [...]
>
> > > bcachefs mount /dev/loop0 /mnt
> > > => Unknown command mount
>
> > What version of the bcachefs CLI tool are you using? Is it distribution
> > provided or did you build it yourself?
>
> Official openSUSE Tumbleweed package:
>
> $ rpm -qf $(which bcachefs)
> bcachefs-tools-1.4.0-1.1.x86_64

Sounds like Suse isn't building with our Rust code - but, that's about
to become mandatory...

2024-01-24 21:32:45

by Petr Vorel

[permalink] [raw]
Subject: Re: bcachefs fails to mount loop device on kernel

> On Wed, Jan 24, 2024 at 10:07:38PM +0100, Petr Vorel wrote:
> > > On Wed, Jan 24, 2024 at 09:00:32PM +0100, Petr Vorel wrote:
> > > > Hi all,

> > > > bcachefs fails to mount loop device on kernel on both 6.7 and 6.8.0-rc1.
> > > > Is mounting loop even supported?

> > > > [...]

> > > > bcachefs mount /dev/loop0 /mnt
> > > > => Unknown command mount

> > > What version of the bcachefs CLI tool are you using? Is it distribution
> > > provided or did you build it yourself?

> > Official openSUSE Tumbleweed package:

> > $ rpm -qf $(which bcachefs)
> > bcachefs-tools-1.4.0-1.1.x86_64

> Sounds like Suse isn't building with our Rust code - but, that's about
> to become mandatory...

Indeed NO_RUST=1. Thank you both for a quick info!

Kind regards,
Petr