linux/Documentation/filesystems
Linus Torvalds cdd4dc3aeb Major changes:
- Write support:
   Implemented full write support based on the classic read-only NTFS
   driver. Added delayed allocation to improve write performance through
   multi-cluster allocation and reduced fragmentation of the cluster
   bitmap.
 
 - iomap conversion:
   Switched buffered IO (reads/writes), direct IO, file extent mapping,
   readpages, and writepages to use iomap.
 
 - Remove buffer_head:
   Completely removed buffer_head usage by converting to folios.
   As a result, the dependency on CONFIG_BUFFER_HEAD has been removed
   from Kconfig.
 
 - Stability improvements:
   The new ntfs driver passes 326 xfstests, compared to 273 for ntfs3.
   All tests passed by ntfs3 are a complete subset of the tests passed
   by this implementation. Added support for fallocate, idmapped mounts,
   permissions, and more.
 
 - xfstests Results report:
   Total tests run: 787
   Passed         : 326
   Failed         : 38
   Skipped        : 423
 
 Failed tests breakdown:
   - 34 tests require metadata journaling
   - 4 other tests:
       094: No unwritten extent concept in NTFS on-disk format
       563: cgroup v2 aware writeback accounting not supported
       631: RENAME_WHITEOUT support required
       787: NFS delegation test
 -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEE6NzKS6Uv/XAAGHgyZwv7A1FEIQgFAmnhuSoWHGxpbmtpbmpl
 b25Aa2VybmVsLm9yZwAKCRBnC/sDUUQhCCtPD/9SCy3cCJZqzAtiRIYmrVD4ji9a
 vE4rZLu2A1SfTATjpKOgn7gLjBq0b2m3MxpdE8AawtXKmqOPLQFD4zj2sWePznfJ
 zy1tim2b5rEKNBQjlzoMGpmbuL+GvDWRE/RtlFQAy5uxLrqCWxtlsP0VcgKwvi+1
 MvhghuLNPCAtYA3ajadLUXK8LmhMtPVNHEqykFzTjcKAPqZyWAyS4wW7UXfPYccW
 u+XBxuR6qdlWoVpQ3ig+gJSkadViQ/PfpjzCGPsyyvaiR0t3//SexOnhHKNgPStm
 zKmD3X38y0X3wUaoDysNboPCM9+d0WsHX8whMgcCUXrIv0SRy5IL5RH0GmotaVha
 n6uUfAJ3BsBbF0DgXe4VKbY9M7UoQfjPEre52F5arM6y0qcQ+2HtvBZPCqQccb4o
 MsbuhgjyArN4LVwDb6sMK7psLjrxvuAiPtvUMUzgAt2cqCgFnHUR/SAOLy3q/RR4
 6QCcfoOJX4YK5AJYgQdAXuF8h8T865OR3dPIKyz5SMyjcj+epPdf/mf4Fhe3xfpO
 a8iFoQlKwLbD6zvpZcD5PMEAFpaVJEyYaAZ7DJLhfRpBofbn7y1U84/Ryq52+n1K
 Me8ePvuN2Q2HjTr2RjoqnV+SAgVFeifOyrYUCu8HiGVkfpFw5UfQRJUflt4l5+cd
 wA2frad6InBq4nGO4A==
 =x5UX
 -----END PGP SIGNATURE-----

Merge tag 'ntfs-for-7.1-rc1-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/ntfs

Pull ntfs resurrection from Namjae Jeon:
 "Ever since Kari Argillander’s 2022 report [1] regarding the state of
  the ntfs3 driver, I have spent the last 4 years working to provide
  full write support and current trends (iomap, no buffer head, folio),
  enhanced performance, stable maintenance, utility support including
  fsck for NTFS in Linux.

  This new implementation is built upon the clean foundation of the
  original read-only NTFS driver, adding:

   - Write support:

     Implemented full write support based on the classic read-only NTFS
     driver. Added delayed allocation to improve write performance
     through multi-cluster allocation and reduced fragmentation of the
     cluster bitmap.

   - iomap conversion:

     Switched buffered IO (reads/writes), direct IO, file extent
     mapping, readpages, and writepages to use iomap.

   - Remove buffer_head:

     Completely removed buffer_head usage by converting to folios. As a
     result, the dependency on CONFIG_BUFFER_HEAD has been removed from
     Kconfig.

   - Stability improvements:

     The new ntfs driver passes 326 xfstests, compared to 273 for ntfs3.
     All tests passed by ntfs3 are a complete subset of the tests passed
     by this implementation. Added support for fallocate, idmapped
     mounts, permissions, and more.

  xfstests Results report:

     Total tests run: 787
     Passed         : 326
     Failed         : 38
     Skipped        : 423

  Failed tests breakdown:
    - 34 tests require metadata journaling
    - 4 other tests:
         094: No unwritten extent concept in NTFS on-disk format
         563: cgroup v2 aware writeback accounting not supported
         631: RENAME_WHITEOUT support required
         787: NFS delegation test"

