Re: [PATCH v17 08/10] fs/ntfs3: Add Kconfig, Makefile and doc

From: Mark Harmstone
Date: Mon Jan 18 2021 - 08:44:13 EST


On 18/1/21 11:43 am, Konstantin Komarov wrote:
> From: Kari Argillander <kari.argillander@xxxxxxxxx>
> Sent: Monday, January 4, 2021 1:08 AM
>> To: Konstantin Komarov <almaz.alexandrovich@xxxxxxxxxxxxxxxxxxxx>
>> Cc: linux-fsdevel@xxxxxxxxxxxxxxx; viro@xxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; pali@xxxxxxxxxx; dsterba@xxxxxxx;
>> aaptel@xxxxxxxx; willy@xxxxxxxxxxxxx; rdunlap@xxxxxxxxxxxxx; joe@xxxxxxxxxxx; mark@xxxxxxxxxxxxx; nborisov@xxxxxxxx;
>> linux-ntfs-dev@xxxxxxxxxxxxxxxxxxxxx; anton@xxxxxxxxxx; dan.carpenter@xxxxxxxxxx; hch@xxxxxx; ebiggers@xxxxxxxxxx;
>> andy.lavr@xxxxxxxxx
>> Subject: Re: [PATCH v17 08/10] fs/ntfs3: Add Kconfig, Makefile and doc
>>
>> On Thu, Dec 31, 2020 at 06:23:59PM +0300, Konstantin Komarov wrote:
>>> This adds Kconfig, Makefile and doc
>>>
>>> Signed-off-by: Konstantin Komarov <almaz.alexandrovich@xxxxxxxxxxxxxxxxxxxx>
>>> ---
>>> Documentation/filesystems/ntfs3.rst | 107 ++++++++++++++++++++++++++++
>>> fs/ntfs3/Kconfig | 41 +++++++++++
>>> fs/ntfs3/Makefile | 31 ++++++++
>> Also Documentation/filesystems/index.rst should contain ntfs3.
>>
>>> 3 files changed, 179 insertions(+)
>>> create mode 100644 Documentation/filesystems/ntfs3.rst
>>> create mode 100644 fs/ntfs3/Kconfig
>>> create mode 100644 fs/ntfs3/Makefile
>>>
>>> diff --git a/fs/ntfs3/Kconfig b/fs/ntfs3/Kconfig
>>> new file mode 100644
>>> index 000000000000..f9b732f4a5a0
>>> --- /dev/null
>>> +++ b/fs/ntfs3/Kconfig
>>> @@ -0,0 +1,41 @@
>>> +# SPDX-License-Identifier: GPL-2.0-only
>>> +config NTFS3_FS
>>> + tristate "NTFS Read-Write file system support"
>>> + select NLS
>>> + help
>>> + Windows OS native file system (NTFS) support up to NTFS version 3.1.
>>> +
>>> + Y or M enables the NTFS3 driver with full features enabled (read,
>>> + write, journal replaying, sparse/compressed files support).
>>> + File system type to use on mount is "ntfs3". Module name (M option)
>>> + is also "ntfs3".
>>> +
>>> + Documentation: <file:Documentation/filesystems/ntfs3.rst>
>>> +
>>> +config NTFS3_64BIT_CLUSTER
>>> + bool "64 bits per NTFS clusters"
>>> + depends on NTFS3_FS && 64BIT
>>> + help
>>> + Windows implementation of ntfs.sys uses 32 bits per clusters.
>>> + If activated 64 bits per clusters you will be able to use 4k cluster
>>> + for 16T+ volumes. Windows will not be able to mount such volumes.
>>> +
>>> + It is recommended to say N here.
>>> +
>>> +config NTFS3_LZX_XPRESS
>>> + bool "activate support of external compressions lzx/xpress"
>>> + depends on NTFS3_FS
>>> + help
>>> + In Windows 10 one can use command "compact" to compress any files.
>>> + 4 possible variants of compression are: xpress4k, xpress8k, xpress16 and lzx.
>>> + To read such "compacted" files say Y here.
>> It would be nice that we tell what is recommend. I think that this is recommend.
>> Of course if this use lot's of resource that is different story but I do not
>> think that is the case.
>>
>>> +
>>> +config NTFS3_POSIX_ACL
>>> + bool "NTFS POSIX Access Control Lists"
>>> + depends on NTFS3_FS
>>> + select FS_POSIX_ACL
>>> + help
>>> + POSIX Access Control Lists (ACLs) support additional access rights
>>> + for users and groups beyond the standard owner/group/world scheme,
>>> + and this option selects support for ACLs specifically for ntfs
>>> + filesystems.
>> Same here. Let's suggest what user should do. Is this recommend if we wan't
>> to use volume also in Windows?
> Hi! All done, thanks for pointing these out.

Is the existence of NTFS3_64BIT_CLUSTER wise? I mean, what on earth is the
point of an NTFS volume that Windows refuses to read?

If NTFS was properly documented by Microsoft, fair enough, but AFAIK it's
defined by what ntfs.sys does. I don't think we should be extending the
specification like this.