Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

fs/ntfs3: Add Kconfig, Makefile and doc

This adds Kconfig, Makefile and doc

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>

+189
+1
Documentation/filesystems/index.rst
··· 100 100 nilfs2 101 101 nfs/index 102 102 ntfs 103 + ntfs3 103 104 ocfs2 104 105 ocfs2-online-filecheck 105 106 omfs
+106
Documentation/filesystems/ntfs3.rst
··· 1 + .. SPDX-License-Identifier: GPL-2.0 2 + 3 + ===== 4 + NTFS3 5 + ===== 6 + 7 + 8 + Summary and Features 9 + ==================== 10 + 11 + NTFS3 is fully functional NTFS Read-Write driver. The driver works with 12 + NTFS versions up to 3.1, normal/compressed/sparse files 13 + and journal replaying. File system type to use on mount is 'ntfs3'. 14 + 15 + - This driver implements NTFS read/write support for normal, sparse and 16 + compressed files. 17 + - Supports native journal replaying; 18 + - Supports extended attributes 19 + Predefined extended attributes: 20 + - 'system.ntfs_security' gets/sets security 21 + descriptor (SECURITY_DESCRIPTOR_RELATIVE) 22 + - 'system.ntfs_attrib' gets/sets ntfs file/dir attributes. 23 + Note: applied to empty files, this allows to switch type between 24 + sparse(0x200), compressed(0x800) and normal; 25 + - Supports NFS export of mounted NTFS volumes. 26 + 27 + Mount Options 28 + ============= 29 + 30 + The list below describes mount options supported by NTFS3 driver in addition to 31 + generic ones. 32 + 33 + =============================================================================== 34 + 35 + nls=name This option informs the driver how to interpret path 36 + strings and translate them to Unicode and back. If 37 + this option is not set, the default codepage will be 38 + used (CONFIG_NLS_DEFAULT). 39 + Examples: 40 + 'nls=utf8' 41 + 42 + uid= 43 + gid= 44 + umask= Controls the default permissions for files/directories created 45 + after the NTFS volume is mounted. 46 + 47 + fmask= 48 + dmask= Instead of specifying umask which applies both to 49 + files and directories, fmask applies only to files and 50 + dmask only to directories. 51 + 52 + nohidden Files with the Windows-specific HIDDEN (FILE_ATTRIBUTE_HIDDEN) 53 + attribute will not be shown under Linux. 54 + 55 + sys_immutable Files with the Windows-specific SYSTEM 56 + (FILE_ATTRIBUTE_SYSTEM) attribute will be marked as system 57 + immutable files. 58 + 59 + discard Enable support of the TRIM command for improved performance 60 + on delete operations, which is recommended for use with the 61 + solid-state drives (SSD). 62 + 63 + force Forces the driver to mount partitions even if 'dirty' flag 64 + (volume dirty) is set. Not recommended for use. 65 + 66 + sparse Create new files as "sparse". 67 + 68 + showmeta Use this parameter to show all meta-files (System Files) on 69 + a mounted NTFS partition. 70 + By default, all meta-files are hidden. 71 + 72 + prealloc Preallocate space for files excessively when file size is 73 + increasing on writes. Decreases fragmentation in case of 74 + parallel write operations to different files. 75 + 76 + no_acs_rules "No access rules" mount option sets access rights for 77 + files/folders to 777 and owner/group to root. This mount 78 + option absorbs all other permissions: 79 + - permissions change for files/folders will be reported 80 + as successful, but they will remain 777; 81 + - owner/group change will be reported as successful, but 82 + they will stay as root 83 + 84 + acl Support POSIX ACLs (Access Control Lists). Effective if 85 + supported by Kernel. Not to be confused with NTFS ACLs. 86 + The option specified as acl enables support for POSIX ACLs. 87 + 88 + noatime All files and directories will not update their last access 89 + time attribute if a partition is mounted with this parameter. 90 + This option can speed up file system operation. 91 + 92 + =============================================================================== 93 + 94 + ToDo list 95 + ========= 96 + 97 + - Full journaling support (currently journal replaying is supported) over JBD. 98 + 99 + 100 + References 101 + ========== 102 + https://www.paragon-software.com/home/ntfs-linux-professional/ 103 + - Commercial version of the NTFS driver for Linux. 104 + 105 + almaz.alexandrovich@paragon-software.com 106 + - Direct e-mail address for feedback and requests on the NTFS3 implementation.
+46
fs/ntfs3/Kconfig
··· 1 + # SPDX-License-Identifier: GPL-2.0-only 2 + config NTFS3_FS 3 + tristate "NTFS Read-Write file system support" 4 + select NLS 5 + help 6 + Windows OS native file system (NTFS) support up to NTFS version 3.1. 7 + 8 + Y or M enables the NTFS3 driver with full features enabled (read, 9 + write, journal replaying, sparse/compressed files support). 10 + File system type to use on mount is "ntfs3". Module name (M option) 11 + is also "ntfs3". 12 + 13 + Documentation: <file:Documentation/filesystems/ntfs3.rst> 14 + 15 + config NTFS3_64BIT_CLUSTER 16 + bool "64 bits per NTFS clusters" 17 + depends on NTFS3_FS && 64BIT 18 + help 19 + Windows implementation of ntfs.sys uses 32 bits per clusters. 20 + If activated 64 bits per clusters you will be able to use 4k cluster 21 + for 16T+ volumes. Windows will not be able to mount such volumes. 22 + 23 + It is recommended to say N here. 24 + 25 + config NTFS3_LZX_XPRESS 26 + bool "activate support of external compressions lzx/xpress" 27 + depends on NTFS3_FS 28 + help 29 + In Windows 10 one can use command "compact" to compress any files. 30 + 4 possible variants of compression are: xpress4k, xpress8k, xpress16k and lzx. 31 + If activated you will be able to read such files correctly. 32 + 33 + It is recommended to say Y here. 34 + 35 + config NTFS3_FS_POSIX_ACL 36 + bool "NTFS POSIX Access Control Lists" 37 + depends on NTFS3_FS 38 + select FS_POSIX_ACL 39 + help 40 + POSIX Access Control Lists (ACLs) support additional access rights 41 + for users and groups beyond the standard owner/group/world scheme, 42 + and this option selects support for ACLs specifically for ntfs 43 + filesystems. 44 + NOTE: this is linux only feature. Windows will ignore these ACLs. 45 + 46 + If you don't know what Access Control Lists are, say N.
+36
fs/ntfs3/Makefile
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + # 3 + # Makefile for the ntfs3 filesystem support. 4 + # 5 + 6 + # to check robot warnings 7 + ccflags-y += -Wint-to-pointer-cast \ 8 + $(call cc-option,-Wunused-but-set-variable,-Wunused-const-variable) \ 9 + $(call cc-option,-Wold-style-declaration,-Wout-of-line-declaration) 10 + 11 + obj-$(CONFIG_NTFS3_FS) += ntfs3.o 12 + 13 + ntfs3-y := attrib.o \ 14 + attrlist.o \ 15 + bitfunc.o \ 16 + bitmap.o \ 17 + dir.o \ 18 + fsntfs.o \ 19 + frecord.o \ 20 + file.o \ 21 + fslog.o \ 22 + inode.o \ 23 + index.o \ 24 + lznt.o \ 25 + namei.o \ 26 + record.o \ 27 + run.o \ 28 + super.o \ 29 + upcase.o \ 30 + xattr.o 31 + 32 + ntfs3-$(CONFIG_NTFS3_LZX_XPRESS) += $(addprefix lib/,\ 33 + decompress_common.o \ 34 + lzx_decompress.o \ 35 + xpress_decompress.o \ 36 + )