Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

post-mount is-blockdev-in-mountinfo assertion breaks fuse mounts #1278

Open
ddiss opened this issue May 10, 2024 · 1 comment
Open

post-mount is-blockdev-in-mountinfo assertion breaks fuse mounts #1278

ddiss opened this issue May 10, 2024 · 1 comment

Comments

@ddiss
Copy link

ddiss commented May 10, 2024

Hi,

I'm trying to use udisks2 alongside lklfuse, which gets invoked via the following mount_options.conf:

[defaults]
vfat_drivers=lklfuse
vfat:lklfuse_allow=type=vfat,uid=$UID,gid=$GID...
vfat:lklfuse_defaults=type=vfat,uid=$UID,gid=$GID...
# mount.lklfuse is a simple wrapper around the binary called below
# <parse arguments to extract type string and escape remaining mount options>
/usr/bin/lklfuse "$dev" "$mnt" -o "type=${typeopt},opts=${optsopt}"

This appears to work okay in that lklfuse starts and successfully mounts the block device. However, udisksd immediately fails the subsequent!is_mounted check, due to the lack of block device node presence in /proc/self/mountinfo. The mountinfo entry for the successful lklfuse mount instead corresponds to a FUSE-derived MAJOR:MINOR.

I'm just wondering how to best resolve this issue. The simplest might be to simply check wether the mountpoint is present in mountinfo, instead of the MAJOR:MINOR, or perhaps ignore the is_mounted check if a specific config flag is present.
I'd appreciate any other tips or suggestions.

@tbzatek
Copy link
Member

tbzatek commented May 15, 2024

I don't think there's a way to make this work from the outside. UDisks is currently heavily based on major:minor number as primary device identifier. There's a dirty workaround for btrfs, nothing for fuse AFAIK. Interesting that ntfs-3g mounts do work fine.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants