From: Konstantin Komarov <almaz.alexandrovich@paragon-software.com> To: <linux-fsdevel@vger.kernel.org> Cc: <viro@zeniv.linux.org.uk>, <linux-kernel@vger.kernel.org>, <pali@kernel.org>, <dsterba@suse.cz>, <aaptel@suse.com>, <willy@infradead.org>, <rdunlap@infradead.org>, <joe@perches.com>, <mark@harmstone.com>, <nborisov@suse.com>, <linux-ntfs-dev@lists.sourceforge.net>, <anton@tuxera.com>, <dan.carpenter@oracle.com>, <hch@lst.de>, <ebiggers@kernel.org>, <andy.lavr@gmail.com>, <kari.argillander@gmail.com>, <oleksandr@natalenko.name>, Konstantin Komarov <almaz.alexandrovich@paragon-software.com> Subject: [PATCH v26 08/10] fs/ntfs3: Add Kconfig, Makefile and doc Date: Fri, 2 Apr 2021 18:53:45 +0300 [thread overview] Message-ID: <20210402155347.64594-9-almaz.alexandrovich@paragon-software.com> (raw) In-Reply-To: <20210402155347.64594-1-almaz.alexandrovich@paragon-software.com> This adds Kconfig, Makefile and doc Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com> --- Documentation/filesystems/ntfs3.rst | 107 ++++++++++++++++++++++++++++ fs/ntfs3/Kconfig | 46 ++++++++++++ fs/ntfs3/Makefile | 34 +++++++++ 3 files changed, 187 insertions(+) create mode 100644 Documentation/filesystems/ntfs3.rst create mode 100644 fs/ntfs3/Kconfig create mode 100644 fs/ntfs3/Makefile diff --git a/Documentation/filesystems/ntfs3.rst b/Documentation/filesystems/ntfs3.rst new file mode 100644 index 000000000..fb2906736 --- /dev/null +++ b/Documentation/filesystems/ntfs3.rst @@ -0,0 +1,107 @@ +.. SPDX-License-Identifier: GPL-2.0 + +===== +NTFS3 +===== + + +Summary and Features +==================== + +NTFS3 is fully functional NTFS Read-Write driver. The driver works with +NTFS versions up to 3.1, normal/compressed/sparse files +and journal replaying. File system type to use on mount is 'ntfs3'. + +- This driver implements NTFS read/write support for normal, sparse and + compressed files. +- Supports native journal replaying; +- Supports extended attributes + Predefined extended attributes: + - 'system.ntfs_security' gets/sets security + descriptor (SECURITY_DESCRIPTOR_RELATIVE) + - 'system.ntfs_attrib' gets/sets ntfs file/dir attributes. + Note: applied to empty files, this allows to switch type between + sparse(0x200), compressed(0x800) and normal; +- Supports NFS export of mounted NTFS volumes. + +Mount Options +============= + +The list below describes mount options supported by NTFS3 driver in addition to +generic ones. + +=============================================================================== + +nls=name This option informs the driver how to interpret path + strings and translate them to Unicode and back. If + this option is not set, the default codepage will be + used (CONFIG_NLS_DEFAULT). + Examples: + 'nls=utf8' + +uid= +gid= +umask= Controls the default permissions for files/directories created + after the NTFS volume is mounted. + +fmask= +dmask= Instead of specifying umask which applies both to + files and directories, fmask applies only to files and + dmask only to directories. + +nohidden Files with the Windows-specific HIDDEN (FILE_ATTRIBUTE_HIDDEN) + attribute will not be shown under Linux. + +sys_immutable Files with the Windows-specific SYSTEM + (FILE_ATTRIBUTE_SYSTEM) attribute will be marked as system + immutable files. + +discard Enable support of the TRIM command for improved performance + on delete operations, which is recommended for use with the + solid-state drives (SSD). + +force Forces the driver to mount partitions even if 'dirty' flag + (volume dirty) is set. Not recommended for use. + +sparse Create new files as "sparse". + +showmeta Use this parameter to show all meta-files (System Files) on + a mounted NTFS partition. + By default, all meta-files are hidden. + +prealloc Preallocate space for files excessively when file size is + increasing on writes. Decreases fragmentation in case of + parallel write operations to different files. + +no_acs_rules "No access rules" mount option sets access rights for + files/folders to 777 and owner/group to root. This mount + option absorbs all other permissions: + - permissions change for files/folders will be reported + as successful, but they will remain 777; + - owner/group change will be reported as successful, but + they will stay as root + +acl Support POSIX ACLs (Access Control Lists). Effective if + supported by Kernel. Not to be confused with NTFS ACLs. + The option specified as acl enables support for POSIX ACLs. + +noatime All files and directories will not update their last access + time attribute if a partition is mounted with this parameter. + This option can speed up file system operation. + +=============================================================================== + +ToDo list +========= + +- Full journaling support (currently journal replaying is supported) over JBD. + + +References +========== +https://www.paragon-software.com/home/ntfs-linux-professional/ + - Commercial version of the NTFS driver for Linux. + +almaz.alexandrovich@paragon-software.com + - Direct e-mail address for feedback and requests on the NTFS3 implementation. + diff --git a/fs/ntfs3/Kconfig b/fs/ntfs3/Kconfig new file mode 100644 index 000000000..6e4cbc48a --- /dev/null +++ b/fs/ntfs3/Kconfig @@ -0,0 +1,46 @@ +# 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, xpress16k and lzx. + If activated you will be able to read such files correctly. + + It is recommended to say Y here. + +config NTFS3_FS_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. + NOTE: this is linux only feature. Windows will ignore these ACLs. + + If you don't know what Access Control Lists are, say N. diff --git a/fs/ntfs3/Makefile b/fs/ntfs3/Makefile new file mode 100644 index 000000000..b06a06cc0 --- /dev/null +++ b/fs/ntfs3/Makefile @@ -0,0 +1,34 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# Makefile for the ntfs3 filesystem support. +# + +# to check robot warnings +ccflags-y += -Wunused-but-set-variable -Wold-style-declaration -Wint-to-pointer-cast + +obj-$(CONFIG_NTFS3_FS) += ntfs3.o + +ntfs3-y := attrib.o \ + attrlist.o \ + bitfunc.o \ + bitmap.o \ + dir.o \ + fsntfs.o \ + frecord.o \ + file.o \ + fslog.o \ + inode.o \ + index.o \ + lznt.o \ + namei.o \ + record.o \ + run.o \ + super.o \ + upcase.o \ + xattr.o + +ntfs3-$(CONFIG_NTFS3_LZX_XPRESS) += $(addprefix lib/,\ + decompress_common.o \ + lzx_decompress.o \ + xpress_decompress.o \ + ) \ No newline at end of file -- 2.25.4
next prev parent reply other threads:[~2021-04-02 15:54 UTC|newest] Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-04-02 15:53 [PATCH v26 00/10] NTFS read-write driver GPL implementation by Paragon Software Konstantin Komarov 2021-04-02 15:53 ` [PATCH v26 01/10] fs/ntfs3: Add headers and misc files Konstantin Komarov 2021-04-02 15:53 ` [PATCH v26 02/10] fs/ntfs3: Add initialization of super block Konstantin Komarov 2021-05-20 16:51 ` Darrick J. Wong 2021-04-02 15:53 ` [PATCH v26 03/10] fs/ntfs3: Add bitmap Konstantin Komarov 2021-04-02 15:53 ` [PATCH v26 04/10] fs/ntfs3: Add file operations and implementation Konstantin Komarov 2021-07-12 8:28 ` Oleksandr Natalenko 2021-04-02 15:53 ` [PATCH v26 05/10] fs/ntfs3: Add attrib operations Konstantin Komarov 2021-04-02 15:53 ` [PATCH v26 06/10] fs/ntfs3: Add compression Konstantin Komarov 2021-04-02 15:53 ` [PATCH v26 07/10] fs/ntfs3: Add NTFS journal Konstantin Komarov 2021-04-02 15:53 ` Konstantin Komarov [this message] 2021-04-02 15:53 ` [PATCH v26 09/10] fs/ntfs3: Add NTFS3 in fs/Kconfig and fs/Makefile Konstantin Komarov 2021-04-02 15:53 ` [PATCH v26 10/10] fs/ntfs3: Add MAINTAINERS Konstantin Komarov 2021-05-19 3:47 ` [PATCH v26 00/10] NTFS read-write driver GPL implementation by Paragon Software Neal Gompa 2021-05-19 3:51 ` Neal Gompa 2021-05-20 16:13 ` Darrick J. Wong 2021-07-17 16:36 ` Pali Rohár 2021-07-25 17:02 ` Yan Pas
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210402155347.64594-9-almaz.alexandrovich@paragon-software.com \ --to=almaz.alexandrovich@paragon-software.com \ --cc=aaptel@suse.com \ --cc=andy.lavr@gmail.com \ --cc=anton@tuxera.com \ --cc=dan.carpenter@oracle.com \ --cc=dsterba@suse.cz \ --cc=ebiggers@kernel.org \ --cc=hch@lst.de \ --cc=joe@perches.com \ --cc=kari.argillander@gmail.com \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-ntfs-dev@lists.sourceforge.net \ --cc=mark@harmstone.com \ --cc=nborisov@suse.com \ --cc=oleksandr@natalenko.name \ --cc=pali@kernel.org \ --cc=rdunlap@infradead.org \ --cc=viro@zeniv.linux.org.uk \ --cc=willy@infradead.org \ --subject='Re: [PATCH v26 08/10] fs/ntfs3: Add Kconfig, Makefile and doc' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).