Package Details: ntfs3-dkms 1:5.17-1

Git Clone URL: https://aur.archlinux.org/ntfs3-dkms.git (read-only, click to copy)
Package Base: ntfs3-dkms
Description: NTFS3 is fully functional NTFS Read-Write driver. The driver works with NTFS versions up to 3.1.
Upstream URL: https://www.kernel.org/doc/html/latest/filesystems/ntfs3.html
Licenses: GPL2
Conflicts: ntfs3
Provides: ntfs3, NTFS3-MODULE
Submitter: rdnvndr
Maintainer: rdnvndr (Hanabishi)
Last Packager: Hanabishi
Votes: 36
Popularity: 0.089823
First Submitted: 2020-08-16 11:43 (UTC)
Last Updated: 2022-03-29 14:57 (UTC)

Pinned Comments

Hanabishi commented on 2021-06-28 13:33 (UTC) (edited on 2022-03-25 20:51 (UTC) by Hanabishi)

Note: the driver was merged to the upstream kernel in 5.15. Mainline users can uninstall the package. It still exist for backporting.

Readme
More info and tips
How to use DKMS modules
Paragon NTFS3 FAQ

Git version: ntfs3-dkms-git

doug commented on 2020-09-09 07:24 (UTC) (edited on 2020-09-09 10:07 (UTC) by doug)

I made some test using bonnie and pts, this driver seems to be much faster than ntfs-3g

http://moodle.math.sk/~doug/bonnie_ntfs3_paragon.html

http://moodle.math.sk/~doug/bonnie_ntfs-3g.html

(disregard the read tests, since they were done from page cache)

edit: compilebench in pts, now includes native ext4, the paragon ntfs3 driver performance is comparable

https://openbenchmarking.org/result/2009092-NE-NTFSCOMPA56

Latest Comments

lacsaP commented on 2021-12-03 13:10 (UTC) (edited on 2021-12-03 13:19 (UTC) by lacsaP)

@Hanabishi, compilation is OK with all patches applied : thanks again. :-)

@Why? I had applied only the first one commented because it was the only one stamped 5.15 from which I took the sources. ;-)

Hanabishi commented on 2021-12-03 10:45 (UTC) (edited on 2021-12-03 10:51 (UTC) by Hanabishi)

I applied two patches : Makefile.patch and kernel-5.15-backport.patch

Why? I said lines 48-50. You need to apply all 3 backport patches in the strict order:

patch -p1 -N -i "${srcdir}/kernel-5.15-backport.patch"
patch -p1 -N -i "${srcdir}/kernel-5.14-backport.patch"
patch -p1 -N -i "${srcdir}/kernel-5.12-backport.patch"

Because you are targeting 5.10, it needs the whole downgrade chain.
And you don't need Makefile.patch, it's only for DKMS package.

lacsaP commented on 2021-12-03 10:08 (UTC) (edited on 2021-12-03 10:40 (UTC) by lacsaP)

I tried to compile Linux-LTS 5.10.83 with NTFS3 backported but I get an error.

after extracting the fs/ntfs3/ folder from the linux-5.15.6 archive, I applied two patches : Makefile.patch and kernel-5.15-backport.patch (which is in comment in the PKGBUILD file).

I then moved the patched ntfs3/ folder to the linux-5.10.83/fs/ folder and modified linux-5.10.83/fs/Makefile and linux-5.10.83/fs/Kconfig as indicated.

some questions are asked after launching makepkg :

...
NTFS Read-Write file system support (NTFS3_FS) [N/m/y/?] (NEW) y
  64 bits per NTFS clusters (NTFS3_64BIT_CLUSTER) [N/y/?] (NEW) n
  activate support of external compressions lzx/xpress (NTFS3_LZX_XPRESS) [N/y/?] (NEW) y
  NTFS POSIX Access Control Lists (NTFS3_FS_POSIX_ACL) [N/y/?] (NEW) n

then the compilation started but stopped on the backport :

...
  CC      fs/ntfs3/attrib.o
  CC      fs/ntfs3/attrlist.o
  CC      fs/ntfs3/bitfunc.o
  CC      fs/ntfs3/bitmap.o
  CC      fs/ntfs3/dir.o
  CC      fs/ntfs3/fsntfs.o
fs/ntfs3/fsntfs.c: In function 'ntfs_bio_fill_1':
fs/ntfs3/fsntfs.c:1602:38: error: 'BIO_MAX_VECS' undeclared (first use in this function); did you mean 'BIO_MAX_PAGES'?
 1602 |                 new = ntfs_alloc_bio(BIO_MAX_VECS);
      |                                      ^~~~~~~~~~~~
      |                                      BIO_MAX_PAGES
fs/ntfs3/fsntfs.c:1602:38: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [scripts/Makefile.build:280: fs/ntfs3/fsntfs.o] Error 1
make[1]: *** [scripts/Makefile.build:497: fs/ntfs3] Error 2
make: *** [Makefile:1822: fs] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

lacsaP commented on 2021-12-03 08:14 (UTC)

@Hanabishi, thanks a lot ! :-)

Hanabishi commented on 2021-12-02 10:56 (UTC) (edited on 2021-12-02 10:58 (UTC) by Hanabishi)

@lacsaP, the package already contains backport patches.

If you don't want to use DKMS and want to include it in the custom kernel build, well:
1) Extract fs/ntfs3 source from 5.15.
2) Apply the backport patches to it. (See lines 48-50 in the PKGBUILD as example.)
3) Put the sources into your kernel tree. Don't forget to include it in fs/Makefile and fs/Kconfig (again, see how it's done in 5.15).
4) Build the kernel.

lacsaP commented on 2021-12-02 10:13 (UTC) (edited on 2021-12-02 10:15 (UTC) by lacsaP)

@Hanabishi, could you give (me) explanations on how to backport NTFS3 on Linux-LTS (with, if possible, the non use of DKMS) ? may be in PKGBUILD file... regards, lacsaP

Hanabishi commented on 2021-11-13 09:13 (UTC) (edited on 2021-11-13 13:18 (UTC) by Hanabishi)

Well, 5.15 update is rolled out. Mainline users can uninstall the package now. But I will continue to update it to provide a backport for LTS users.
For those who wants the bleeding edge updates, even on 5.15+ (for testing or whatever reason), there is git package version.

Hanabishi commented on 2021-11-11 06:57 (UTC) (edited on 2021-11-11 07:29 (UTC) by Hanabishi)

@theriddick, I still think there are some issues with your system, not the driver.
Anyway, all the kernel discussion made through mailing lists. Here is ntfs3 archive: https://lore.kernel.org/ntfs3/, you can respond there or email directly to ntfs3@lists.linux.dev.

theriddick commented on 2021-11-11 02:33 (UTC)

Getting some MAJOR integrity issues with this driver and my NTFS SSD's and NVMe drives. Is there a place I can bug report? I'm needing to freq jump into windows10 to fix my drives.. something is very wrong!

jpegxguy commented on 2021-11-02 16:49 (UTC) (edited on 2021-11-02 16:49 (UTC) by jpegxguy)

Btw 5.15 kernel was released recently. So soon all mainline kernel users will not need this package anymore

You bet I'm frequently checking the repos to see 5.15 land on Arch. I am assuming/hoping that the vanilla arch config will have this and ksmbd enabled.

theriddick commented on 2021-11-02 05:43 (UTC) (edited on 2021-11-02 05:43 (UTC) by theriddick)

@Hanabishi yeah I dunno; but I ran 'lsmod | grep ntfs3' to see if it was loaded and it wasn't. But I seem to have figured it out in the end anyway.

Hanabishi commented on 2021-11-02 05:26 (UTC)

@theriddick, this is strange, by default fs drivers does not require to be loaded manually. Driver loads on mount automatically, you don't need to include it on boot or run modprobe. You sure have some exotic system/kernel configuration.

theriddick commented on 2021-11-02 05:17 (UTC)

@Hanabishi I fixed the issue and explained how and why it wasn't working. Just ignore me.

