Unverified Commit a0fc05a3 authored by Kari Argillander's avatar Kari Argillander Committed by Konstantin Komarov
Browse files

Doc/fs/ntfs3: Fix rst format and make it cleaner



Current ntfs3 rst documentation is broken. I turn table to list table as
this is current Linux documentation quide line. Simple table also did
not quite work in our situation as we need to span rows together.

It still look quite good as text so we did not loss anything. This will
also make diffing quite bit more pleasure.

Signed-off-by: default avatarKari Argillander <kari.argillander@gmail.com>
Signed-off-by: default avatarKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
parent 28861e3b
Loading
Loading
Loading
Loading
+76 −63
Original line number Diff line number Diff line
@@ -4,99 +4,112 @@
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'.
NTFS3 is fully functional NTFS Read-Write driver. The driver works with NTFS
versions up to 3.1. 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 native journal replaying.
- Supports NFS export of mounted NTFS volumes.
- 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.

Mount Options
=============

The list below describes mount options supported by NTFS3 driver in addition to
generic ones.
generic ones. You can use every mount option with **no** option. If it is in
this table marked with no it means default is without **no**.

===============================================================================
.. flat-table::
   :widths: 1 5
   :fill-cells:

iocharset=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:
				'iocharset=utf8'
   * - iocharset=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).

uid=
gid=
umask=			Controls the default permissions for files/directories created
			after the NTFS volume is mounted.
       Example: iocharset=utf8

fmask=
dmask=			Instead of specifying umask which applies both to
			files and directories, fmask applies only to files and
			dmask only to directories.
   * - uid=
     - :rspan:`1`
   * - gid=

nohidden		Files with the Windows-specific HIDDEN (FILE_ATTRIBUTE_HIDDEN)
			attribute will not be shown under Linux.
   * - umask=
     - Controls the default permissions for files/directories created after
       the NTFS volume is mounted.

sys_immutable		Files with the Windows-specific SYSTEM
			(FILE_ATTRIBUTE_SYSTEM) attribute will be marked as system
			immutable files.
   * - dmask=
     - :rspan:`1` Instead of specifying umask which applies both to files and
       directories, fmask applies only to files and dmask only to directories.
   * - fmask=

discard			Enable support of the TRIM command for improved performance
			on delete operations, which is recommended for use with the
			solid-state drives (SSD).
   * - noacsrules
     - "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.

force			Forces the driver to mount partitions even if 'dirty' flag
			(volume dirty) is set. Not recommended for use.
       - Permissions change for files/folders will be reported as successful,
	 but they will remain 777.

sparse			Create new files as "sparse".
       - Owner/group change will be reported as successful, butthey will stay
	 as root.

showmeta		Use this parameter to show all meta-files (System Files) on
			a mounted NTFS partition.
			By default, all meta-files are hidden.
   * - nohidden
     - Files with the Windows-specific HIDDEN (FILE_ATTRIBUTE_HIDDEN) attribute
       will not be shown under Linux.

prealloc		Preallocate space for files excessively when file size is
			increasing on writes. Decreases fragmentation in case of
			parallel write operations to different files.
   * - sys_immutable
     - Files with the Windows-specific SYSTEM (FILE_ATTRIBUTE_SYSTEM) attribute
       will be marked as system immutable files.

noacsrules		"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
   * - discard
     - Enable support of the TRIM command for improved performance on delete
       operations, which is recommended for use with the solid-state drives
       (SSD).

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.
   * - force
     - Forces the driver to mount partitions even if volume is marked dirty.
       Not recommended for use.

===============================================================================
   * - sparse
     - Create new files as sparse.

ToDo list
=========
   * - showmeta
     - Use this parameter to show all meta-files (System Files) on a mounted
       NTFS partition. By default, all meta-files are hidden.

- Full journaling support (currently journal replaying is supported) over JBD.
   * - prealloc
     - Preallocate space for files excessively when file size is increasing on
       writes. Decreases fragmentation in case of parallel write operations to
       different files.

   * - 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.

Todo list
=========
- Full journaling support over JBD. Currently journal replaying is supported
  which is not necessarily as effectice as JBD would be.

References
==========
https://www.paragon-software.com/home/ntfs-linux-professional/
- Commercial version of the NTFS driver for Linux.
	https://www.paragon-software.com/home/ntfs-linux-professional/

almaz.alexandrovich@paragon-software.com
- Direct e-mail address for feedback and requests on the NTFS3 implementation.
	almaz.alexandrovich@paragon-software.com