Link: https://lore.kernel.org/all/da20d32b-5185-f40b-48b8-2986922d8b25@stargateuniverse.net/ [1]

[ Let's see if this undead filesystem ends up being of the "Easter
  miracle" kind, or the "Nosferatu of filesystems" kind... ]

* tag 'ntfs-for-7.1-rc1-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/ntfs: (46 commits)
  ntfs: remove redundant out-of-bound checks
  ntfs: add bound checking to ntfs_external_attr_find
  ntfs: add bound checking to ntfs_attr_find
  ntfs: fix ignoring unreachable code warnings
  ntfs: fix inconsistent indenting warnings
  ntfs: fix variable dereferenced before check warnings
  ntfs: prefer IS_ERR_OR_NULL() over manual NULL check
  ntfs: harden ntfs_listxattr against EA entries
  ntfs: harden ntfs_ea_lookup against malformed EA entries
  ntfs: check $EA query-length in ntfs_ea_get
  ntfs: validate WSL EA payload sizes
  ntfs: fix WSL ea restore condition
  ntfs: add missing newlines to pr_err() messages
  ntfs: fix pointer/integer casting warnings
  ntfs: use ->mft_no instead of ->i_ino in prints
  ntfs: change mft_no type to u64
  ntfs: select FS_IOMAP in Kconfig
  ntfs: add MODULE_ALIAS_FS
  ntfs: reduce stack usage in ntfs_write_mft_block()
  ntfs: fix sysctl table registration and path
  ...
2026-04-17 16:35:49 -07:00
..
caching doc: correcting the debug path for cachefiles 2024-10-24 13:50:27 +02:00
ext4 Documentation: ext4: Document casefold and encrypt flags 2025-11-26 17:13:34 -05:00
fuse Documentation: fuse: Consolidate FUSE docs into its own subdirectory 2025-08-27 14:29:43 +02:00
gfs2 Documentation: gfs2: Consolidate GFS2 docs into its own subdirectory 2025-10-31 21:00:43 +00:00
iomap fs, iomap: remove IOCB_DIO_CALLER_COMP 2025-11-25 10:22:18 +01:00
nfs docs: exportfs: Use source code struct documentation 2026-01-14 16:50:37 +01:00
smb cifs: add documentation for smbdirect setup 2025-06-05 10:20:48 -05:00
spufs docs: spufs: fix ppc64 architecture line break 2026-01-06 15:21:26 -07:00
xfs xfs: new code for v6.19 2025-12-03 20:19:38 -08:00
9p.rst 9p update for 6.15-rc1 2025-04-03 15:35:46 -07:00
adfs.rst
affs.rst
afs.rst afs: Documentation: correct reference to CONFIG_AFS_FS 2023-07-21 13:46:02 -06:00
api-summary.rst docs: filesystems: add fs/open.c to api-summary 2026-01-16 11:33:15 -07:00
autofs-mount-control.rst autofs: use flexible array in ioctl structure 2023-05-30 16:42:00 -07:00
autofs.rst Documentation: filesystems: update filename extensions 2024-11-22 10:31:04 -07:00
automount-support.rst
befs.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
bfs.rst
btrfs.rst MAINTAINERS: remove links to obsolete btrfs.wiki.kernel.org 2023-09-08 14:21:27 +02:00
buffer.rst doc: split buffer.rst out of api-summary.rst 2024-05-05 17:53:40 -07:00
ceph.rst doc: ceph: update userspace command to get CephFS metadata 2024-05-23 10:35:47 +02:00
coda.rst documentation/filesystems: fix spelling mistakes 2025-02-10 10:42:28 -07:00
configfs.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
cramfs.rst
dax.rst doc: Remove misleading reference to brd in dax.rst 2025-06-25 12:49:29 -06:00
debugfs.rst docs: debugfs: do not recommend debugfs_remove_recursive 2025-04-30 19:11:04 +02:00
devpts.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
directory-locking.rst Docs: typos/spelling 2024-05-02 10:02:29 -06:00
dlmfs.rst Documentation: filesystems: update filename extensions 2024-11-22 10:31:04 -07:00
dnotify.rst
ecryptfs.rst
efivarfs.rst Documentation: Mark the 'efivars' sysfs interface as removed 2024-04-13 10:33:02 +02:00
erofs.rst A slightly calmer cycle for docs this time around, though there is still a 2026-02-09 20:53:18 -08:00
ext2.rst doc : fix a broken link in ext2.rst 2025-12-19 15:01:27 +01:00
ext3.rst
f2fs.rst f2fs: introduce FAULT_SKIP_WRITE 2026-01-27 02:45:58 +00:00
fiemap.rst fiemap: use kernel-doc includes in fiemap docbook 2024-12-22 11:29:50 +01:00
files.rst docs: filesystems: fix typo in docs 2024-02-09 10:37:20 +01:00
fscrypt.rst fscrypt: Drop obsolete recommendation to enable optimized NHPoly1305 2026-01-12 11:07:50 -08:00
fsverity.rst fs: add FS_XFLAG_VERITY for fs-verity files 2026-01-29 16:00:57 +01:00
hfs.rst
hfsplus.rst
hpfs.rst Documentation: Fix filesystems typos 2025-08-18 10:31:19 -06:00
idmappings.rst doc: correcting two prefix errors in idmappings.rst 2025-03-05 11:54:18 +01:00
index.rst Major changes: 2026-04-17 16:35:49 -07:00
inotify.rst
isofs.rst
journalling.rst jbd2: remove unused transaction->t_private_list 2025-02-10 07:48:24 -05:00
locking.rst vfs-7.0-rc1.namespace 2026-02-09 14:43:47 -08:00
locks.rst docs: fs: locks.rst: update comment about mandatory file locking 2021-10-19 06:48:21 -04:00
mmap_prepare.rst mm: add mmap_action_map_kernel_pages[_full]() 2026-04-05 13:53:45 -07:00
mount_api.rst fs: remove fsparam_path / fs_param_is_path 2026-02-19 14:34:26 +01:00
multigrain-ts.rst Documentation: add a new file documenting multigrain timestamps 2024-10-10 10:20:52 +02:00
netfs_library.rst fs/netfs: remove unused flag NETFS_SREQ_SEEK_DATA_READ 2025-05-21 14:34:37 +02:00
nilfs2.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
ntfs.rst ntfs: repair docum. malformed table 2026-02-26 18:26:07 +09:00
ntfs3.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
ocfs2-online-filecheck.rst Documentation: ocfs2: Properly reindent filecheck operations list 2025-08-29 15:50:50 -06:00
ocfs2.rst docs: update ocfs2-devel mailing list address 2023-07-08 09:29:29 -07:00
omfs.rst
orangefs.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
overlayfs.rst ovl: make fsync after metadata copy-up opt-in mount option 2026-03-27 12:48:10 +01:00
path-lookup.rst docs: path-lookup: fix unrenamed WALK_GET 2026-03-22 14:54:23 -06:00
path-lookup.txt Documentation: filesystems: update filename extensions 2024-11-22 10:31:04 -07:00
porting.rst VFS: unexport lock_rename(), lock_rename_child(), unlock_rename() 2026-03-09 09:43:04 +01:00
proc.rst drm for v7.1-rc1 2026-04-15 08:45:00 -07:00
propagate_umount.txt docs: fix trailing whitespace error and remove repeated words in propagate_umount.txt 2025-08-21 12:49:01 -06:00
qnx6.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
quota.rst
ramfs-rootfs-initramfs.rst fs: use nullfs unconditionally as the real rootfs 2026-01-14 11:23:39 +01:00
relay.rst docs: fix 're-use' -> 'reuse' in documentation 2026-02-02 09:54:15 -07:00
resctrl.rst fs/resctrl: Add "*" shorthand to set io_alloc CBM for all domains 2026-04-02 00:22:59 +02:00
romfs.rst
seq_file.rst Documentation: seq_file: drop 2.6 reference 2026-04-10 08:39:08 -06:00
sharedsubtree.rst Documentation: sharedsubtree: Convert notes to note directive 2025-08-29 16:40:01 -06:00
splice.rst
squashfs.rst Documentation: update the Squashfs filesystem documentation 2025-01-24 22:47:21 -08:00
sysfs.rst kernel.h: move VERIFY_OCTAL_PERMISSIONS() to sysfs.h 2026-01-31 16:16:05 -08:00
tmpfs.rst docs: tmpfs: Add casefold options 2024-10-28 13:36:55 +01:00
ubifs-authentication.rst Documentation: treewide: Replace remaining spinics links with lore 2025-06-21 14:20:51 -06:00
ubifs.rst Documentation: ubifs: Fix compression idiom 2022-10-10 13:01:10 -06:00
udf.rst
vfat.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
vfs.rst vfs-7.0-rc1.namespace 2026-02-09 14:43:47 -08:00
virtiofs.rst
zonefs.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00