[PATCH v5 13/14] ntfs: add Kconfig and Makefile

Namjae Jeon posted 14 patches 3 weeks, 6 days ago
There is a newer version of this series
[PATCH v5 13/14] ntfs: add Kconfig and Makefile
Posted by Namjae Jeon 3 weeks, 6 days ago
This introduce Kconfig and Makefile for remade ntfs.
And this patch make ntfs and ntfs3 mutually exclusive so only one can be
built-in(y), while both can still be built as modules(m).

Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
---
 fs/Kconfig       |  1 +
 fs/Makefile      |  1 +
 fs/ntfs/Kconfig  | 45 +++++++++++++++++++++++++++++++++++++++++++++
 fs/ntfs/Makefile | 13 +++++++++++++
 fs/ntfs3/Kconfig |  1 +
 5 files changed, 61 insertions(+)
 create mode 100644 fs/ntfs/Kconfig
 create mode 100644 fs/ntfs/Makefile

diff --git a/fs/Kconfig b/fs/Kconfig
index 0bfdaecaa877..43cb06de297f 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -152,6 +152,7 @@ menu "DOS/FAT/EXFAT/NT Filesystems"
 
 source "fs/fat/Kconfig"
 source "fs/exfat/Kconfig"
+source "fs/ntfs/Kconfig"
 source "fs/ntfs3/Kconfig"
 
 endmenu
diff --git a/fs/Makefile b/fs/Makefile
index a04274a3c854..6893496697c4 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -90,6 +90,7 @@ obj-$(CONFIG_NLS)		+= nls/
 obj-y				+= unicode/
 obj-$(CONFIG_SMBFS)		+= smb/
 obj-$(CONFIG_HPFS_FS)		+= hpfs/
+obj-$(CONFIG_NTFS_FS)		+= ntfs/
 obj-$(CONFIG_NTFS3_FS)		+= ntfs3/
 obj-$(CONFIG_UFS_FS)		+= ufs/
 obj-$(CONFIG_EFS_FS)		+= efs/
diff --git a/fs/ntfs/Kconfig b/fs/ntfs/Kconfig
new file mode 100644
index 000000000000..6b49c99e4834
--- /dev/null
+++ b/fs/ntfs/Kconfig
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: GPL-2.0-only
+config NTFS_FS
+	tristate "NTFS file system support"
+	select NLS
+	help
+	  NTFS is the file system of Microsoft Windows NT, 2000, XP and 2003.
+	  This allows you to mount devices formatted with the ntfs file system.
+
+	  To compile this as a module, choose M here: the module will be called
+	  ntfs.
+
+config NTFS_DEBUG
+	bool "NTFS debugging support"
+	depends on NTFS_FS
+	help
+	  If you are experiencing any problems with the NTFS file system, say
+	  Y here.  This will result in additional consistency checks to be
+	  performed by the driver as well as additional debugging messages to
+	  be written to the system log.  Note that debugging messages are
+	  disabled by default.  To enable them, supply the option debug_msgs=1
+	  at the kernel command line when booting the kernel or as an option
+	  to insmod when loading the ntfs module.  Once the driver is active,
+	  you can enable debugging messages by doing (as root):
+	  echo 1 > /proc/sys/fs/ntfs-debug
+	  Replacing the "1" with "0" would disable debug messages.
+
+	  If you leave debugging messages disabled, this results in little
+	  overhead, but enabling debug messages results in very significant
+	  slowdown of the system.
+
+	  When reporting bugs, please try to have available a full dump of
+	  debugging messages while the misbehaviour was occurring.
+
+config NTFS_FS_POSIX_ACL
+	bool "NTFS POSIX Access Control Lists"
+	depends on NTFS_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.
diff --git a/fs/ntfs/Makefile b/fs/ntfs/Makefile
new file mode 100644
index 000000000000..d235ce03289e
--- /dev/null
+++ b/fs/ntfs/Makefile
@@ -0,0 +1,13 @@
+# SPDX-License-Identifier: GPL-2.0
+#
+# Makefile for the ntfs filesystem support.
+#
+
+obj-$(CONFIG_NTFS_FS) += ntfs.o
+
+ntfs-y := aops.o attrib.o collate.o dir.o file.o index.o inode.o \
+	  mft.o mst.o namei.o runlist.o super.o unistr.o attrlist.o ea.o \
+	  upcase.o bitmap.o lcnalloc.o logfile.o reparse.o compress.o \
+	  iomap.o debug.o sysctl.o quota.o
+
+ccflags-$(CONFIG_NTFS_DEBUG) += -DDEBUG
diff --git a/fs/ntfs3/Kconfig b/fs/ntfs3/Kconfig
index cdfdf51e55d7..876dbc613ae6 100644
--- a/fs/ntfs3/Kconfig
+++ b/fs/ntfs3/Kconfig
@@ -1,6 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config NTFS3_FS
 	tristate "NTFS Read-Write file system support"
