Package: exfat-fuse
Version: 1.3.0-2

Since Debian Bullseye (also tested on Bookworm), the exfat-fuse package does not provide the (FUSE-based) "exfat" filesystem driver, i.e. the following commands fail if the exfat kernel module is not present, e.g. when a different kernel is used, often the case with ARM SBCs:
-------
mount <exfat_filesystem_device> <mountpoint>
mount <mountpoint> # with related "exfat" entry in /etc/fstab
mount -t exfat <exfat_filesystem_device> <mountpoint>
-------

Until Buster, when the exfat filesystem type is detected or passed via mount option, the FUSE driver is automatically invoked, since Bullseye one needs to pass "exfat-fuse" as filesystem type explicitly, since autodetection, as well as blkid and lsblk, still detect "exfat".

While it makes sense, respectively the FUSE driver for exFAT is obsolete with a recent Linux version, including the Debian kernel on Bullseye, it is not too uncommon that other older kernel versions are used, especially on embedded devices, ARM SBCs etc where manufacturers enable additional features, not present in upstream Linux yet, respectively not present in the Linux version shipped with Debian Bullseye yet. So generally it would be nice if "exfat-fuse" did enable mounting exFAT drives as "exfat", like it did before. But of course when the native exfat kernel module is present, it should be preferred.

The other option would be to have lsblk/blkid/mount detecting the filesystem type as "exfat-fuse" instead of as "exfat", when the kernel module is not present but "exfat-fuse" installed. But this wouldn't cover cases where e.g. a Buster system with older non-Debian kernel and explicit "exfat" fstab entry is upgraded to Bullseye.

I hope there is a way to keep exfat-fuse fully backwards compatible.

Related is that the package does not provide mount.exfat anymore, but mount.exfat-fuse only. Probably a dpkg-alternative or postinst script provided symlink could re-enable backwards compatibility. But an open issue remains that "exfatprogs" does not provide mount.exfat either, so I guess mounts would then keep invoking FUSE (using mount.exfat => mount.exfat-fuse) even if the kernel module + exfatprogs are installed as well. A conflict between exfatprogs and exfat-fuse could then help solving it, like it exists for exfat-utils.

Best regards,

Micha

Reply via email to