[GIT PULL] vfs ntfs

From: Christian Brauner
Date: Fri Mar 08 2024 - 05:11:24 EST


Hey Linus,

/* Summary */
This removes the old ntfs driver. The new ntfs3 driver is a full
replacement that was merged over two years ago. We've went through
various userspace and either they use ntfs3 or they use the fuse version
of ntfs and thus build neither ntfs nor ntfs3. I think that's a clear
sign that we should risk removing the legacy ntfs driver.

Quoting from Arch Linux and Debian:

* Debian does neither build the legacy ntfs nor the new ntfs3:

"Not currently built with Debian's kernel packages, "ntfs" has been
symlinked to "ntfs-3g" as it relates to fstab and mount commands.

Debian kernels are built without support of the ntfs3 driver developed
by Paragon Software."
(cf. [2])

* Archlinux provides ntfs3 as their default since 5.15:

"All officially supported kernels with versions 5.15 or newer are
built with CONFIG_NTFS3_FS=m and thus support it. Before 5.15, NTFS
read and write support is provided by the NTFS-3G FUSE file system."
(cf. [1]).

It's unmaintained apart from various odd fixes as well. Worst case we
have to reintroduce it if someone really has a valid dependency on it.
But it's worth trying to see whether we can remove it.

Link: https://wiki.archlinux.org/title/NTFS [1]
Link: https://wiki.debian.org/NTFS [2]

/* Testing */
clang: Debian clang version 16.0.6 (19)
gcc: (Debian 13.2.0-7) 13.2.0

All patches are based on v6.8-rc1 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

The following changes since commit 6613476e225e090cc9aad49be7fa504e290dd33d:

Linux 6.8-rc1 (2024-01-21 14:11:32 -0800)

are available in the Git repository at:

git@xxxxxxxxxxxxxxxxxxx:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.9.ntfs

for you to fetch changes up to 06b8db3a7dde43cc7c412517c93c85d13a4557f8:

fs: remove NTFS classic from docum. index (2024-01-24 12:11:48 +0100)

Please consider pulling these changes from the signed vfs-6.9.ntfs tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.9.ntfs

----------------------------------------------------------------
Matthew Wilcox (Oracle) (1):
fs: Remove NTFS classic

Randy Dunlap (1):
fs: remove NTFS classic from docum. index

CREDITS | 5 +
Documentation/filesystems/index.rst | 1 -
Documentation/filesystems/ntfs.rst | 466 -----
MAINTAINERS | 10 -
fs/Kconfig | 1 -
fs/Makefile | 1 -
fs/ntfs/Kconfig | 81 -
fs/ntfs/Makefile | 15 -
fs/ntfs/aops.c | 1744 -------------------
fs/ntfs/aops.h | 88 -
fs/ntfs/attrib.c | 2624 ----------------------------
fs/ntfs/attrib.h | 102 --
fs/ntfs/bitmap.c | 179 --
fs/ntfs/bitmap.h | 104 --
fs/ntfs/collate.c | 110 --
fs/ntfs/collate.h | 36 -
fs/ntfs/compress.c | 950 -----------
fs/ntfs/debug.c | 159 --
fs/ntfs/debug.h | 57 -
fs/ntfs/dir.c | 1540 -----------------
fs/ntfs/dir.h | 34 -
fs/ntfs/endian.h | 79 -
fs/ntfs/file.c | 1997 ----------------------
fs/ntfs/index.c | 440 -----
fs/ntfs/index.h | 134 --
fs/ntfs/inode.c | 3102 ---------------------------------
fs/ntfs/inode.h | 310 ----
fs/ntfs/layout.h | 2421 --------------------------
fs/ntfs/lcnalloc.c | 1000 -----------
fs/ntfs/lcnalloc.h | 131 --
fs/ntfs/logfile.c | 849 ----------
fs/ntfs/logfile.h | 295 ----
fs/ntfs/malloc.h | 77 -
fs/ntfs/mft.c | 2907 -------------------------------
fs/ntfs/mft.h | 110 --
fs/ntfs/mst.c | 189 ---
fs/ntfs/namei.c | 392 -----
fs/ntfs/ntfs.h | 150 --
fs/ntfs/quota.c | 103 --
fs/ntfs/quota.h | 21 -
fs/ntfs/runlist.c | 1893 ---------------------
fs/ntfs/runlist.h | 88 -
fs/ntfs/super.c | 3202 -----------------------------------
fs/ntfs/sysctl.c | 58 -
fs/ntfs/sysctl.h | 27 -
fs/ntfs/time.h | 89 -
fs/ntfs/types.h | 55 -
fs/ntfs/unistr.c | 384 -----
fs/ntfs/upcase.c | 73 -
fs/ntfs/usnjrnl.c | 70 -
fs/ntfs/usnjrnl.h | 191 ---
fs/ntfs/volume.h | 164 --
52 files changed, 5 insertions(+), 29303 deletions(-)
delete mode 100644 Documentation/filesystems/ntfs.rst
delete mode 100644 fs/ntfs/Kconfig
delete mode 100644 fs/ntfs/Makefile
delete mode 100644 fs/ntfs/aops.c
delete mode 100644 fs/ntfs/aops.h
delete mode 100644 fs/ntfs/attrib.c
delete mode 100644 fs/ntfs/attrib.h
delete mode 100644 fs/ntfs/bitmap.c
delete mode 100644 fs/ntfs/bitmap.h
delete mode 100644 fs/ntfs/collate.c
delete mode 100644 fs/ntfs/collate.h
delete mode 100644 fs/ntfs/compress.c
delete mode 100644 fs/ntfs/debug.c
delete mode 100644 fs/ntfs/debug.h
delete mode 100644 fs/ntfs/dir.c
delete mode 100644 fs/ntfs/dir.h
delete mode 100644 fs/ntfs/endian.h
delete mode 100644 fs/ntfs/file.c
delete mode 100644 fs/ntfs/index.c
delete mode 100644 fs/ntfs/index.h
delete mode 100644 fs/ntfs/inode.c
delete mode 100644 fs/ntfs/inode.h
delete mode 100644 fs/ntfs/layout.h
delete mode 100644 fs/ntfs/lcnalloc.c
delete mode 100644 fs/ntfs/lcnalloc.h
delete mode 100644 fs/ntfs/logfile.c
delete mode 100644 fs/ntfs/logfile.h
delete mode 100644 fs/ntfs/malloc.h
delete mode 100644 fs/ntfs/mft.c
delete mode 100644 fs/ntfs/mft.h
delete mode 100644 fs/ntfs/mst.c
delete mode 100644 fs/ntfs/namei.c
delete mode 100644 fs/ntfs/ntfs.h
delete mode 100644 fs/ntfs/quota.c
delete mode 100644 fs/ntfs/quota.h
delete mode 100644 fs/ntfs/runlist.c
delete mode 100644 fs/ntfs/runlist.h
delete mode 100644 fs/ntfs/super.c
delete mode 100644 fs/ntfs/sysctl.c
delete mode 100644 fs/ntfs/sysctl.h
delete mode 100644 fs/ntfs/time.h
delete mode 100644 fs/ntfs/types.h
delete mode 100644 fs/ntfs/unistr.c
delete mode 100644 fs/ntfs/upcase.c
delete mode 100644 fs/ntfs/usnjrnl.c
delete mode 100644 fs/ntfs/usnjrnl.h
delete mode 100644 fs/ntfs/volume.h