site  contact  subhomenews

Paragon ntfs3 driver compatibility issues

June 11, 2021 — BarryK

The 5.10.39 kernel used in EasyOS on the PC, now has the Paragon ntfs3 driver, builtin not as a module. Blog report:

https://bkhome.org/news/202105/kernel-51039-compiled-with-paragon-ntfs3-driver.html

There are some issues. In the initrd, the 'blkid' utility reports partitions with ntfs filesystem as TYPE="ntfs", however, to mount it requires -t ntfs3 parameter for the 'mount' utility.

To fix this, the scripts in the initrd now do this:

  if grep -q 'ntfs3' /proc/filesystems;then #20210611 has paragon ntfs3 driver.
mount -t ${WKG_FS/ntfs/ntfs3} /dev/${WKG_DEV} /mnt/${WKG_DEV}
else
mount -t ${WKG_FS} /dev/${WKG_DEV} /mnt/${WKG_DEV}
fi

After the switch_root, I put in a udev rule, recommended by the Arch Linux guys, /etc/udev/rules.d/10-ntfs3.rules:

#for the paragon ntfs3 driver, which has f.s. type "ntfs3"...
SUBSYSTEM=="block", ENV{ID_FS_TYPE}=="ntfs", ENV{ID_FS_TYPE}="ntfs3"

However, I have still kept the ntfs-3g fuse driver, as it has the user-space utilities, required by gparted. Paragon have not yet provided user-space utilities (they have promised to).

/bin/mount is an ancient script, that explicitly uses ntfs-3g to mount ntfs partitions.

I say "ancient" because that script goes right back to the early days of Puppy, and although I have been meaning to review it, never got around to doing it.

So still using ntfs-3g, even though the kernel now has ntfs3.

A ntfs partition mounted in the initrd, in the case of Easy being installed to an ntfs partition (which is allowed for case of having a save-file rather than a save-folder, discussed in earlier posts), then that partition cannot be modified by gparted. The fact that ntfs3 was used to mount it and not ntfs-3g should not matter.

So, I think that everything will still be sane. In the future, will think about changing to ntfs3 as the default, and finally I might review /bin/mount.

EDIT 2021-06-12:
After reading this comment, my enthusiasm for ntfs3 has been dampened:

https://aur.archlinux.org/packages/ntfs3-dkms/?O=10&PP=10

This driver damaged two of my NTFS partitions after a power outage. Even windows' chkdsk couldn't fix them. Thankfully I didn't have anything too important on them.

Please don't use this crap if you care about your hard drives.

Regarding the above udev rule, I have removed it, as it doesn't work. Busybox mount still needs an explicit "-t ntfs3".

So, holding back on this one. Will probably leave the ntfs3 patch out of the next kernel compile. Will wait until/if it merges in the kernel.  

Tags: easy