ntfs3 module was just not auto loading, it installed fine, but wasn't added into module load on boot.

Hanabishi commented on 2021-11-02 05:02 (UTC) (edited on 2021-11-02 05:03 (UTC) by Hanabishi)

@theriddick, maybe provide some details. I doubt that someone has oracle abilities here.

Btw 5.15 kernel was released recently. So soon all mainline kernel users will not need this package anymore.

theriddick commented on 2021-11-02 03:20 (UTC) (edited on 2021-11-02 03:43 (UTC) by theriddick)

Module installs but does not load! Just requires me to add the module ntfs3 to load on boot manually by editing mkinitcpio.conf I think.

Hanabishi commented on 2021-10-28 14:50 (UTC)

@karu1, 189 MiB.

karu1 commented on 2021-10-28 13:55 (UTC)

Also for now the package forced to download an archive with the whole kernel tree. Sorry, not found a better solution for now. If you know how to improve the packaging process, please share.

what is the download size

Hanabishi commented on 2021-10-17 06:18 (UTC)

@DDoSolitary, yeah, good point.

DDoSolitary commented on 2021-10-17 05:49 (UTC)

Please bump epoch in PKGBUILD when switching versioning scheme

Hanabishi commented on 2021-10-16 21:28 (UTC) (edited on 2021-10-16 21:42 (UTC) by Hanabishi)

New pull request was merged into the kernel upstream. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=86a44e9067c95083d5dbf5a140e3f4560e5af1ca
Seems like old versioning model has gone for sure. So the package also changed versioning accordingly.
New version contains some breaking changes in mount options list, check out new readme.


Also for now the package forced to download an archive with the whole kernel tree. Sorry, not found a better solution for now. If you know how to improve the packaging process, please share.

hianghokung commented on 2021-09-28 16:28 (UTC) (edited on 2021-10-05 02:45 (UTC) by hianghokung)

2021-10-5 When the kernel is upgraded to 5.14.9-2-ARCH, it is working normally.

2021-9-30 It should be a system problem, I can only wait for the system to update later.

There was a problem with the upgrade, and even if reuse the pull source build, still reported an error.

DKMS make.log for ntfs3-27.0.0 for kernel 5.14.8-1-ARCH (aarch64)
2021年 09月 29日 星期三 00:17:35 CST
make -C /lib/modules/5.14.8-1-ARCH/build M=/var/lib/dkms/ntfs3/27.0.0/build modules
make[1]: 进入目录“/usr/lib/modules/5.14.8-1-ARCH/build”
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/attrib.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/attrlist.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/bitfunc.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/bitmap.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/dir.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/fsntfs.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/frecord.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/file.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/fslog.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/inode.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/index.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/lznt.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/namei.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/record.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/run.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/super.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/upcase.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/xattr.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/lib/decompress_common.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/lib/lzx_decompress.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/lib/xpress_decompress.o
  LD [M]  /var/lib/dkms/ntfs3/27.0.0/build/ntfs3.o
  MODPOST /var/lib/dkms/ntfs3/27.0.0/build/Module.symvers
ERROR: modpost: "set_bh_page" [/var/lib/dkms/ntfs3/27.0.0/build/ntfs3.ko] undefined!ERROR: modpost: "vm_zone_stat" [/var/lib/dkms/ntfs3/27.0.0/build/ntfs3.ko] undefined!
ERROR: modpost: "balance_dirty_pages_ratelimited" [/var/lib/dkms/ntfs3/27.0.0/build/ntfs3.ko] undefined!
make[2]: *** [scripts/Makefile.modpost:150:/var/lib/dkms/ntfs3/27.0.0/build/Module.symvers] 错误 1
make[2]: *** 正在删除文件“/var/lib/dkms/ntfs3/27.0.0/build/Module.symvers”
make[1]: *** [Makefile:1773:modules] 错  2
make[1]: 离开目录“/usr/lib/modules/5.14.8-1-ARCH/build”
make: *** [Makefile:42:all] 错误 2

BachoSeven commented on 2021-09-10 21:03 (UTC)

@Hanabishi my bad, I was actually still on the previous pkgrel, thanks for maintaing this.

Hanabishi commented on 2021-09-10 19:42 (UTC)

@BachoSeven, can't reproduce. Ensure you are using the latest package version.

BachoSeven commented on 2021-09-10 19:36 (UTC)

Failed building against linux-zen version 5.14.2.zen1-2:

DKMS make.log for ntfs3-27.0.0 for kernel 5.14.2-zen1-2-zen (x86_64)
ven 10 set 2021, 21:33:52, CEST
make -C /lib/modules/5.14.2-zen1-2-zen/build M=/var/lib/dkms/ntfs3/27.0.0/build modules
make[1]: Entering directory '/usr/lib/modules/5.14.2-zen1-2-zen/build'
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/attrib.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/attrlist.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/bitfunc.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/bitmap.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/dir.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/fsntfs.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/frecord.o
  CC [M]  /var/lib/dkms/ntfs3/27.0.0/build/file.o
/var/lib/dkms/ntfs3/27.0.0/build/file.c:1230:27: error: initialization of ‘struct posix_acl * (*)(struct inode *, int)’ from incompatible pointer type ‘struct posix_acl * (*)(struct inode *, int,  bool)’ {aka ‘struct posix_acl * (*)(struct inode *, int,  _Bool)’} [-Werror=incompatible-pointer-types]
 1230 |         .get_acl        = ntfs_get_acl,
      |                           ^~~~~~~~~~~~
/var/lib/dkms/ntfs3/27.0.0/build/file.c:1230:27: note: (near initialization for ‘ntfs_file_inode_operations.get_acl’)
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:271: /var/lib/dkms/ntfs3/27.0.0/build/file.o] Error 1
make[1]: *** [Makefile:1848: /var/lib/dkms/ntfs3/27.0.0/build] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.14.2-zen1-2-zen/build'
make: *** [Makefile:42: all] Error 2

Hanabishi commented on 2021-09-06 07:50 (UTC) (edited on 2021-09-06 07:50 (UTC) by Hanabishi)

Anyway, I see the problem. Latest changes were actually for 5.15. Fixed, made a disctinct patch from it.

Hanabishi commented on 2021-09-06 07:29 (UTC)

@Ranguvar, the main patch in prepare() applies regardless of kernel version. Maybe you mean backport patches applied in dkms.conf? You can't build the package itself or dkms build fails?

Ranguvar commented on 2021-09-06 07:16 (UTC)

Fails to build against 5.14.1.

Some of the patches in prepare() seem to fail.

27.0.0-2 still works well.

hianghokung commented on 2021-09-05 15:14 (UTC)

@Hanabishi Nice,now can be used normally.

Hanabishi commented on 2021-09-05 15:01 (UTC)

@hianghokung, fixed.

hianghokung commented on 2021-09-05 14:18 (UTC)

I have the following error report and it is not working properly now. Ask for help.

