fs/ntfs3: Add Kconfig, Makefile and doc
This adds Kconfig, Makefile and doc Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
This commit is contained in:
parent
b46acd6a6a
commit
12dad495ea
@ -100,6 +100,7 @@ Documentation for filesystem implementations.
|
|||||||
nilfs2
|
nilfs2
|
||||||
nfs/index
|
nfs/index
|
||||||
ntfs
|
ntfs
|
||||||
|
ntfs3
|
||||||
ocfs2
|
ocfs2
|
||||||
ocfs2-online-filecheck
|
ocfs2-online-filecheck
|
||||||
omfs
|
omfs
|
||||||
|
106
Documentation/filesystems/ntfs3.rst
Normal file
106
Documentation/filesystems/ntfs3.rst
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
=====
|
||||||
|
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'.
|
||||||
|
|
||||||
|
- 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 NFS export of mounted NTFS volumes.
|
||||||
|
|
||||||
|
Mount Options
|
||||||
|
=============
|
||||||
|
|
||||||
|
The list below describes mount options supported by NTFS3 driver in addition to
|
||||||
|
generic ones.
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
nls=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:
|
||||||
|
'nls=utf8'
|
||||||
|
|
||||||
|
uid=
|
||||||
|
gid=
|
||||||
|
umask= Controls the default permissions for files/directories created
|
||||||
|
after the NTFS volume is mounted.
|
||||||
|
|
||||||
|
fmask=
|
||||||
|
dmask= Instead of specifying umask which applies both to
|
||||||
|
files and directories, fmask applies only to files and
|
||||||
|
dmask only to directories.
|
||||||
|
|
||||||
|
nohidden Files with the Windows-specific HIDDEN (FILE_ATTRIBUTE_HIDDEN)
|
||||||
|
attribute will not be shown under Linux.
|
||||||
|
|
||||||
|
sys_immutable Files with the Windows-specific SYSTEM
|
||||||
|
(FILE_ATTRIBUTE_SYSTEM) attribute will be marked as system
|
||||||
|
immutable files.
|
||||||
|
|
||||||
|
discard Enable support of the TRIM command for improved performance
|
||||||
|
on delete operations, which is recommended for use with the
|
||||||
|
solid-state drives (SSD).
|
||||||
|
|
||||||
|
force Forces the driver to mount partitions even if 'dirty' flag
|
||||||
|
(volume dirty) is set. Not recommended for use.
|
||||||
|
|
||||||
|
sparse Create new files as "sparse".
|
||||||
|
|
||||||
|
showmeta Use this parameter to show all meta-files (System Files) on
|
||||||
|
a mounted NTFS partition.
|
||||||
|
By default, all meta-files are hidden.
|
||||||
|
|
||||||
|
prealloc Preallocate space for files excessively when file size is
|
||||||
|
increasing on writes. Decreases fragmentation in case of
|
||||||
|
parallel write operations to different files.
|
||||||
|
|
||||||
|
no_acs_rules "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
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
noatime All files and directories will not update their last access
|
||||||
|
time attribute if a partition is mounted with this parameter.
|
||||||
|
This option can speed up file system operation.
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
ToDo list
|
||||||
|
=========
|
||||||
|
|
||||||
|
- Full journaling support (currently journal replaying is supported) over JBD.
|
||||||
|
|
||||||
|
|
||||||
|
References
|
||||||
|
==========
|
||||||
|
https://www.paragon-software.com/home/ntfs-linux-professional/
|
||||||
|
- Commercial version of the NTFS driver for Linux.
|
||||||
|
|
||||||
|
almaz.alexandrovich@paragon-software.com
|
||||||
|
- Direct e-mail address for feedback and requests on the NTFS3 implementation.
|
46
fs/ntfs3/Kconfig
Normal file
46
fs/ntfs3/Kconfig
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
config NTFS3_FS
|
||||||
|
tristate "NTFS Read-Write file system support"
|
||||||
|
select NLS
|
||||||
|
help
|
||||||
|
Windows OS native file system (NTFS) support up to NTFS version 3.1.
|
||||||
|
|
||||||
|
Y or M enables the NTFS3 driver with full features enabled (read,
|
||||||
|
write, journal replaying, sparse/compressed files support).
|
||||||
|
File system type to use on mount is "ntfs3". Module name (M option)
|
||||||
|
is also "ntfs3".
|
||||||
|
|
||||||
|
Documentation: <file:Documentation/filesystems/ntfs3.rst>
|
||||||
|
|
||||||
|
config NTFS3_64BIT_CLUSTER
|
||||||
|
bool "64 bits per NTFS clusters"
|
||||||
|
depends on NTFS3_FS && 64BIT
|
||||||
|
help
|
||||||
|
Windows implementation of ntfs.sys uses 32 bits per clusters.
|
||||||
|
If activated 64 bits per clusters you will be able to use 4k cluster
|
||||||
|
for 16T+ volumes. Windows will not be able to mount such volumes.
|
||||||
|
|
||||||
|
It is recommended to say N here.
|
||||||
|
|
||||||
|
config NTFS3_LZX_XPRESS
|
||||||
|
bool "activate support of external compressions lzx/xpress"
|
||||||
|
depends on NTFS3_FS
|
||||||
|
help
|
||||||
|
In Windows 10 one can use command "compact" to compress any files.
|
||||||
|
4 possible variants of compression are: xpress4k, xpress8k, xpress16k and lzx.
|
||||||
|
If activated you will be able to read such files correctly.
|
||||||
|
|
||||||
|
It is recommended to say Y here.
|
||||||
|
|
||||||
|
config NTFS3_FS_POSIX_ACL
|
||||||
|
bool "NTFS POSIX Access Control Lists"
|
||||||
|
depends on NTFS3_FS
|
||||||
|
select FS_POSIX_ACL
|
||||||
|
help
|
||||||
|
POSIX Access Control Lists (ACLs) support additional access rights
|
||||||
|
for users and groups beyond the standard owner/group/world scheme,
|
||||||
|
and this option selects support for ACLs specifically for ntfs
|
||||||
|
filesystems.
|
||||||
|
NOTE: this is linux only feature. Windows will ignore these ACLs.
|
||||||
|
|
||||||
|
If you don't know what Access Control Lists are, say N.
|
36
fs/ntfs3/Makefile
Normal file
36
fs/ntfs3/Makefile
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
#
|
||||||
|
# Makefile for the ntfs3 filesystem support.
|
||||||
|
#
|
||||||
|
|
||||||
|
# to check robot warnings
|
||||||
|
ccflags-y += -Wint-to-pointer-cast \
|
||||||
|
$(call cc-option,-Wunused-but-set-variable,-Wunused-const-variable) \
|
||||||
|
$(call cc-option,-Wold-style-declaration,-Wout-of-line-declaration)
|
||||||
|
|
||||||
|
obj-$(CONFIG_NTFS3_FS) += ntfs3.o
|
||||||
|
|
||||||
|
ntfs3-y := attrib.o \
|
||||||
|
attrlist.o \
|
||||||
|
bitfunc.o \
|
||||||
|
bitmap.o \
|
||||||
|
dir.o \
|
||||||
|
fsntfs.o \
|
||||||
|
frecord.o \
|
||||||
|
file.o \
|
||||||
|
fslog.o \
|
||||||
|
inode.o \
|
||||||
|
index.o \
|
||||||
|
lznt.o \
|
||||||
|
namei.o \
|
||||||
|
record.o \
|
||||||
|
run.o \
|
||||||
|
super.o \
|
||||||
|
upcase.o \
|
||||||
|
xattr.o
|
||||||
|
|
||||||
|
ntfs3-$(CONFIG_NTFS3_LZX_XPRESS) += $(addprefix lib/,\
|
||||||
|
decompress_common.o \
|
||||||
|
lzx_decompress.o \
|
||||||
|
xpress_decompress.o \
|
||||||
|
)
|
Loading…
Reference in New Issue
Block a user