Paragon ntfs3 driver compatibility issues
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
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