:: 正在运行事务后钩子函数... (1/2) Arming ConditionNeedsUpdate... (2/2) Install DKMS modules ==> dkms install --no-depmod -m ntfs3 -v 27.0.0 -k 5.10.60-1-ARCH Error! Application of patch kernel-5.12-backport.patch failed. Check /var/lib/dkms/ntfs3/27.0.0/build/ for more information. ==> Warning, `dkms install --no-depmod -m ntfs3 -v 27.0.0 -k 5.10.60-1-ARCH' returned 6 ==> depmod 5.10.60-1-ARCH

Hanabishi commented on 2021-09-04 20:45 (UTC)

NTFS3 was merged into the kernel tree.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f7464060f7ab9a2424428008f0ee9f1e267e410f

theriddick commented on 2021-09-04 00:48 (UTC)

@Hanabishi There is new xanmod out so I'll just build that. It has this driver from 3 days ago which should be new enough.

Hanabishi commented on 2021-09-04 00:46 (UTC)

@theriddick, idk for sure, but I suppose the patch is not compatible with it.

theriddick commented on 2021-09-04 00:34 (UTC)

@Hanabishi No not yet, I'm using the one in Xanmod. If I install the git DKMS will that overwrite the xanmod version?

Hanabishi commented on 2021-09-03 10:48 (UTC)

@theriddick, did you tried the latest version from git? v27 has confirmed corruption bugs. In the git version there are lot of fixes.

theriddick commented on 2021-09-03 03:46 (UTC)

I've had a few issues now with ntfs3 driver where my drives integrity would go down or something and files would go missing. I'd boot into Win10 and run a scan disk and repair the drive, and low and behold, those missing and bad files return... This is like the 3rd time its happened, its almost asif this drive is not writing data correctly to the drive.

No windows10 hibernation is set btw. So windows is not to blame for this issue (not to mention I never boot into windows lately)

Hanabishi commented on 2021-08-14 12:23 (UTC) (edited on 2021-08-14 12:26 (UTC) by Hanabishi)

@esistgut, they are still not published the utils, I guess.
By now checking NTFS in Linux is not recommended at all. ntfs-3g tools also not working well https://wiki.archlinux.org/title/NTFS-3G#Damaged_NTFS_filesystems

p.s. You can mount 'dirty' partitions via force flag. If you are sure there is no real errors and fs is just not closed gracefully. But still better use Windows chkdsk just for sure.

esistgut commented on 2021-08-14 10:51 (UTC)

After an hard reboot my system did not boot because my partition got the dirty flag and couldn't be mounted. I had to reboot on Windows to check and unflag it. The Paragon FAQs have references to Linux tools (chkNTFS and mkNTFS). Do you know how to get them?

Hanabishi commented on 2021-08-13 19:24 (UTC) (edited on 2021-08-13 19:30 (UTC) by Hanabishi)

There is now upstream git repo exist. But no new defined version released yet.
I've created ntfs3-dkms-git package https://aur.archlinux.org/packages/ntfs3-dkms-git/

theriddick commented on 2021-08-09 15:09 (UTC)

@Hanabishi, perhaps, I dunno. It did use to work but I had some issue recently and had to disable ntfs3 included in xanmod, and thought I'd try this dkms one.

Guess I'll just wait until 5.15+

Hanabishi commented on 2021-08-09 14:07 (UTC) (edited on 2021-08-09 14:23 (UTC) by Hanabishi)

@theriddick, well, maybe this is the cause. The package is only tested for Arch with officially supported kernels.

theriddick commented on 2021-08-09 13:52 (UTC) (edited on 2021-08-09 14:06 (UTC) by theriddick)

@Hanabishi, I had been just trying to mount with gnome-disk-utility, but I'm using xanmod 5.13-8 kernel atm. Xanmod may have ntfs3 already but it failed on me for unknown reasons so I installed this one.

dkms status says their installed. lsmod shows ntfs3 in the list...

Example of it done in tty: sudo mount -t ntfs3 /dev/sdb2 /mnt/StorageSSD/

mount: /mnt/StorageSSD: wrong fs type, bad option, bad superblock on /dev/sdb2, missing codepage or helper program, or other error.

Hanabishi commented on 2021-08-09 13:46 (UTC)

@theriddick, can you provide more details? Which kernel version, dkms module installation output. Which exact command are you using and it's output.

theriddick commented on 2021-08-09 13:37 (UTC)

Tried to get this working but whenever I attempt mount it spits this. wrong fs type, bad option, bad superblock on xxx, missing codepage or helper program, or other error udisks-error-quark, 0

I've tried with no mount flags also and same issue.

Hanabishi commented on 2021-08-09 09:38 (UTC)

@loathingkernel, no real point. Will remove it next time.

loathingkernel commented on 2021-08-09 09:27 (UTC)

What is the point of this package conflicting with itself?

post-factum commented on 2021-08-08 20:26 (UTC)

Thank you.

Hanabishi commented on 2021-08-08 18:58 (UTC)

@post-factum, yeah, done.

post-factum commented on 2021-08-08 18:12 (UTC)

Mind adding provides=(NTFS3-MODULE)?

babam commented on 2021-07-31 11:16 (UTC) (edited on 2021-07-31 11:16 (UTC) by babam)

@Hanabishi, Thank you very much.

Hanabishi commented on 2021-07-30 15:24 (UTC) (edited on 2021-07-30 15:43 (UTC) by Hanabishi)

Well, regardless, here is an update. Now the package has 2 backport patches.
Because <5.12 users will still need both patches in the future.

Hanabishi commented on 2021-07-29 20:21 (UTC)

Seems like the only change in v27 is for 5.14 kernel version. Backporting is literally equal to reverting back to v26 state.
So the package update to v27 is not possible until Arch mainstream kernel will be updated to 5.14.

Hanabishi commented on 2021-07-25 16:26 (UTC) (edited on 2021-07-25 16:31 (UTC) by Hanabishi)

@yanpas, well, the best way I think is to reply to the ntfs3 message at lkml https://lore.kernel.org/lkml/20210402155347.64594-1-almaz.alexandrovich@paragon-software.com/#R

yanpas commented on 2021-07-25 16:03 (UTC)

@Hanabishi It's new Western Digital USB hard drive that I've bought today to do backups. CrystalDiskInfo and Windows shows it's 100% healthy. ntfs-3g works as a charm. I was copying about 160GB of various photos and videos, there are a lot of Cyrillic paths BTW.

Do you know how to send my feedback to Paragon?

Hanabishi commented on 2021-07-25 15:21 (UTC)

@yanpas, looks like the disk failure. Are you sure it's ok? You tested it with ntfs-3g and in Windows?

yanpas commented on 2021-07-25 13:43 (UTC)

Don't recommend using with rsync and writing, tons of errors in dmesg:

[ 5529.507567] INFO: task kworker/0:1:18 blocked for more than 1105 seconds.
[ 5529.507580]       Tainted: P           OE     5.13.4-arch1-1 #1
[ 5529.507584] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 5529.507586] task:kworker/0:1     state:D stack:    0 pid:   18 ppid:     2 flags:0x00004000
[ 5529.507598] Workqueue: usb_hub_wq hub_event
[ 5529.507612] Call Trace:
[ 5529.507615]  ? out_of_line_wait_on_bit_lock+0xb0/0xb0
[ 5529.507631]  __schedule+0x310/0x930
[ 5529.507641]  ? out_of_line_wait_on_bit_lock+0xb0/0xb0
[ 5529.507648]  schedule+0x5b/0xc0
[ 5529.507654]  bit_wait+0xd/0x60
[ 5529.507661]  __wait_on_bit+0x2a/0x90
[ 5529.507669]  __inode_wait_for_writeback+0xb0/0xe0
[ 5529.507680]  ? var_wake_function+0x20/0x20
[ 5529.507689]  writeback_single_inode+0x64/0x140
[ 5529.507699]  sync_inode_metadata+0x3d/0x60
[ 5529.507712]  ntfs_set_state+0x126/0x1a0 [ntfs3]
[ 5529.507738]  ni_write_inode+0x244/0xef0 [ntfs3]
[ 5529.507764]  ? pagevec_lookup_range_tag+0x24/0x30
[ 5529.507772]  ? __filemap_fdatawait_range+0x6f/0xf0
[ 5529.507785]  __writeback_single_inode+0x260/0x310
[ 5529.507795]  writeback_single_inode+0xa7/0x140
[ 5529.507803]  sync_inode_metadata+0x3d/0x60
[ 5529.507814]  ntfs_set_state+0x126/0x1a0 [ntfs3]
[ 5529.507834]  ntfs_sync_fs+0xf9/0x100 [ntfs3]
[ 5529.507857]  sync_filesystem+0x40/0x90
[ 5529.507868]  fsync_bdev+0x21/0x60
[ 5529.507874]  delete_partition+0x13/0x80
[ 5529.507882]  blk_drop_partitions+0x5b/0xa0
[ 5529.507889]  del_gendisk+0xa5/0x220
[ 5529.507895]  sd_remove+0x3d/0x80
[ 5529.507907]  __device_release_driver+0x17a/0x230
[ 5529.507918]  device_release_driver+0x24/0x30
[ 5529.507927]  bus_remove_device+0xdb/0x140
[ 5529.507937]  device_del+0x18b/0x400
[ 5529.507943]  ? ata_tlink_match+0x30/0x30
[ 5529.507949]  ? attribute_container_device_trigger+0xc5/0x100
[ 5529.507959]  __scsi_remove_device+0x118/0x150
[ 5529.507967]  scsi_forget_host+0x54/0x60
[ 5529.507978]  scsi_remove_host+0x72/0x110
[ 5529.507988]  usb_stor_disconnect+0x46/0xb0 [usb_storage]
[ 5529.508003]  usb_unbind_interface+0x8a/0x270
[ 5529.508010]  ? kernfs_find_ns+0x35/0xd0
[ 5529.508017]  __device_release_driver+0x17a/0x230
[ 5529.508027]  device_release_driver+0x24/0x30
[ 5529.508036]  bus_remove_device+0xdb/0x140
[ 5529.508044]  device_del+0x18b/0x400
[ 5529.508050]  ? kobject_put+0x98/0x1d0
[ 5529.508062]  usb_disable_device+0xc6/0x1f0
[ 5529.508073]  usb_disconnect.cold+0x7e/0x250
[ 5529.508085]  hub_event+0xc7b/0x17f0
[ 5529.508099]  process_one_work+0x1e3/0x3b0
[ 5529.508109]  worker_thread+0x50/0x3b0
[ 5529.508115]  ? process_one_work+0x3b0/0x3b0
[ 5529.508122]  kthread+0x133/0x160
[ 5529.508127]  ? set_kthread_struct+0x40/0x40
[ 5529.508133]  ret_from_fork+0x22/0x30

[ 8440.627659] blk_update_request: I/O error, dev sdd, sector 256017240 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8440.627667] ntfs3: 165 callbacks suppressed
[ 8440.627667] ntfs3: sdd1: failed to read volume at offset 0x1e84f6b000
[ 8440.627673] blk_update_request: I/O error, dev sdd, sector 256017240 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8440.627676] ntfs3: sdd1: failed to read volume at offset 0x1e84f6b000
[ 8440.778355] blk_update_request: I/O error, dev sdd, sector 6293496 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8440.778384] ntfs3: sdd1: failed to read volume at offset 0xbffff000
[ 8440.778412] blk_update_request: I/O error, dev sdd, sector 6353096 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8440.778428] ntfs3: sdd1: failed to read volume at offset 0xc1d19000
[ 8440.778441] blk_update_request: I/O error, dev sdd, sector 6353096 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8440.778452] ntfs3: sdd1: failed to read volume at offset 0xc1d19000
[ 8440.778459] ntfs3: sdd1: ntfs_evict_inode r=0 failed, -22.
[ 8440.778489] blk_update_request: I/O error, dev sdd, sector 6293496 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8440.778500] ntfs3: sdd1: failed to read volume at offset 0xbffff000
[ 8440.789598] blk_update_request: I/O error, dev sdd, sector 6293496 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8440.789606] ntfs3: sdd1: failed to read volume at offset 0xbffff000
[ 8440.789628] blk_update_request: I/O error, dev sdd, sector 6293496 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8440.789631] ntfs3: sdd1: failed to read volume at offset 0xbffff000
[ 8440.789642] blk_update_request: I/O error, dev sdd, sector 6293496 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8440.789644] ntfs3: sdd1: failed to read volume at offset 0xbffff000
[ 8440.792779] blk_update_request: I/O error, dev sdd, sector 6293496 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8459.095591] print_req_error: 84 callbacks suppressed
[ 8459.095593] blk_update_request: I/O error, dev sdd, sector 256017240 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8459.095599] ntfs3: 85 callbacks suppressed
[ 8459.095600] ntfs3: sdd1: failed to read volume at offset 0x1e84f6b000
[ 8459.095606] blk_update_request: I/O error, dev sdd, sector 256017240 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8459.095609] ntfs3: sdd1: failed to read volume at offset 0x1e84f6b000
[ 8471.614409] blk_update_request: I/O error, dev sdd, sector 2400 op 0x1:(WRITE) flags 0x100000 phys_seg 1 prio class 0
[ 8471.614426] Buffer I/O error on dev sdd1, logical block 44, lost async page write
[ 8471.614459] blk_update_request: I/O error, dev sdd, sector 6293576 op 0x1:(WRITE) flags 0x100000 phys_seg 1 prio class 0
[ 8471.614467] Buffer I/O error on dev sdd1, logical block 786441, lost async page write
[ 8471.614501] blk_update_request: I/O error, dev sdd, sector 6353104 op 0x1:(WRITE) flags 0x100000 phys_seg 6 prio class 0
[ 8471.614507] Buffer I/O error on dev sdd1, logical block 793882, lost async page write
[ 8471.614512] Buffer I/O error on dev sdd1, logical block 793883, lost async page write
[ 8471.614516] Buffer I/O error on dev sdd1, logical block 793884, lost async page write
[ 8471.614520] Buffer I/O error on dev sdd1, logical block 793885, lost async page write
[ 8471.614524] Buffer I/O error on dev sdd1, logical block 793886, lost async page write
[ 8471.614528] Buffer I/O error on dev sdd1, logical block 793887, lost async page write
[ 8471.614544] blk_update_request: I/O error, dev sdd, sector 6353176 op 0x1:(WRITE) flags 0x100000 phys_seg 1 prio class 0
[ 8471.614549] Buffer I/O error on dev sdd1, logical block 793891, lost async page write
[ 8527.251772] blk_update_request: I/O error, dev sdd, sector 256017240 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8527.251782] ntfs3: sdd1: failed to read volume at offset 0x1e84f6b000
[ 8527.251790] blk_update_request: I/O error, dev sdd, sector 256017240 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8527.251794] ntfs3: sdd1: failed to read volume at offset 0x1e84f6b000
[ 8527.403651] blk_update_request: I/O error, dev sdd, sector 6293496 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8527.403681] ntfs3: sdd1: failed to read volume at offset 0xbffff000
[ 8527.403710] blk_update_request: I/O error, dev sdd, sector 6353176 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8527.403726] ntfs3: sdd1: failed to read volume at offset 0xc1d23000
[ 8527.403740] blk_update_request: I/O error, dev sdd, sector 6353176 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8527.403751] ntfs3: sdd1: failed to read volume at offset 0xc1d23000
[ 8527.403758] ntfs3: sdd1: ntfs_evict_inode r=0 failed, -22.
[ 8527.403780] blk_update_request: I/O error, dev sdd, sector 6293496 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8527.403790] ntfs3: sdd1: failed to read volume at offset 0xbffff000
[ 8527.413483] blk_update_request: I/O error, dev sdd, sector 6293496 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8527.413490] ntfs3: sdd1: failed to read volume at offset 0xbffff000
[ 8527.413497] blk_update_request: I/O error, dev sdd, sector 6353176 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8527.413500] ntfs3: sdd1: failed to read volume at offset 0xc1d23000
[ 8527.413503] blk_update_request: I/O error, dev sdd, sector 6353176 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8527.413505] ntfs3: sdd1: failed to read volume at offset 0xc1d23000
[ 8527.413512] blk_update_request: I/O error, dev sdd, sector 6293496 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8534.121680] print_req_error: 63 callbacks suppressed
[ 8534.121682] blk_update_request: I/O error, dev sdd, sector 6293576 op 0x1:(WRITE) flags 0x100000 phys_seg 1 prio class 0
[ 8534.121685] Buffer I/O error on dev sdd1, logical block 786441, lost async page write
[ 8534.121695] blk_update_request: I/O error, dev sdd, sector 6353104 op 0x1:(WRITE) flags 0x100000 phys_seg 2 prio class 0
[ 8534.121697] Buffer I/O error on dev sdd1, logical block 793882, lost async page write
[ 8534.121698] Buffer I/O error on dev sdd1, logical block 793883, lost async page write
[ 8534.121702] blk_update_request: I/O error, dev sdd, sector 6353128 op 0x1:(WRITE) flags 0x100000 phys_seg 2 prio class 0
[ 8534.121704] Buffer I/O error on dev sdd1, logical block 793885, lost async page write
[ 8534.121705] Buffer I/O error on dev sdd1, logical block 793886, lost async page write
[ 8534.121708] blk_update_request: I/O error, dev sdd, sector 6353184 op 0x1:(WRITE) flags 0x100000 phys_seg 1 prio class 0
[ 8534.121709] Buffer I/O error on dev sdd1, logical block 793892, lost async page write
[ 8534.121715] blk_update_request: I/O error, dev sdd, sector 6353216 op 0x1:(WRITE) flags 0x100000 phys_seg 1 prio class 0
[ 8534.121716] Buffer I/O error on dev sdd1, logical block 793896, lost async page write
[ 8547.435352] blk_update_request: I/O error, dev sdd, sector 7342592 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[ 8547.435367] blk_update_request: I/O error, dev sdd, sector 7342592 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8547.913816] blk_update_request: I/O error, dev sdd, sector 29120088 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[ 8547.913827] blk_update_request: I/O error, dev sdd, sector 29120088 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8547.942442] blk_update_request: I/O error, dev sdd, sector 29131080 op 0x0:(READ) flags 0x80700 phys_seg 2 prio class 0
[ 8547.942453] blk_update_request: I/O error, dev sdd, sector 29131080 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8547.971605] blk_update_request: I/O error, dev sdd, sector 29150832 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 0
[ 8547.971622] blk_update_request: I/O error, dev sdd, sector 29150832 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8548.000941] blk_update_request: I/O error, dev sdd, sector 29160776 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 0
[ 8548.000952] blk_update_request: I/O error, dev sdd, sector 29160776 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8549.202253] ntfs3: 66 callbacks suppressed
[ 8549.202257] ntfs3: sdd1: failed to read volume at offset 0x1e84f6b000
[ 8549.202275] ntfs3: sdd1: failed to read volume at offset 0x1e84f6b000

Hanabishi commented on 2021-07-24 15:09 (UTC) (edited on 2021-07-24 15:10 (UTC) by Hanabishi)

@yanpas, maybe just the mount time is long for some reason. Try to disable automount on boot (noauto) and measure the mount time when you manually mounting it.

yanpas commented on 2021-07-24 15:02 (UTC)

@Hanabishi 5.13.4. Actually I faced this every kernel release for the last several months. While booting I see two lines in console (systemd version and some other line) and hdd led constantly flickering.

Hanabishi commented on 2021-07-24 14:57 (UTC)

@yanpas, which kernel are you using?

yanpas commented on 2021-07-24 14:20 (UTC) (edited on 2021-07-24 14:22 (UTC) by yanpas)

Slow boot

I use this driver in fstab:

    /dev/disk/by-uuid/XXXXXXXXXXX /home/me/.D/ ntfs3 rw,users,uid=me,gid=me,dmask=027,fmask=137,nofail 0 0

For some reason the system has started booting much slower (fsck is disabled according to fstab). Does anyone know the reason? dmesg log:

[    3.526953] usbcore: registered new interface driver usbhid
[    3.526954] usbhid: USB HID core driver
[    3.550022] ntfs3: module verification failed: signature and/or required key missing - tainting kernel
[    3.607304] mousedev: PS/2 mouse device common for all mice
[    3.609199] ntfs3: Index binary search
[    3.609200] ntfs3: Hot fix free clusters
[    3.609200] ntfs3: Max link count 1024
[    3.609201] ntfs3: Enabled Linux POSIX ACLs support
[    3.609201] ntfs3: Activated 32 bits per cluster
[    3.609202] ntfs3: Read-only lzx/xpress compression included
[    3.856553] nvidia: module license 'NVIDIA' taints kernel.

Hanabishi commented on 2021-06-28 13:33 (UTC) (edited on 2022-03-25 20:51 (UTC) by Hanabishi)

Note: the driver was merged to the upstream kernel in 5.15. Mainline users can uninstall the package. It still exist for backporting.

Readme
More info and tips
How to use DKMS modules
Paragon NTFS3 FAQ

Git version: ntfs3-dkms-git

lignix commented on 2021-06-28 13:09 (UTC)

@Hanabishi Thanks.

Hanabishi commented on 2021-06-28 13:07 (UTC)

@lignix, the answer is directly in your logs: Missing kernel headers. You should install the kernel headers (e.g. linux-headers package).
Read how to use DKMS modules: https://wiki.archlinux.org/title/Dynamic_Kernel_Module_Support

lignix commented on 2021-06-28 13:03 (UTC) (edited on 2021-06-28 13:07 (UTC) by lignix)

Hi my kernel version 5.12.10-arch1-1

compilation gives error:

==> fakeroot ortamından çıkılıyor.
==> ntfs3-dkms 26.0.0-4 (Pzt 28 Haz 2021 15:22:24) paketinin derlenmesi tamamlandı
==> Temizleniyor...
paketler yükleniyor...
paket bağımlılıkları çözümleniyor...
varsa paketler arası çakışmalara bakılıyor...

Paketler (1) ntfs3-dkms-26.0.0-4

Toplam Kurulum Boyutu:  0,70 MiB

:: Kuruluma onay veriyor musunuz? [E/h] 
(1/1) anahtarlıktaki anahtarlar kontrol ediliyor                                                           [###############################################################] 100%
(1/1) paket bütünlüğü kontrol ediliyor                                                                     [###############################################################] 100%
(1/1) paket dosyaları yükleniyor                                                                           [###############################################################] 100%
(1/1) dosya çakışmaları kontrol ediliyor                                                                   [###############################################################] 100%
(1/1) disk alanı kontrol ediliyor                                                                          [###############################################################] 100%
:: Paket değişiklikleri işleniyor...
(1/1) yükleniyor ntfs3-dkms                                                                                [###############################################################] 100%
:: Bağlantılı işlemler listesi çalışıyor...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Install DKMS modules
==> Unable to install module ntfs3/26.0.0 for kernel *: Missing kernel headers.

what is the problem?

ricky26 commented on 2021-06-16 14:05 (UTC)

@Hanabishi I should've mentioned that I have symlinked compatdata out of the NTFS partition (I don't think compatdata was causing issues in itself). It seems to happen when Steam updates games (I get the impression Steam hits the FS pretty hard).

Hanabishi commented on 2021-06-12 11:08 (UTC)

It can read files with NTFS compression (even new methods from Win10). But what about write - can't say how to do that in linux. There is sparse mount flag, but I don't know how it works.
Btw du util only shows an actual file size without compression. And there is no such util for NTFS like compsize for BTRFS.

babam commented on 2021-06-12 08:26 (UTC) (edited on 2021-06-12 11:55 (UTC) by babam)

Ntfs3 doesn't support sparse files?

$ truncate -s 512M file.img

NTFS3:

$ du -h file.img

512M file.img

EXT4:

$ du -h file.img

0 file.img

jason.houston commented on 2021-06-02 19:11 (UTC)

Doh, neglected to clean my cache directory... building fine now, thanks!

jpegxguy commented on 2021-06-02 18:40 (UTC)

@jason.houston try cleaning the aur clone directory. For example with paru you would do it like so paru -Sc

Hanabishi commented on 2021-06-02 18:33 (UTC)

@jason.houston, yes. Tried it right now: all checks passed.

jason.houston commented on 2021-06-02 18:10 (UTC)

I'm still getting the validity check error when trying to update, did the package get updated?

Hanabishi commented on 2021-05-27 15:22 (UTC) (edited on 2021-05-27 15:24 (UTC) by Hanabishi)

Yeah, seems like something changed in lkml.
Updated the package.

oech3 commented on 2021-05-27 13:55 (UTC)

sha512sums for v26.*.patch seems wrong.

Hanabishi commented on 2021-05-19 13:51 (UTC)

@ricky26, which kind of corruption?
Wine/Proton creates files with incorrect names (like c:). So if you have issues in Windows after that, this is kinda expected result.
Btw ntfs-3g by default doesn't allow such names and Wine/Proton doesn't work with it at all. So NTFS is not the best choice for this.
As a workaround you can e.g. link Steam's compatdata directory to other filesystem.

ricky26 commented on 2021-05-19 13:37 (UTC)

I've experienced directory corruption with v26, I think it was introduced in one of the revisions. Seems pretty easy to reproduce by installing some large Steam games on my HDD (Proton is a good test case to exercise it with too).

babam commented on 2021-05-09 22:26 (UTC) (edited on 2021-05-11 08:43 (UTC) by babam)

I have never encountered filesystem corruption/failure using ntfs3 driver.

Hanabishi commented on 2021-05-09 07:26 (UTC)

@alireza6677, you should read warnings. Early development unstable things really may be unstable you know.
Also if you care about your hard drives, the power outage is the way worse than any driver failure, because it can damage em physically.

alireza6677 commented on 2021-05-09 05:38 (UTC)

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.

Hanabishi commented on 2021-05-06 00:19 (UTC)

Well, I've improved the package, the legacy patch applies at DKMS build stage. So now you should be able to pre-build it anywhere and also update through 5.12 boundary (e.g. 5.11 -> 5.12) on the fly without problems.

Hanabishi commented on 2021-05-05 09:25 (UTC) (edited on 2021-05-05 09:25 (UTC) by Hanabishi)

@Saancreed, maybe, if I will figure out how to do it properly.
But yeah, seems like this thing causes some problems. Now I'm starting to think that the maintaining of the backport wasn't the great idea.

Saancreed commented on 2021-05-04 23:35 (UTC)

Hey there!

I've taken a look at PKGBUILD, and I've noticed that in prepare function you check for the version of the kernel currently running on the build machine. This introduces a hidden dependency on build environment, has a chance of outright not working if the machine on which the package is installed is running a different kernel version and DKMS will most likely fail to build the module if the machine has both LTS and mainline kernel (which defeats the point of using DKMS). Could you please move the check to when the module is actually compiled for given kernel version? Y'know, using the usual #if LINUX_VERSION_CODE < KERNEL_VERSION(x, y, z) like Nvidia and other out of tree kernel modules usually do.

My own package achieves it like this:

    patch -Np3 -DNTFS3_NO_USERNS -i "${srcdir}/v${pkgver}-no-userns.patch"
    sed -i '8s:^:#include <linux/version.h>\n\n#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 12, 0)\n#define NTFS3_NO_USERNS\n#endif\n\n:' ./ntfs_fs.h

jpegxguy commented on 2021-05-02 10:07 (UTC)

One can monitor the udisks2 path regarding ntfs3 in this GitHub issue.

Basically, they're rightfully waiting to see what the final name of the merged driver will be. It is my hope that it will replace the old ntfs driver soon.

Ilya87 commented on 2021-05-02 09:45 (UTC)

Recomended trick seems not to work for me (Manjaro, after reboot and udevadm control --reload-rules). /etc/udev/rules.d/99-ntfs.rules SUBSYSTEM=="block", ENV{ID_FS_TYPE}=="ntfs", ENV{ID_FS_TYPE}="ntfs3"

Veracrypt mount shows error (password for encryption is right), mount /dev/mapper/veracrypt1 /mnt/veracrypt1 mount: /mnt/veracrypt1: unknown filesystem type 'ntfs'

jpegxguy commented on 2021-04-28 16:40 (UTC) (edited on 2021-04-28 16:41 (UTC) by jpegxguy)

Yeah actually your version is better, it'll break when 6+ comes around as you say, but surely ntfs3 will be merged sooner that that (I hope, haha) and in that case you can just depend linux < (version where merge happened) or something

Hanabishi commented on 2021-04-28 16:21 (UTC)

@jpegxguy, I don't think so. Because e.g. "4.20" will not pass the test.
My code also can be problematic tho, when 6+ will come out. But until then I think I will come up with a better idea for checking.

jpegxguy commented on 2021-04-28 16:08 (UTC)

Good idea!

Maybe in line 52 you want [ $kmaj -le 5 ] && [ $kmin -lt 12 ] ?

Hanabishi commented on 2021-04-28 16:05 (UTC)

I've decided to make the package universal. Just to keep support for old/lts kernel version users.
It is now automatically detects kernel version and decides to apply the compatibility patch or not.

jpegxguy commented on 2021-04-28 13:30 (UTC)

Ah, so kernel_version_fix.patch was added because ntfs3 was normally based on 5.12 in the mailing list? Thanks for the quick answer

Hanabishi commented on 2021-04-28 13:28 (UTC) (edited on 2021-04-28 13:29 (UTC) by Hanabishi)

@jpegxguy, because it contains a patch for 5.11 or lower. Just wait when main linux package from core repo will be updated to 5.12, then I will update this package too.
Or if you want it right now, just remove

patch -p3 -N -i "$srcdir/kernel_version_fix.patch"

line form the PKGBUILD.

jpegxguy commented on 2021-04-28 13:23 (UTC)

5.12 build error (I'm using linux-ck but I don't it's related):

DKMS make.log for ntfs3-26.0.0 for kernel 5.12.0-1-ck-zen (x86_64)
Τετ 28 Απρ 2021 04:22:09 μμ EEST
make -C /lib/modules/5.12.0-1-ck-zen/build M=/var/lib/dkms/ntfs3/26.0.0/build modules
make[1]: Entering directory '/usr/lib/modules/5.12.0-1-ck-zen/build'
  CC [M]  /var/lib/dkms/ntfs3/26.0.0/build/attrib.o
  CC [M]  /var/lib/dkms/ntfs3/26.0.0/build/attrlist.o
  CC [M]  /var/lib/dkms/ntfs3/26.0.0/build/bitfunc.o
  CC [M]  /var/lib/dkms/ntfs3/26.0.0/build/bitmap.o
  CC [M]  /var/lib/dkms/ntfs3/26.0.0/build/dir.o
  CC [M]  /var/lib/dkms/ntfs3/26.0.0/build/fsntfs.o
/var/lib/dkms/ntfs3/26.0.0/build/fsntfs.c: In function ‘ntfs_bio_fill_1’:
/var/lib/dkms/ntfs3/26.0.0/build/fsntfs.c:1623:24: σφάλμα: ‘BIO_MAX_PAGES’ undeclared (first use in this function); did you mean ‘BIO_MAX_VECS’?
 1623 |   new = ntfs_alloc_bio(BIO_MAX_PAGES);
      |                        ^~~~~~~~~~~~~
      |                        BIO_MAX_VECS
/var/lib/dkms/ntfs3/26.0.0/build/fsntfs.c:1623:24: σημείωση: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [scripts/Makefile.build:271: /var/lib/dkms/ntfs3/26.0.0/build/fsntfs.o] Error 1
make[1]: *** [Makefile:1855: /var/lib/dkms/ntfs3/26.0.0/build] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.12.0-1-ck-zen/build'
make: *** [Makefile:40: all] Error 2

eNV25 commented on 2021-03-29 10:17 (UTC)

@Hanabishi Yea, I didn't notice.

Hanabishi commented on 2021-03-29 10:04 (UTC) (edited on 2021-03-29 10:05 (UTC) by Hanabishi)

@eNV25, sadly no. The patchwork is broken. Look closely, you will see that the message #4 was just lost there.
https://i.ibb.co/QDMGTpF/image.png

post-factum commented on 2021-03-27 22:40 (UTC)

Incremental diff between v24 and v25: https://gitlab.com/post-factum/pf-kernel/-/commit/53c3b8a7ea40260500d85e6e9816513e0d4a70ca

Let me know if I missed something. This is compile-tested only ATM.

Hanabishi commented on 2021-03-01 21:51 (UTC) (edited on 2021-03-01 21:51 (UTC) by Hanabishi)

@babam, our problem is fixed in v22, congrats!
@post-factum, I've made a new patch by my own taking yours as example, thanks again.

babam commented on 2021-02-13 20:30 (UTC)

Here is a file access problem on my system https://tinyimg.io/i/UdLDQkQ.png

Hanabishi commented on 2021-02-13 10:21 (UTC)

@ignapk, not a bug. NTFS itself supports any characters, such illegal characters is just Windows restriction. Also ntfs supports case-sensitive names (and Windows 10 supports it too since WSL was introduced).
Yes, for NTFS-3G there is optional flag windows_names. You can send a such feature request to the driver devs if you want.

ignapk commented on 2021-02-13 07:52 (UTC) (edited on 2021-02-13 08:09 (UTC) by ignapk)

I think I found another bug/missing functionality: there are no checks for illegal characters in filenames, like in ntfs-3g, for example one can create files with names containing characters like " * / : < > ? \ | Can anybody else reproduce, and should I report it in the mailing list thread?

Edit: seems like what I'm looking for is equivalent of ntfs-3g "windows_names" mount option.

post-factum commented on 2021-02-12 21:30 (UTC)

I've send an email with both of you in Cc, you may reply to it with detailed description of your issues, and maybe devs will reply to you.

Hanabishi commented on 2021-02-12 19:37 (UTC)

@post-factum, thanks. Updated the package.

P.S. Access problem still not fixed. I don't know how to report it properly.

post-factum commented on 2021-02-12 19:21 (UTC)

The previous fix is applicable with one minor change. I've adjusted it here:

https://gitlab.com/post-factum/pf-kernel/-/commit/e487427ef07c735fdc711a56d1ceac6629c34dcf.patch

Make sure to grab it and save somewhere because I may rewrite this branch before v5.11 is released.

Hanabishi commented on 2021-02-12 18:14 (UTC)

@babam, sadly no.

babam commented on 2021-02-12 18:11 (UTC)

@Hanabishi, Is the v20_fix.patch not applicable to v21?

Hanabishi commented on 2021-02-12 17:09 (UTC)

@post-factum, we need a compatibility patch again for v21 :)

Hanabishi commented on 2021-02-07 11:05 (UTC)

@babam, thanks for your investigation. Also have done the tests and yes, the problem is present in v18 and above.

babam commented on 2021-02-07 08:54 (UTC) (edited on 2021-02-07 09:02 (UTC) by babam)

@Hanabishi,

I have done the tests, v20, v19 and v18 have this problem, while v17 is without problem.

find /path/to/mountpoint -type d -exec ls -Al {} + 1>/dev/null

Hanabishi commented on 2021-02-06 21:49 (UTC)

@babam, yes. And still can't figure out what exactly causes the issue. Very strange behavior: https://i.ibb.co/sv4z7Nx/image.png

The hidden attribute issue seems to be fixed according to v20 changelog + my tests.

babam commented on 2021-02-06 20:23 (UTC)

@Hanabishi,

Does the problem of unable to access some files still occur on v20?

Problem like that didn't happen to me, v19 worked fine except for the Hidden+System attribute issue.

Hanabishi commented on 2021-02-06 17:45 (UTC) (edited on 2021-02-06 17:46 (UTC) by Hanabishi)

@post-factum, already received your message, thanks. Yes, this compatibility patch works.
I will apply it to the package for now. Until 5.12 be released on Arch.

post-factum commented on 2021-02-06 17:34 (UTC) (edited on 2021-02-06 17:36 (UTC) by post-factum)

Feel free to use this patch against v20 to make it buildable again on v5.10/v5.11: http://ix.io/2Oxa

v20 is based against linux-next, which has introduced idmappings, hence it is not compatible with present kernel releases.

Hanabishi commented on 2021-02-06 12:52 (UTC)

@resadent, share your PKGBUILD then.

resadent commented on 2021-02-06 12:50 (UTC)

Dunno whats going on, but I tried to update to v20 myself and got it working no problem :/.

Hanabishi commented on 2021-02-05 21:43 (UTC)

Yeah, also confirmed by kernel test robot https://lore.kernel.org/lkml/202102060418.tr1NQ8uo-lkp@intel.com/ So v20 is broken for now.

Hanabishi commented on 2021-02-05 21:13 (UTC)

@babam, reported details here: https://lore.kernel.org/lkml/CAOehnrO-qjA4-YbqjyQCc27SyE_T2_bPRfWNg=jb8_tTetRUkw@mail.gmail.com/

babam commented on 2021-02-05 21:07 (UTC)

@Hanabishi

What is the problem?

Hanabishi commented on 2021-02-05 20:12 (UTC)

Update to v20 is likely screwed because it's even can't compile due to some errors in the source. LMAO.

Hanabishi commented on 2021-02-04 14:02 (UTC) (edited on 2021-02-04 14:02 (UTC) by Hanabishi)

Faced some issues. A strange problem with inability to access or delete some files, when even basic ls command fails https://i.ibb.co/41bBHZS/image.png
And behavior is very random: some times volume remounting helps, some times not. The good thing is seems like FS itself is not damaged. Accessing via ntfs-3g or Windows shows that are all the files is fine.
Can't say is that v19 issue or latest kernel updates side effect. Does anyone has the same issues?
But in any case, I will still highly recommend to use this driver only for experimental purposes and not use it with important data.

babam commented on 2021-01-27 11:59 (UTC) (edited on 2021-02-07 08:13 (UTC) by babam)

In v18 the old bug still exists.

The directories created at the root of the mountpoint have 'Hidden' and 'System' attributes when accessed on Windows.

mount -t ntfs3 /dev/sda1 /mnt/sda1

mkdir /mnt/sda1/testdir

Then check the 'testdir' directory via Windows (e.g. Windows 7).

UPDATE: In v19 the old bug still exists.

Hanabishi commented on 2020-11-26 20:40 (UTC)

@oech3, I don't think this will be a good idea. For many reasons.

oech3 commented on 2020-11-26 16:46 (UTC)

Would you add your conf for udev,udisks to ntfs3-dkms package?

Hanabishi commented on 2020-11-13 15:36 (UTC) (edited on 2020-11-13 15:37 (UTC) by Hanabishi)

@pekmop1024, idk, the driver is at very early stage. Accordig to official FAQ they are planning to publish the source on GitHub.

Yes, we plan to publish the next releases on our GitHub: https://github.com/Paragon-Software-Group

Until than I think you can reply / email directly to the code maintainer in LKML. https://lore.kernel.org/lkml/20201106150909.1779040-1-almaz.alexandrovich@paragon-software.com/#R

pekmop1024 commented on 2020-11-13 15:16 (UTC) (edited on 2020-11-13 15:27 (UTC) by pekmop1024)

@Habanishi, is there any way to send bug reports directly to Paragon developers?

mirh commented on 2020-11-01 18:06 (UTC)

Friendly reminder: until Paragon will have released/included their own fsck you'd better not uninstall ntfs-3g.

p.s. really thanks to all the good people doing benchmarks

babam commented on 2020-10-21 09:15 (UTC)

@Hanabishi, Well, ntfs3 can't read symlinks generated in ntfs-3g, but paragon ufsd can read them.

Thank you very much.

Hanabishi commented on 2020-10-21 08:59 (UTC)

@babam, no. Because ntfs-3g creates its own fake links, which don't work in Windows either. In fact ntfs-3g driver has poor ntfs features support and just cheats in many places.
ntfs3 creates the real native ntfs symlinks which works in Windows.

babam commented on 2020-10-21 08:39 (UTC) (edited on 2020-10-22 19:30 (UTC) by babam)

@Hanabishi,

I have symlinks that were created in the past using NTFS-3G and are now using NTFS3 and can't read them as symlinks.

Are the symlinks generated in ntfs-3g readable by ntfs3?

Can you open link.zip?

Hanabishi commented on 2020-10-21 08:36 (UTC)

@babam, here https://i.ibb.co/26tJVdN/image.png

babam commented on 2020-10-21 08:24 (UTC) (edited on 2020-10-21 08:25 (UTC) by babam)

@Hanabishi I have created symlinks from within Linux. Can you test it $ file /path/to/symlink

Hanabishi commented on 2020-10-21 08:08 (UTC)

@babam, it works.
The only problem is links created in Windows have incorrect path in Linux because of the separator difference (\ instead of /), or if it is absolute (like C:\).

babam commented on 2020-10-21 07:53 (UTC)

Symbolic link doesn't work.

Hanabishi commented on 2020-10-10 18:45 (UTC)

@galeksandrp, idk, it should work. Try to force rules reload or maybe reboot the whole system.

galeksandrp commented on 2020-10-10 17:37 (UTC) (edited on 2020-10-10 20:37 (UTC) by galeksandrp)

For anyone who encountered not working SUBSYSTEM=="block", ENV{ID_FS_TYPE}=="ntfs", ENV{ID_FS_TYPE}="ntfs3" udev rule: your rule should be loaded after /usr/lib/udev/rules.d/60-*.rules. To achieve this, number in your rule filename should be 61 or higher.

Found issues (in version v8.0.0)

  1. "Inode" copy not working, therefore copying file to another location on same filesystem results is real byte transfer.

Hanabishi commented on 2020-09-28 11:10 (UTC)

@babam, using Arch + experimental patches from AUR is definitely not the best choice for stability and important data handling :)

babam commented on 2020-09-28 11:03 (UTC)

ntfs-3g is slow but very stable and safe. I am afraid that the Paragon will destroy my important data.

pekmop1024 commented on 2020-09-20 13:11 (UTC)

found interesting bug: all folders created in Linux have system and hidden flags from Windows point of view. Tried different mount options, including no options at all, without any luck.

Hanabishi commented on 2020-09-18 13:48 (UTC)

@pekmop1024, well, tested this with LTS, got the same error. So backporting requires source code modification.

pekmop1024 commented on 2020-09-18 11:00 (UTC)

@Hanabishi, just using LTS temporarily due to intel graphics issues in newer kernels :(

Hanabishi commented on 2020-09-17 13:43 (UTC)

@babam, didn't tried. But I don't know in which scenario LTS users (who obviously run LTS for stability purposes) will want to apply unstable and highly experimental patches :D

babam commented on 2020-09-17 13:30 (UTC)

@Hanabishi, Unable to build ntfs3 for Kernel 5.4 LTS?

Hanabishi commented on 2020-09-17 09:42 (UTC)

@pekmop1024, quite expected result. The patch is very recent and was made for the latest kernel version.

pekmop1024 commented on 2020-09-17 09:33 (UTC)

Seems to be not building on latest LTS kernels:

DKMS make.log for ntfs3-5.0.0 for kernel 5.4.65-1-lts (x86_64)
Thu Sep 17 12:32:54 EEST 2020
make -C /lib/modules/5.4.65-1-lts/build M=/var/lib/dkms/ntfs3/5.0.0/build modules
make[1]: Entering directory '/usr/lib/modules/5.4.65-1-lts/build'
  CC [M]  /var/lib/dkms/ntfs3/5.0.0/build/bitfunc.o
  CC [M]  /var/lib/dkms/ntfs3/5.0.0/build/bitmap.o
/var/lib/dkms/ntfs3/5.0.0/build/bitmap.c: In function 'wnd_rescan':
/var/lib/dkms/ntfs3/5.0.0/build/bitmap.c:556:4: error: implicit declaration of function 'page_cache_readahead_unbounded' [-Werror=implicit-function-declaration]
  556 |    page_cache_readahead_unbounded(
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:266: /var/lib/dkms/ntfs3/5.0.0/build/bitmap.o] Error 1
make[1]: *** [Makefile:1729: /var/lib/dkms/ntfs3/5.0.0/build] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.4.65-1-lts/build'
make: *** [Makefile:14: all] Error 2

Hanabishi commented on 2020-09-16 19:30 (UTC)

@timofonic, you are trying to build it on top of the previous version? Delete all files and build again.

timofonic commented on 2020-09-16 19:23 (UTC)

It fails again and again...

==> Retrieving sources... -> Found 1.patch -> Found 2.patch -> Found 3.patch -> Found 4.patch -> Found 5.patch -> Found 6.patch -> Found 7.patch -> Found 8.patch -> Found Makefile.patch -> Found dkms.conf ==> Validating source files with sha512sums... 1.patch ... FAILED 2.patch ... FAILED 3.patch ... FAILED 4.patch ... FAILED 5.patch ... FAILED 6.patch ... FAILED 7.patch ... FAILED 8.patch ... FAILED Makefile.patch ... Passed dkms.conf ... Passed ==> ERROR: One or more files did not pass the validity check! error downloading sources: ntfs3-dkms

doug commented on 2020-09-09 07:24 (UTC) (edited on 2020-09-09 10:07 (UTC) by doug)

I made some test using bonnie and pts, this driver seems to be much faster than ntfs-3g

http://moodle.math.sk/~doug/bonnie_ntfs3_paragon.html

http://moodle.math.sk/~doug/bonnie_ntfs-3g.html

(disregard the read tests, since they were done from page cache)

edit: compilebench in pts, now includes native ext4, the paragon ntfs3 driver performance is comparable

https://openbenchmarking.org/result/2009092-NE-NTFSCOMPA56

Hanabishi commented on 2020-09-06 14:11 (UTC)

@timofonic, hmm, it's ok for me. These files are downloading from an external source, maybe they became corrupted during download, try to cleanup and build again.

timofonic commented on 2020-09-06 12:59 (UTC)

==> Validating source files with sha512sums... 1.patch ... Passed 2.patch ... FAILED 3.patch ... FAILED 4.patch ... FAILED 5.patch ... FAILED 6.patch ... FAILED 7.patch ... FAILED 8.patch ... FAILED Makefile.patch ... Passed dkms.conf ... Passed

babam commented on 2020-09-03 08:51 (UTC)

Can anyone do a benchmark (Read / Write speed test) ntfs3 vs ntfs-3g.

Hanabishi commented on 2020-09-01 12:08 (UTC) (edited on 2020-09-01 17:38 (UTC) by Hanabishi)

PKGBUILD for v3
merged

babam commented on 2020-09-01 10:00 (UTC)

@Hanabishi, Thanks.

And there has released ntfs3 v3

https://www.phoronix.com/scan.php?page=news_item&px=Paragon-NTFS3-V3-For-Linux

https://lore.kernel.org/lkml/20200828143938.102889-1-almaz.alexandrovich@paragon-software.com/

Hanabishi commented on 2020-09-01 09:46 (UTC)

@babam yes. Don't forget to install linux-headers package first.

babam commented on 2020-09-01 09:34 (UTC)

Is working on the latest kernel?

rdnvndr commented on 2020-09-01 06:45 (UTC)

Thanks you for the hint!

Hanabishi commented on 2020-08-31 21:51 (UTC) (edited on 2021-10-28 10:21 (UTC) by Hanabishi)

Requires explicit fs type to mount (-t ntfs3).
If you want to use ntfs3 as the default driver, such udev rule does the trick:

SUBSYSTEM=="block", ENV{ID_FS_TYPE}=="ntfs", ENV{ID_FS_TYPE}="ntfs3"

Performance tips:
noatime option can speed up filesystem operations.
prealloc option reduces disk fragmentation (useful for HDD).

Another hint for udisks. Add a such options to /etc/udisks2/mount_options.conf in [defaults] section:

ntfs3_defaults=uid=$UID,gid=$GID,noatime,prealloc
ntfs3_allow=uid=$UID,gid=$GID,umask,dmask,fmask,iocharset,nohidden,sys_immutable,discard,force,sparse,showmeta,prealloc,noacsrules,acl