162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig NTFS_FS
362306a36Sopenharmony_ci	tristate "NTFS file system support"
462306a36Sopenharmony_ci	select BUFFER_HEAD
562306a36Sopenharmony_ci	select NLS
662306a36Sopenharmony_ci	help
762306a36Sopenharmony_ci	  NTFS is the file system of Microsoft Windows NT, 2000, XP and 2003.
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci	  Saying Y or M here enables read support.  There is partial, but
1062306a36Sopenharmony_ci	  safe, write support available.  For write support you must also
1162306a36Sopenharmony_ci	  say Y to "NTFS write support" below.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	  There are also a number of user-space tools available, called
1462306a36Sopenharmony_ci	  ntfsprogs.  These include ntfsundelete and ntfsresize, that work
1562306a36Sopenharmony_ci	  without NTFS support enabled in the kernel.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci	  This is a rewrite from scratch of Linux NTFS support and replaced
1862306a36Sopenharmony_ci	  the old NTFS code starting with Linux 2.5.11.  A backport to
1962306a36Sopenharmony_ci	  the Linux 2.4 kernel series is separately available as a patch
2062306a36Sopenharmony_ci	  from the project web site.
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci	  For more information see <file:Documentation/filesystems/ntfs.rst>
2362306a36Sopenharmony_ci	  and <http://www.linux-ntfs.org/>.
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	  To compile this file system support as a module, choose M here: the
2662306a36Sopenharmony_ci	  module will be called ntfs.
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	  If you are not using Windows NT, 2000, XP or 2003 in addition to
2962306a36Sopenharmony_ci	  Linux on your computer it is safe to say N.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ciconfig NTFS_DEBUG
3262306a36Sopenharmony_ci	bool "NTFS debugging support"
3362306a36Sopenharmony_ci	depends on NTFS_FS
3462306a36Sopenharmony_ci	help
3562306a36Sopenharmony_ci	  If you are experiencing any problems with the NTFS file system, say
3662306a36Sopenharmony_ci	  Y here.  This will result in additional consistency checks to be
3762306a36Sopenharmony_ci	  performed by the driver as well as additional debugging messages to
3862306a36Sopenharmony_ci	  be written to the system log.  Note that debugging messages are
3962306a36Sopenharmony_ci	  disabled by default.  To enable them, supply the option debug_msgs=1
4062306a36Sopenharmony_ci	  at the kernel command line when booting the kernel or as an option
4162306a36Sopenharmony_ci	  to insmod when loading the ntfs module.  Once the driver is active,
4262306a36Sopenharmony_ci	  you can enable debugging messages by doing (as root):
4362306a36Sopenharmony_ci	  echo 1 > /proc/sys/fs/ntfs-debug
4462306a36Sopenharmony_ci	  Replacing the "1" with "0" would disable debug messages.
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci	  If you leave debugging messages disabled, this results in little
4762306a36Sopenharmony_ci	  overhead, but enabling debug messages results in very significant
4862306a36Sopenharmony_ci	  slowdown of the system.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci	  When reporting bugs, please try to have available a full dump of
5162306a36Sopenharmony_ci	  debugging messages while the misbehaviour was occurring.
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ciconfig NTFS_RW
5462306a36Sopenharmony_ci	bool "NTFS write support"
5562306a36Sopenharmony_ci	depends on NTFS_FS
5662306a36Sopenharmony_ci	depends on PAGE_SIZE_LESS_THAN_64KB
5762306a36Sopenharmony_ci	help
5862306a36Sopenharmony_ci	  This enables the partial, but safe, write support in the NTFS driver.
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci	  The only supported operation is overwriting existing files, without
6162306a36Sopenharmony_ci	  changing the file length.  No file or directory creation, deletion or
6262306a36Sopenharmony_ci	  renaming is possible.  Note only non-resident files can be written to
6362306a36Sopenharmony_ci	  so you may find that some very small files (<500 bytes or so) cannot
6462306a36Sopenharmony_ci	  be written to.
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci	  While we cannot guarantee that it will not damage any data, we have
6762306a36Sopenharmony_ci	  so far not received a single report where the driver would have
6862306a36Sopenharmony_ci	  damaged someones data so we assume it is perfectly safe to use.
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci	  Note:  While write support is safe in this version (a rewrite from
7162306a36Sopenharmony_ci	  scratch of the NTFS support), it should be noted that the old NTFS
7262306a36Sopenharmony_ci	  write support, included in Linux 2.5.10 and before (since 1997),
7362306a36Sopenharmony_ci	  is not safe.
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci	  This is currently useful with TopologiLinux.  TopologiLinux is run
7662306a36Sopenharmony_ci	  on top of any DOS/Microsoft Windows system without partitioning your
7762306a36Sopenharmony_ci	  hard disk.  Unlike other Linux distributions TopologiLinux does not
7862306a36Sopenharmony_ci	  need its own partition.  For more information see
7962306a36Sopenharmony_ci	  <http://topologi-linux.sourceforge.net/>
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci	  It is perfectly safe to say N here.
82