xref: /linux/Documentation/filesystems/ntfs3.rst (revision a1c613ae4c322ddd58d5a8539dbfba2a0380a8c0)
112dad495SKonstantin Komarov.. SPDX-License-Identifier: GPL-2.0
212dad495SKonstantin Komarov
312dad495SKonstantin Komarov=====
412dad495SKonstantin KomarovNTFS3
512dad495SKonstantin Komarov=====
612dad495SKonstantin Komarov
712dad495SKonstantin KomarovSummary and Features
812dad495SKonstantin Komarov====================
912dad495SKonstantin Komarov
10a0fc05a3SKari ArgillanderNTFS3 is fully functional NTFS Read-Write driver. The driver works with NTFS
11a0fc05a3SKari Argillanderversions up to 3.1. File system type to use on mount is *ntfs3*.
1212dad495SKonstantin Komarov
1312dad495SKonstantin Komarov- This driver implements NTFS read/write support for normal, sparse and
1412dad495SKonstantin Komarov  compressed files.
15a0fc05a3SKari Argillander- Supports native journal replaying.
1612dad495SKonstantin Komarov- Supports NFS export of mounted NTFS volumes.
17a0fc05a3SKari Argillander- Supports extended attributes. Predefined extended attributes:
18a0fc05a3SKari Argillander
19a0fc05a3SKari Argillander	- *system.ntfs_security* gets/sets security
20a0fc05a3SKari Argillander
21a0fc05a3SKari Argillander		Descriptor: SECURITY_DESCRIPTOR_RELATIVE
22a0fc05a3SKari Argillander
23a0fc05a3SKari Argillander	- *system.ntfs_attrib* gets/sets ntfs file/dir attributes.
24a0fc05a3SKari Argillander
25a0fc05a3SKari Argillander	  Note: Applied to empty files, this allows to switch type between
26a0fc05a3SKari Argillander	  sparse(0x200), compressed(0x800) and normal.
2712dad495SKonstantin Komarov
28d49436c3SDaniel Pinto	- *system.ntfs_attrib_be* gets/sets ntfs file/dir attributes.
29d49436c3SDaniel Pinto
30d49436c3SDaniel Pinto	  Same value as system.ntfs_attrib but always represent as big-endian
31d49436c3SDaniel Pinto	  (endianness of system.ntfs_attrib is the same as of the CPU).
32d49436c3SDaniel Pinto
3312dad495SKonstantin KomarovMount Options
3412dad495SKonstantin Komarov=============
3512dad495SKonstantin Komarov
3612dad495SKonstantin KomarovThe list below describes mount options supported by NTFS3 driver in addition to
37a0fc05a3SKari Argillandergeneric ones. You can use every mount option with **no** option. If it is in
38a0fc05a3SKari Argillanderthis table marked with no it means default is without **no**.
3912dad495SKonstantin Komarov
40a0fc05a3SKari Argillander.. flat-table::
41a0fc05a3SKari Argillander   :widths: 1 5
42a0fc05a3SKari Argillander   :fill-cells:
4312dad495SKonstantin Komarov
44a0fc05a3SKari Argillander   * - iocharset=name
45a0fc05a3SKari Argillander     - This option informs the driver how to interpret path strings and
46a0fc05a3SKari Argillander       translate them to Unicode and back. If this option is not set, the
47a0fc05a3SKari Argillander       default codepage will be used (CONFIG_NLS_DEFAULT).
4812dad495SKonstantin Komarov
49a0fc05a3SKari Argillander       Example: iocharset=utf8
5012dad495SKonstantin Komarov
51a0fc05a3SKari Argillander   * - uid=
52a0fc05a3SKari Argillander     - :rspan:`1`
53a0fc05a3SKari Argillander   * - gid=
5412dad495SKonstantin Komarov
55a0fc05a3SKari Argillander   * - umask=
56a0fc05a3SKari Argillander     - Controls the default permissions for files/directories created after
57a0fc05a3SKari Argillander       the NTFS volume is mounted.
5812dad495SKonstantin Komarov
59a0fc05a3SKari Argillander   * - dmask=
60a0fc05a3SKari Argillander     - :rspan:`1` Instead of specifying umask which applies both to files and
61a0fc05a3SKari Argillander       directories, fmask applies only to files and dmask only to directories.
62a0fc05a3SKari Argillander   * - fmask=
6312dad495SKonstantin Komarov
64a0fc05a3SKari Argillander   * - nohidden
65a0fc05a3SKari Argillander     - Files with the Windows-specific HIDDEN (FILE_ATTRIBUTE_HIDDEN) attribute
66a0fc05a3SKari Argillander       will not be shown under Linux.
6712dad495SKonstantin Komarov
68a0fc05a3SKari Argillander   * - sys_immutable
69a0fc05a3SKari Argillander     - Files with the Windows-specific SYSTEM (FILE_ATTRIBUTE_SYSTEM) attribute
70a0fc05a3SKari Argillander       will be marked as system immutable files.
7112dad495SKonstantin Komarov
72dc0fcc99SDaniel Pinto   * - hide_dot_files
7360adc860SDaniel Pinto     - Updates the Windows-specific HIDDEN (FILE_ATTRIBUTE_HIDDEN) attribute
7460adc860SDaniel Pinto       when creating and moving or renaming files. Files whose names start
7560adc860SDaniel Pinto       with a dot will have the HIDDEN attribute set and files whose names
7660adc860SDaniel Pinto       do not start with a dot will have it unset.
7760adc860SDaniel Pinto
78d683c67cSDaniel Pinto   * - windows_names
79d683c67cSDaniel Pinto     - Prevents the creation of files and directories with a name not allowed
80d683c67cSDaniel Pinto       by Windows, either because it contains some not allowed character (which
81d683c67cSDaniel Pinto       are the characters " * / : < > ? \\ | and those whose code is less than
82d683c67cSDaniel Pinto       0x20), because the name (with or without extension) is a reserved file
83d683c67cSDaniel Pinto       name (CON, AUX, NUL, PRN, LPT1-9, COM1-9) or because the last character
84d683c67cSDaniel Pinto       is a space or a dot. Existing such files can still be read and renamed.
85d683c67cSDaniel Pinto
86a0fc05a3SKari Argillander   * - discard
87a0fc05a3SKari Argillander     - Enable support of the TRIM command for improved performance on delete
88a0fc05a3SKari Argillander       operations, which is recommended for use with the solid-state drives
89a0fc05a3SKari Argillander       (SSD).
9012dad495SKonstantin Komarov
91a0fc05a3SKari Argillander   * - force
92a0fc05a3SKari Argillander     - Forces the driver to mount partitions even if volume is marked dirty.
93a0fc05a3SKari Argillander       Not recommended for use.
9412dad495SKonstantin Komarov
95a0fc05a3SKari Argillander   * - sparse
96a0fc05a3SKari Argillander     - Create new files as sparse.
9712dad495SKonstantin Komarov
98a0fc05a3SKari Argillander   * - showmeta
99a0fc05a3SKari Argillander     - Use this parameter to show all meta-files (System Files) on a mounted
100a0fc05a3SKari Argillander       NTFS partition. By default, all meta-files are hidden.
101a0fc05a3SKari Argillander
102a0fc05a3SKari Argillander   * - prealloc
103a0fc05a3SKari Argillander     - Preallocate space for files excessively when file size is increasing on
104a0fc05a3SKari Argillander       writes. Decreases fragmentation in case of parallel write operations to
105a0fc05a3SKari Argillander       different files.
106a0fc05a3SKari Argillander
107a0fc05a3SKari Argillander   * - acl
108a0fc05a3SKari Argillander     - Support POSIX ACLs (Access Control Lists). Effective if supported by
109a0fc05a3SKari Argillander       Kernel. Not to be confused with NTFS ACLs. The option specified as acl
110a0fc05a3SKari Argillander       enables support for POSIX ACLs.
111a0fc05a3SKari Argillander
112a0fc05a3SKari ArgillanderTodo list
11312dad495SKonstantin Komarov=========
114a0fc05a3SKari Argillander- Full journaling support over JBD. Currently journal replaying is supported
115*d56b699dSBjorn Helgaas  which is not necessarily as effective as JBD would be.
11612dad495SKonstantin Komarov
11712dad495SKonstantin KomarovReferences
11812dad495SKonstantin Komarov==========
11912dad495SKonstantin Komarov- Commercial version of the NTFS driver for Linux.
120a0fc05a3SKari Argillander	https://www.paragon-software.com/home/ntfs-linux-professional/
12112dad495SKonstantin Komarov
12212dad495SKonstantin Komarov- Direct e-mail address for feedback and requests on the NTFS3 implementation.
123a0fc05a3SKari Argillander	almaz.alexandrovich@paragon-software.com
124