+	depends on !NTFS_FS || m
 	select BUFFER_HEAD
 	select NLS
 	select LEGACY_DIRECT_IO
-- 
2.25.1
Re: [PATCH v5 13/14] ntfs: add Kconfig and Makefile
Posted by Christoph Hellwig 3 weeks, 2 days ago
> +config NTFS_FS_POSIX_ACL
> +	bool "NTFS POSIX Access Control Lists"
> +	depends on NTFS_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.

This looks like a new feature over the old driver.  What is the
use case for it?

> @@ -0,0 +1,13 @@
> +# Makefile for the ntfs filesystem support.
> +#

I'd drop this, it's pretty obvious :)
Re: [PATCH v5 13/14] ntfs: add Kconfig and Makefile
Posted by Namjae Jeon 3 weeks ago
On Fri, Jan 16, 2026 at 6:30 PM Christoph Hellwig <hch@lst.de> wrote:
>
> > +config NTFS_FS_POSIX_ACL
> > +     bool "NTFS POSIX Access Control Lists"
> > +     depends on NTFS_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.
>
> This looks like a new feature over the old driver.  What is the
> use case for it?
The POSIX ACLs support is intended to ensure functional parity and ABI
compatibility with the existing ntfs3 driver, which already supports
this feature. Since this ntfs aims to be a replacement for ntfs3,
providing the same mount options and permission model is essential for
a seamless user transition. Furthermore, By enabling this feature, we
can pass more xfstests test cases.
>
> > @@ -0,0 +1,13 @@
> > +# Makefile for the ntfs filesystem support.
> > +#
>
> I'd drop this, it's pretty obvious :)
Okay, I will drop it.
Thanks!
>
Re: [PATCH v5 13/14] ntfs: add Kconfig and Makefile
Posted by Christoph Hellwig 2 weeks, 6 days ago
On Sun, Jan 18, 2026 at 02:08:01PM +0900, Namjae Jeon wrote:
> > > +
> > > +       If you don't know what Access Control Lists are, say N.
> >
> > This looks like a new feature over the old driver.  What is the
> > use case for it?
> The POSIX ACLs support is intended to ensure functional parity and ABI
> compatibility with the existing ntfs3 driver, which already supports
> this feature. Since this ntfs aims to be a replacement for ntfs3,
> providing the same mount options and permission model is essential for
> a seamless user transition.

Can you make this more clear in the help text?


> Furthermore, By enabling this feature, we can pass more xfstests test
> cases.

Passing more tests only really matters when they were failing before,
and lack of Posix ACL code should not lead to failures - if it does
we need to improve feature detection in xfstests.
Re: [PATCH v5 13/14] ntfs: add Kconfig and Makefile
Posted by Namjae Jeon 2 weeks, 5 days ago
On Mon, Jan 19, 2026 at 4:19 PM Christoph Hellwig <hch@lst.de> wrote:
>
> On Sun, Jan 18, 2026 at 02:08:01PM +0900, Namjae Jeon wrote:
> > > > +
> > > > +       If you don't know what Access Control Lists are, say N.
> > >
> > > This looks like a new feature over the old driver.  What is the
> > > use case for it?
> > The POSIX ACLs support is intended to ensure functional parity and ABI
> > compatibility with the existing ntfs3 driver, which already supports
> > this feature. Since this ntfs aims to be a replacement for ntfs3,
> > providing the same mount options and permission model is essential for
> > a seamless user transition.
>
> Can you make this more clear in the help text?
Sure, I'll update it.
>
>
> > Furthermore, By enabling this feature, we can pass more xfstests test
> > cases.
>
> Passing more tests only really matters when they were failing before,
> and lack of Posix ACL code should not lead to failures - if it does
> we need to improve feature detection in xfstests.
I agreed. and xfstests already handles acl detection correctly..

Thanks!
>