xref: /linux/Documentation/filesystems/ntfs3.rst (revision 60adc860ca7d7a95d5befd2d3c3e644d23706b2c)
1.. SPDX-License-Identifier: GPL-2.0
2
3=====
4NTFS3
5=====
6
7Summary and Features
8====================
9
10NTFS3 is fully functional NTFS Read-Write driver. The driver works with NTFS
11versions up to 3.1. File system type to use on mount is *ntfs3*.
12
13- This driver implements NTFS read/write support for normal, sparse and
14  compressed files.
15- Supports native journal replaying.
16- Supports NFS export of mounted NTFS volumes.
17- Supports extended attributes. Predefined extended attributes:
18
19	- *system.ntfs_security* gets/sets security
20
21		Descriptor: SECURITY_DESCRIPTOR_RELATIVE
22
23	- *system.ntfs_attrib* gets/sets ntfs file/dir attributes.
24
25	  Note: Applied to empty files, this allows to switch type between
26	  sparse(0x200), compressed(0x800) and normal.
27
28Mount Options
29=============
30
31The list below describes mount options supported by NTFS3 driver in addition to
32generic ones. You can use every mount option with **no** option. If it is in
33this table marked with no it means default is without **no**.
34
35.. flat-table::
36   :widths: 1 5
37   :fill-cells:
38
39   * - iocharset=name
40     - This option informs the driver how to interpret path strings and
41       translate them to Unicode and back. If this option is not set, the
42       default codepage will be used (CONFIG_NLS_DEFAULT).
43
44       Example: iocharset=utf8
45
46   * - uid=
47     - :rspan:`1`
48   * - gid=
49
50   * - umask=
51     - Controls the default permissions for files/directories created after
52       the NTFS volume is mounted.
53
54   * - dmask=
55     - :rspan:`1` Instead of specifying umask which applies both to files and
56       directories, fmask applies only to files and dmask only to directories.
57   * - fmask=
58
59   * - noacsrules
60     - "No access rules" mount option sets access rights for files/folders to
61       777 and owner/group to root. This mount option absorbs all other
62       permissions.
63
64       - Permissions change for files/folders will be reported as successful,
65	 but they will remain 777.
66
67       - Owner/group change will be reported as successful, butthey will stay
68	 as root.
69
70   * - nohidden
71     - Files with the Windows-specific HIDDEN (FILE_ATTRIBUTE_HIDDEN) attribute
72       will not be shown under Linux.
73
74   * - sys_immutable
75     - Files with the Windows-specific SYSTEM (FILE_ATTRIBUTE_SYSTEM) attribute
76       will be marked as system immutable files.
77
78   * - hidedotfiles
79     - Updates the Windows-specific HIDDEN (FILE_ATTRIBUTE_HIDDEN) attribute
80       when creating and moving or renaming files. Files whose names start
81       with a dot will have the HIDDEN attribute set and files whose names
82       do not start with a dot will have it unset.
83
84   * - windows_names
85     - Prevents the creation of files and directories with a name not allowed
86       by Windows, either because it contains some not allowed character (which
87       are the characters " * / : < > ? \\ | and those whose code is less than
88       0x20), because the name (with or without extension) is a reserved file
89       name (CON, AUX, NUL, PRN, LPT1-9, COM1-9) or because the last character
90       is a space or a dot. Existing such files can still be read and renamed.
91
92   * - discard
93     - Enable support of the TRIM command for improved performance on delete
94       operations, which is recommended for use with the solid-state drives
95       (SSD).
96
97   * - force
98     - Forces the driver to mount partitions even if volume is marked dirty.
99       Not recommended for use.
100
101   * - sparse
102     - Create new files as sparse.
103
104   * - showmeta
105     - Use this parameter to show all meta-files (System Files) on a mounted
106       NTFS partition. By default, all meta-files are hidden.
107
108   * - prealloc
109     - Preallocate space for files excessively when file size is increasing on
110       writes. Decreases fragmentation in case of parallel write operations to
111       different files.
112
113   * - acl
114     - Support POSIX ACLs (Access Control Lists). Effective if supported by
115       Kernel. Not to be confused with NTFS ACLs. The option specified as acl
116       enables support for POSIX ACLs.
117
118Todo list
119=========
120- Full journaling support over JBD. Currently journal replaying is supported
121  which is not necessarily as effectice as JBD would be.
122
123References
124==========
125- Commercial version of the NTFS driver for Linux.
126	https://www.paragon-software.com/home/ntfs-linux-professional/
127
128- Direct e-mail address for feedback and requests on the NTFS3 implementation.
129	almaz.alexandrovich@paragon-software.com
130