Fedora: driver fs on default: ntfs3 (kernel) or ntfs-3g?

Greetings!

The question is: will Fedora use the ntfs 3 file system driver by default (provided by the kernel) or use the driver via FUSE ntfs-3g?
Ntfs-3g has not been updated for a long time since October 2022.

NTFS has been unchanged since version 3.1 in Windows XP, which was released quite a bit before October 2022.

In any case, why not simply mount a filesystem and see what happens?

$ sudo mount /dev/sda2 /mnt

$ mount | grep sda2        
/dev/sda2 on /mnt type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)

$ sudo umount /mnt 

$ sudo mount -t ntfs3 /dev/sda2 /mnt

$ mount | grep sda2                 
/dev/sda2 on /mnt type ntfs3 (rw,relatime,uid=0,gid=0,iocharset=utf8)

As you can see, Fedora 40 defaults to ntfs-3g but can be told to use the ntfs3 driver in the kernel, e.g., by putting the filesystem type in a line in /etc/fstab. If you regularly need to mount NTFS filesystems on removable disks, which you cannot add to fstab, you can also add a udev rule to default to the ntfs3 driver.

2 Likes

I agree, NTFS does not change, but there may be errors or further code optimization?!

I tried to mount with the ntfs3 driver. The result works!

Yes, you can write rules in udev.

In this case, the question is: why not use ntfs3 by default in new Fedora releases (41+)?

AFAIU, the code is quite mature. Yes, it does not have a lot of activity, but apparently the same was (is?) true for the ntfs3 driver

That is something you need to ask the Fedora folks.When you simply call mount, with either no filesystem type or with -t ntfs, mount will call an existing mount.ntfs to handle mounting NTFS. (This is true for any filesystem, mount will try to call mount.TYPE to handle anything special for a certain type; see man 8 mount, the description of -t/--types.)
That’s why, at the moment, attempting to mount an NTFS filesystem results in a call to mount.ntfs, which is a symlink /usr/sbin/mount.ntfs -> mount.ntfs-3g, which in turn is another symlink /usr/sbin/mount.ntfs-3g -> /usr/bin/ntfs-3g.

2 Likes

The NTFS3 driver is actively being developed.

“ntfs3: now with fewer bugs in kernel 6.10!”
Joking aside, I am not in a position to judge the quality of either ntfs3 or ntfs-3g.

But that is the great thing about free (as in freedom) software: you can choose whatever implementation you prefer for your data. (And you cannot blame a vendor for that choice or ask for your money back if something eats your data.[1])

Whichever implementation you choose (for any filesystem but for non-native filesystems like NTFS in particular), a good backup strategy is a really nice thing to have. Just saying.


  1. README from a long-ago release of DJGPP: “This software comes with ABSOLUTELY NO WARRANTY. Even if it erases your hard drive, too bad. Although we did fix that bug from the last release.” :wink: ↩︎