Merge tag 'pci-v5.16-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaa...
[platform/kernel/linux-starfive.git] / Documentation / filesystems / ntfs3.rst
1 .. SPDX-License-Identifier: GPL-2.0
2
3 =====
4 NTFS3
5 =====
6
7 Summary and Features
8 ====================
9
10 NTFS3 is fully functional NTFS Read-Write driver. The driver works with NTFS
11 versions 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
28 Mount Options
29 =============
30
31 The list below describes mount options supported by NTFS3 driver in addition to
32 generic ones. You can use every mount option with **no** option. If it is in
33 this 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    * - discard
79      - Enable support of the TRIM command for improved performance on delete
80        operations, which is recommended for use with the solid-state drives
81        (SSD).
82
83    * - force
84      - Forces the driver to mount partitions even if volume is marked dirty.
85        Not recommended for use.
86
87    * - sparse
88      - Create new files as sparse.
89
90    * - showmeta
91      - Use this parameter to show all meta-files (System Files) on a mounted
92        NTFS partition. By default, all meta-files are hidden.
93
94    * - prealloc
95      - Preallocate space for files excessively when file size is increasing on
96        writes. Decreases fragmentation in case of parallel write operations to
97        different files.
98
99    * - acl
100      - Support POSIX ACLs (Access Control Lists). Effective if supported by
101        Kernel. Not to be confused with NTFS ACLs. The option specified as acl
102        enables support for POSIX ACLs.
103
104 Todo list
105 =========
106 - Full journaling support over JBD. Currently journal replaying is supported
107   which is not necessarily as effectice as JBD would be.
108
109 References
110 ==========
111 - Commercial version of the NTFS driver for Linux.
112         https://www.paragon-software.com/home/ntfs-linux-professional/
113
114 - Direct e-mail address for feedback and requests on the NTFS3 implementation.
115         almaz.alexandrovich@paragon-software.com