Using the new NTFS driver in kernel 7.1

Since I’m running kernel 7.1.2-arch3-1 I wanted to try the new “ntfs” driver added in 7.1, hoping it would finally fix the issues I’m having with the others (ntfs-3g & ntfs3.)

So I specified ntfs_drivers=ntfs in /etc/udisks2/mount_options.conf (as per this comment) and restarted the udisks2 service, but findmnt --real -t ntfs,ntfs3,fuseblk -o TARGET,SOURCE,FSTYPE says I’m still using the old and slow fuseblk driver.

If I remove mount_options.conf it uses ntfs3 instead.

Does anybody here know how to use the new driver? :thinking:

My use is minimal, but as far as I know just specifying ntfs (not ntfs3) uses the new kernel driver. I use it in /etc/fstab.

I need it for all ntfs-formatted usb drives so I can’t use it in fstab. And udisks2 mount options seems to revert to fuse driver if “ntfs” is specified, don’t know why.

You could try the nofail (and perhaps noauto?) mount option in /etc/fstab.

Also, did you try to mount them manually from a terminal using udisksctl to see if there is an output and also check with findmnt to see if you get a different outcome?

Same outcome with udisksctl. And even stranger, I removed the udisks config and created /etc/udev/rules.d/99-ntfs.rules instead with this content: KERNEL=="sd*[0-9]", ENV{ID_FS_TYPE}=="ntfs", ENV{UDISKS_FILESYSTEM_EXTRA_OPTIONS}="uid=1000,gid=1000,umask=022,driver=ntfs"

and now findmnt returns ntfs3 (I guess it’s using the default now)

By default. NTFS FS is compiled as a module in the new kernel.

CONFIG_NTFS_FS=m

Did you remember to load it before use? Just in case…

I have ntfs in /etc/udisks2/mount_options.conf but also tried manually with modprobe ntfs, unfortunately findmnt alway returns fuseblk after mounting the disk…

Just for grins, I forced my ntfs volume to mount and checked what driver it’s using…confrmed ntfs (but since that’s what I specified, I expected that).

What does “sudo mount -t ntfs device mount_point” give you?

No console message, and the device is mounted as fuseblk

That seems crazy and wrong. Perhaps you have ntfs aliases somehow ?

I doubt it, I don’t even know how to make an ntfs alias…

I did a clean install on another pc, then simply did a modprobe ntfs and then manually mounted… findmnt still says fuseblk! I think I’m going crazy

Dunno what to tell you:

/mnt/Archive /dev/sda1 ntfs rw,nosuid,nodev,noexec,relatime,umask=00,iocharset=utf8,case_sensitive,errors=continue

Seems that mount was not able to find ntfs driver in the system and fell back to FUSE. “lsmod” verifies ntfs is loaded? Anything in your /etc/modprobe.d and /usr/lib/modprobe.d/? Unfortunately, I don’t have a ntfs file system to test and have no idea how this new fs driver works.

I don’t have an ntfs drive to test but a quick duckduckgo search said the fs type is ntfs3

Do you have the package ntfs-3g installed?

If you have, remove it, rebuild your initramfs, reboot and check.

Yes, it works now! I guess it’s preinstalled as as I said in a previous comment it also happened on a freshly installed system.

Thanks!

It must be preinstalled then. I haven’t been looking at EOS’ pkglists for some time now.

I’m glad you got it working at the end.

It might possibly be something the devs might want to consider changing. Depending on how stable it is.