mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
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
...
127 lines
1.7 KiB
ReStructuredText
127 lines
1.7 KiB
ReStructuredText
.. _filesystems_index:
|
|
|
|
===============================
|
|
Filesystems in the Linux kernel
|
|
===============================
|
|
|
|
This under-development manual will, some glorious day, provide
|
|
comprehensive information on how the Linux virtual filesystem (VFS) layer
|
|
works, along with the filesystems that sit below it. For now, what we have
|
|
can be found below.
|
|
|
|
Core VFS documentation
|
|
======================
|
|
|
|
See these manuals for documentation about the VFS layer itself and how its
|
|
algorithms work.
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
|
|
vfs
|
|
path-lookup
|
|
api-summary
|
|
splice
|
|
locking
|
|
directory-locking
|
|
devpts
|
|
dnotify
|
|
fiemap
|
|
files
|
|
locks
|
|
mmap_prepare
|
|
multigrain-ts
|
|
mount_api
|
|
quota
|
|
seq_file
|
|
sharedsubtree
|
|
idmappings
|
|
iomap/index
|
|
|
|
automount-support
|
|
|
|
caching/index
|
|
|
|
porting
|
|
|
|
Filesystem support layers
|
|
=========================
|
|
|
|
Documentation for the support code within the filesystem layer for use in
|
|
filesystem implementations.
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
|
|
buffer
|
|
journalling
|
|
fscrypt
|
|
fsverity
|
|
netfs_library
|
|
|
|
Filesystems
|
|
===========
|
|
|
|
Documentation for filesystem implementations.
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
|
|
9p
|
|
adfs
|
|
affs
|
|
afs
|
|
autofs
|
|
autofs-mount-control
|
|
befs
|
|
bfs
|
|
btrfs
|
|
ceph
|
|
coda
|
|
configfs
|
|
cramfs
|
|
dax
|
|
debugfs
|
|
dlmfs
|
|
ecryptfs
|
|
efivarfs
|
|
erofs
|
|
ext2
|
|
ext3
|
|
ext4/index
|
|
f2fs
|
|
gfs2/index
|
|
hfs
|
|
hfsplus
|
|
hpfs
|
|
fuse/index
|
|
inotify
|
|
isofs
|
|
nilfs2
|
|
nfs/index
|
|
ntfs
|
|
ntfs3
|
|
ocfs2
|
|
ocfs2-online-filecheck
|
|
omfs
|
|
orangefs
|
|
overlayfs
|
|
proc
|
|
qnx6
|
|
ramfs-rootfs-initramfs
|
|
relay
|
|
resctrl
|
|
romfs
|
|
smb/index
|
|
spufs/index
|
|
squashfs
|
|
sysfs
|
|
tmpfs
|
|
ubifs
|
|
ubifs-authentication
|
|
udf
|
|
virtiofs
|
|
vfat
|
|
xfs/index
|
|
zonefs
|