Linux: mount exFAT volumes with the in-kernel driver#1822
Open
ElCruncharino wants to merge 1 commit into
Open
Conversation
Same idea as the existing NTFS kernel-driver option: mount.exfat on most distros is a symlink to the FUSE exfat-fuse helper, even though the kernel has had a native exfat driver for years. Add --filesystem=kernel-exfat, -m kernelexfat, and a preferences checkbox to mount with -i and skip the helper.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
On Linux,
mount.exfatis usually a symlink tomount.exfat-fuse. The kernel has had a native exfat driver since 5.7, but VeraCrypt (like a plainmount -t exfat) always ends up on the FUSE path. It's pretty slow for anything beyond small volumes.This mirrors the existing NTFS kernel-driver option, which solves the same problem for NTFS. exFAT currently has no equivalent.
Change
Adds
MountExfatWithKernelDriver, mirroringMountNtfsWithKernelDriver:--filesystem=kernel-exfat/-m kernelexfaton the CLIblkid -p, and if exFAT is detected and no filesystem type was given, mounts with-isomount(8)skips the FUSE helperexFAT has no similar
ntfs/ntfs3split, so there's only one kernel driver name to select.Opt-in, off by default. Default mount behavior is unchanged.
Testing
Built and tested on openSUSE Tumbleweed (kernel 7.1, wxWidgets 3.2.8):
--filesystem=kernel-exfatmounts natively (mountshowstype exfat, notfuseblk)-m kernelexfatautodetect does the samekernel-exfatas a create-time type, same askernel-ntfs