Re: [PATCH v21 00/10] NTFS read-write driver GPL implementation by Paragon Software

2021-02-13 Thread Hanabishi Recca
On Sat, Feb 13, 2021 at 2:27 AM Oleksandr Natalenko
 wrote:

> Hanabishi, babam (both in Cc), here [2] you've reported some issues with
> accessing some files and with hidden attributes. You may reply to this
> email of mine with detailed description of your issues, and maybe
> developers will answer you.

There is strange files access issue since v18 update. Some random
files on partition became inaccessible, can't be read or even deleted.
For example:

# ls -la
ls: cannot access 'NlsStrings.js': No such file or directory
total 176
drwxrwxrwx 1 root root  4096 Oct 20 10:41 .
drwxrwxrwx 1 root root 12288 Oct 20 10:42 ..
-rwxrwxrwx 1 root root  8230 Oct 19 17:02 Layer.js < this file is ok
-? ? ???? NlsStrings.js < this file is
inaccessible
...

To reproduce the issue try to mount a NTFS partition with deep
structure and large files amout. Then run on it some recursive file
command, e.g. 'du -sh', it will list all access errors.
Can't say what exactly causes it. Filesystem itself is not damaged,
when mounting it via ntfs-3g, ntfs3 <18 or in Windows it works
normally. The files is not damaged and chkdsk report no errors.


Re: [PATCH v20 00/10] NTFS read-write driver GPL implementation by Paragon Software

2021-02-05 Thread Hanabishi Recca
Can't even build v20 due to compilation errors.

DKMS make.log for ntfs3-20.0.0 for kernel 5.10.13-arch1-1 (x86_64)
Sat Feb  6 01:20:00 +05 2021
make -C /lib/modules/5.10.13-arch1-1/build
M=/var/lib/dkms/ntfs3/20.0.0/build modules
make[1]: Entering directory '/usr/lib/modules/5.10.13-arch1-1/build'
  CC [M]  /var/lib/dkms/ntfs3/20.0.0/build/attrib.o
  CC [M]  /var/lib/dkms/ntfs3/20.0.0/build/attrlist.o
  CC [M]  /var/lib/dkms/ntfs3/20.0.0/build/bitfunc.o
  CC [M]  /var/lib/dkms/ntfs3/20.0.0/build/bitmap.o
  CC [M]  /var/lib/dkms/ntfs3/20.0.0/build/dir.o
  CC [M]  /var/lib/dkms/ntfs3/20.0.0/build/fsntfs.o
  CC [M]  /var/lib/dkms/ntfs3/20.0.0/build/frecord.o
  CC [M]  /var/lib/dkms/ntfs3/20.0.0/build/file.o
/var/lib/dkms/ntfs3/20.0.0/build/file.c: In function ‘ntfs_getattr’:
/var/lib/dkms/ntfs3/20.0.0/build/file.c:93:19: error: passing argument
1 of ‘generic_fillattr’ from incompatible pointer type
[-Werror=incompatible-pointer-types]
   93 |  generic_fillattr(mnt_userns, inode, stat);
  |   ^~
  |   |
  |   struct user_namespace *
In file included from ./include/linux/backing-dev.h:13,
 from /var/lib/dkms/ntfs3/20.0.0/build/file.c:8:
./include/linux/fs.h:3095:30: note: expected ‘struct inode *’ but
argument is of type ‘struct user_namespace *’
 3095 | extern void generic_fillattr(struct inode *, struct kstat *);
  |  ^~
/var/lib/dkms/ntfs3/20.0.0/build/file.c:93:31: error: passing argument
2 of ‘generic_fillattr’ from incompatible pointer type
[-Werror=incompatible-pointer-types]
   93 |  generic_fillattr(mnt_userns, inode, stat);
  |   ^
  |   |
  |   struct inode *
In file included from ./include/linux/backing-dev.h:13,
 from /var/lib/dkms/ntfs3/20.0.0/build/file.c:8:
./include/linux/fs.h:3095:46: note: expected ‘struct kstat *’ but
argument is of type ‘struct inode *’
 3095 | extern void generic_fillattr(struct inode *, struct kstat *);
  |  ^~
/var/lib/dkms/ntfs3/20.0.0/build/file.c:93:2: error: too many
arguments to function ‘generic_fillattr’
   93 |  generic_fillattr(mnt_userns, inode, stat);
  |  ^~~~
In file included from ./include/linux/backing-dev.h:13,
 from /var/lib/dkms/ntfs3/20.0.0/build/file.c:8:
./include/linux/fs.h:3095:13: note: declared here
 3095 | extern void generic_fillattr(struct inode *, struct kstat *);
  | ^~~~
/var/lib/dkms/ntfs3/20.0.0/build/file.c: In function ‘ntfs3_setattr’:
/var/lib/dkms/ntfs3/20.0.0/build/file.c:639:24: error: passing
argument 1 of ‘setattr_prepare’ from incompatible pointer type
[-Werror=incompatible-pointer-types]
  639 |  err = setattr_prepare(mnt_userns, dentry, attr);
  |^~
  ||
  |struct user_namespace *
In file included from ./include/linux/backing-dev.h:13,
 from /var/lib/dkms/ntfs3/20.0.0/build/file.c:8:
./include/linux/fs.h:3217:28: note: expected ‘struct dentry *’ but
argument is of type ‘struct user_namespace *’
 3217 | extern int setattr_prepare(struct dentry *, struct iattr *);
  |^~~
/var/lib/dkms/ntfs3/20.0.0/build/file.c:639:36: error: passing
argument 2 of ‘setattr_prepare’ from incompatible pointer type
[-Werror=incompatible-pointer-types]
  639 |  err = setattr_prepare(mnt_userns, dentry, attr);
  |^~
  ||
  |struct dentry *
In file included from ./include/linux/backing-dev.h:13,
 from /var/lib/dkms/ntfs3/20.0.0/build/file.c:8:
./include/linux/fs.h:3217:45: note: expected ‘struct iattr *’ but
argument is of type ‘struct dentry *’
 3217 | extern int setattr_prepare(struct dentry *, struct iattr *);
  | ^~
/var/lib/dkms/ntfs3/20.0.0/build/file.c:639:8: error: too many
arguments to function ‘setattr_prepare’
  639 |  err = setattr_prepare(mnt_userns, dentry, attr);
  |^~~
In file included from ./include/linux/backing-dev.h:13,
 from /var/lib/dkms/ntfs3/20.0.0/build/file.c:8:
./include/linux/fs.h:3217:12: note: declared here
 3217 | extern int setattr_prepare(struct dentry *, struct iattr *);
  |^~~
/var/lib/dkms/ntfs3/20.0.0/build/file.c:664:15: error: passing
argument 1 of ‘setattr_copy’ from incompatible pointer type
[-Werror=incompatible-pointer-types]
  664 |  setattr_copy(mnt_userns, inode, attr);
  |   ^~
  |   |
  |   struct user_namespace *
In file included from ./include/linux/backing-dev.h:13,