linux/fs
Linus Torvalds fbeea4db51 New features and improvements for the ext4 file system
* Optimize online defragmentation by using folios instead of individual
   buffer heads
 * Improve error codes stored in the superblock when the journal aborts
 * Minor cleanups and clarifications in ext4_map_blocks()
 * Add documentation of the casefold and encrypt flags
 * Add support for file systems with a blocksize greater than the pagesize
 * Improve performance by enabling the caching the fact that an inode does
   not have a Posix ACL.
 
 Various Bug Fixes
 
 * Fix false positive compliants from smatch
 * Fix error code which is returned by ext4fs_dirhash() when Siphash is
   used without the encryption key
 * Fix races when writing to inline data files which could trigger a BUG
 * Fix potential NULL dereference when there is an corrupt file system with
   an extended attribute value stored in a inode
 * Fix false positive lockdep report when syzbot uses ext4 and ocfs2 together
 * Fix false positive reported by DEPT by adjusting lock annotation
 * Avoid a potential BUG_ON in jbd2 when a file system is massively corrupted
 * Fix a WARN_ON when superblock is corrupted with a non-NULL terminated
   mount options field
 * Add check if the userspace passes in a non-NULL terminated mount options
   field to EXT4_IOC_SET_TUNE_SB_PARAM
 * Fix a potential journal checksum failure whena file system is copied while
   it is mounted read-only
 * Fix a potential potential orphan file tracking error which only showed
   on 32-bit systems
 * Fix assertion checks in mballoc (which have to be explicitly enbled by
   manually enabling AGGRESSIVE_CHECKS and recompiling)
 * Avoid complaining about overly large orphan files created by mke2fs with
   with file systems with a 64k block size
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEK2m5VNv+CHkogTfJ8vlZVpUNgaMFAmktFUsACgkQ8vlZVpUN
 gaPA/Af/WMIK5fHG687JOQUoAnxJ5A89aWrJM7LXIXhfyy/hQ2x/dp7rRHuis+WQ
 1AcB7tRN4EuAx+tU8rBKsh7f+xQRkhdl3FHjxAyZdNaVTS/iYh121lMeSDqBVP0V
 tRSk+9DoahueYBJdHwgtFBd7ZHSKF2haqDW1FIYvFZFWZR1NEzNaoB9O4NO5D1dH
 RN7nKB/eggOnPelP8FtD83yY3lwCMmxanqZuFCTn9AFcn/o1yo0w+8L+nHKO0n0Z
 BMbIMLaJ4oJv6G/4vA99btGJjMHKqBqwNNh+2Gq81eubpkutTpTgma6npUBSKdl3
 pfWhHzVaa3vVj1Mxc0j4qb1fzlCH8w==
 =abb+
 -----END PGP SIGNATURE-----

Merge tag 'ext4_for_linus-6.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4

Pull ext4 updates from Ted Ts'o:
 "New features and improvements for the ext4 file system:
   - Optimize online defragmentation by using folios instead of
     individual buffer heads
   - Improve error codes stored in the superblock when the journal
     aborts
   - Minor cleanups and clarifications in ext4_map_blocks()
   - Add documentation of the casefold and encrypt flags
   - Add support for file systems with a blocksize greater than the
     pagesize
   - Improve performance by enabling the caching the fact that an inode
     does not have a Posix ACL

  Various Bug Fixes:
   - Fix false positive complaints from smatch
   - Fix error code which is returned by ext4fs_dirhash() when Siphash
     is used without the encryption key
   - Fix races when writing to inline data files which could trigger a
     BUG
   - Fix potential NULL dereference when there is an corrupt file system
     with an extended attribute value stored in a inode
   - Fix false positive lockdep report when syzbot uses ext4 and ocfs2
     together
   - Fix false positive reported by DEPT by adjusting lock annotation
   - Avoid a potential BUG_ON in jbd2 when a file system is massively
     corrupted
   - Fix a WARN_ON when superblock is corrupted with a non-NULL
     terminated mount options field
   - Add check if the userspace passes in a non-NULL terminated mount
     options field to EXT4_IOC_SET_TUNE_SB_PARAM
   - Fix a potential journal checksum failure whena file system is
     copied while it is mounted read-only
   - Fix a potential potential orphan file tracking error which only
     showed on 32-bit systems
   - Fix assertion checks in mballoc (which have to be explicitly enbled
     by manually enabling AGGRESSIVE_CHECKS and recompiling)
   - Avoid complaining about overly large orphan files created by mke2fs
     with with file systems with a 64k block size"

* tag 'ext4_for_linus-6.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (58 commits)
  ext4: mark inodes without acls in __ext4_iget()
  ext4: enable block size larger than page size
  ext4: add checks for large folio incompatibilities when BS > PS
  ext4: support verifying data from large folios with fs-verity
  ext4: make data=journal support large block size
  ext4: support large block size in __ext4_block_zero_page_range()
  ext4: support large block size in mpage_prepare_extent_to_map()
  ext4: support large block size in mpage_map_and_submit_buffers()
  ext4: support large block size in ext4_block_write_begin()
  ext4: support large block size in ext4_mpage_readpages()
  ext4: rename 'page' references to 'folio' in multi-block allocator
  ext4: prepare buddy cache inode for BS > PS with large folios
  ext4: support large block size in ext4_mb_init_cache()
  ext4: support large block size in ext4_mb_get_buddy_page_lock()
  ext4: support large block size in ext4_mb_load_buddy_gfp()
  ext4: add EXT4_LBLK_TO_PG and EXT4_PG_TO_LBLK for block/page conversion
  ext4: add EXT4_LBLK_TO_B macro for logical block to bytes conversion
  ext4: support large block size in ext4_readdir()
  ext4: support large block size in ext4_calculate_overhead()
  ext4: introduce s_min_folio_order for future BS > PS support
  ...
2025-12-03 20:37:15 -08:00
..
9p vfs-6.19-rc1.fs_header 2025-12-01 14:18:01 -08:00
adfs vfs-6.17-rc1.mmap_prepare 2025-07-28 13:43:25 -07:00
affs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
afs Networking changes for 6.19. 2025-12-03 17:24:33 -08:00
autofs vfs-6.19-rc1.fd_prepare.fs 2025-12-01 17:32:07 -08:00
befs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
bfs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
btrfs for-6.19-tag 2025-12-03 20:03:46 -08:00
cachefiles vfs-6.19-rc1.directory.locking 2025-12-01 16:13:46 -08:00
ceph printk changes for 6.19 2025-12-03 12:42:36 -08:00
coda Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
configfs file->f_path constification 2025-10-03 16:32:36 -07:00
cramfs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
crypto vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
debugfs Add start_renaming_two_dentries() 2025-11-14 13:15:58 +01:00
devpts
dlm net: Convert proto callbacks from sockaddr to sockaddr_unsized 2025-11-04 19:10:33 -08:00
ecryptfs vfs-6.19-rc1.directory.locking 2025-12-01 16:13:46 -08:00
efivarfs power: always freeze efivarfs 2025-11-12 10:12:39 +01:00
efs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
erofs Changes since last update: 2025-12-03 20:14:44 -08:00
exfat vfs-6.18-rc7.fixes 2025-11-17 09:11:27 -08:00
exportfs
ext2 Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
ext4 New features and improvements for the ext4 file system 2025-12-03 20:37:15 -08:00
f2fs vfs-6.19-rc1.fs_header 2025-12-01 14:18:01 -08:00
fat vfs-6.19-rc1.fs_header 2025-12-01 14:18:01 -08:00
freevxfs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
fuse for-6.19/io_uring-20251201 2025-12-03 18:58:57 -08:00
gfs2 gfs2 changes 2025-12-03 20:28:50 -08:00
hfs hfs/hfsplus updates for v6.19 2025-12-03 20:08:32 -08:00
hfsplus hfs/hfsplus updates for v6.19 2025-12-03 20:08:32 -08:00
hostfs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
hpfs vfs-6.19-rc1.fs_header 2025-12-01 14:18:01 -08:00
hugetlbfs hugetlbfs: move lock assertions after early returns in huge_pmd_unshare() 2025-10-21 15:46:17 -07:00
iomap vfs-6.19-rc1.folio 2025-12-01 10:26:38 -08:00
isofs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
jbd2 jbd2: fix the inconsistency between checksum and data in memory for journal sb 2025-11-26 17:05:47 -05:00
jffs2 Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
jfs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
kernfs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
lockd tools: ynl-gen: add regeneration comment 2025-11-25 19:20:42 -08:00
minix vfs-6.19-rc1.minix 2025-12-01 15:22:40 -08:00
netfs vfs-6.19-rc1.folio 2025-12-01 10:26:38 -08:00
nfs vfs-6.19-rc1.directory.delegations 2025-12-01 15:34:41 -08:00
nfs_common NFS/localio: nfs_uuid_put() fix the wake up after unlinking the file 2025-08-05 16:45:40 -07:00
nfsd Networking changes for 6.19. 2025-12-03 17:24:33 -08:00
nilfs2 vfs-6.19-rc1.fs_header 2025-12-01 14:18:01 -08:00
nls
notify vfs-6.19-rc1.fd_prepare.fs 2025-12-01 17:32:07 -08:00
ntfs3 vfs-6.19-rc1.fs_header 2025-12-01 14:18:01 -08:00
ocfs2 Networking changes for 6.19. 2025-12-03 17:24:33 -08:00
omfs vfs-6.19-rc1.fs_header 2025-12-01 14:18:01 -08:00
openpromfs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
orangefs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
overlayfs vfs-6.19-rc1.ovl 2025-12-01 16:31:21 -08:00
proc Locking updates for v6.19: 2025-12-01 19:50:58 -08:00
pstore pstore update for v6.18-rc1 2025-09-29 18:08:34 -07:00
qnx4 Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
qnx6 Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
quota Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
ramfs fs: rename generic_delete_inode() and generic_drop_inode() 2025-09-15 16:09:42 +02:00
resctrl - Add support for AMD's Smart Data Cache Injection feature which allows 2025-12-02 11:55:58 -08:00
romfs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
smb Forty four smb client and server changesets 2025-12-03 20:23:41 -08:00
squashfs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
sysfs sysfs: check visibility before changing group attribute ownership 2025-10-17 09:48:34 +02:00
tests
tracefs Massage rpc_pipefs to use saner primitives and clean up the 2025-07-28 09:56:09 -07:00
ubifs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
udf Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
ufs Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
unicode
vboxsf simplify vboxsf_dir_atomic_open() 2025-09-16 23:59:38 -04:00
verity Optimize fsverity with 2-way interleaved hashing 2025-09-29 15:55:20 -07:00
xfs xfs: new code for v6.19 2025-12-03 20:19:38 -08:00
zonefs vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
Kconfig Summary of significant series in this pull request: 2025-10-02 18:18:33 -07:00
Kconfig.binfmt binfmt_elf: preserve original ELF e_flags for core dumps 2025-09-03 20:49:32 -07:00
Makefile fs: rename fs_types.h to fs_dirent.h 2025-11-05 09:51:30 +01:00
aio.c aio: use credential guards 2025-11-04 12:36:33 +01:00
anon_inodes.c anon_inodes: convert to FD_ADD() 2025-11-28 12:42:31 +01:00
attr.c filelock: add struct delegated_inode 2025-11-12 09:38:34 +01:00
backing-file.c kernel-6.19-rc1.cred 2025-12-01 13:45:41 -08:00
bad_inode.c
binfmt_elf.c rseq: Provide and use rseq_set_ids() 2025-11-04 08:33:33 +01:00
binfmt_elf_fdpic.c execve updates for v6.17 2025-07-28 17:11:40 -07:00
binfmt_flat.c
binfmt_misc.c kernel-6.19-rc1.cred 2025-12-01 13:45:41 -08:00
binfmt_script.c
bpf_fs_kfuncs.c bpf...d_path(): constify path argument 2025-09-15 21:17:08 -04:00
buffer.c vfs-6.19-rc1.folio 2025-12-01 10:26:38 -08:00
char_dev.c
compat_binfmt_elf.c
coredump.c Networking changes for 6.19. 2025-12-03 17:24:33 -08:00
d_path.c
dax.c vfs-6.19-rc1.iomap 2025-12-01 08:14:00 -08:00
dcache.c vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
direct-io.c Summary of significant series in this pull request: 2025-07-31 14:57:54 -07:00
drop_caches.c Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
eventfd.c eventfd: convert do_eventfd() to FD_PREPARE() 2025-11-28 12:42:31 +01:00
eventpoll.c eventpoll: convert do_epoll_create() to FD_PREPARE() 2025-11-28 12:42:32 +01:00
exec.c A large overhaul of the restartable sequences and CID management: 2025-12-02 08:48:53 -08:00
fcntl.c vfs: expose delegation support to userland 2025-11-12 09:38:37 +01:00
fhandle.c fhandle: convert do_handle_open() to FD_ADD() 2025-11-28 12:42:31 +01:00
file.c vfs-6.19-rc1.fd_prepare.fs 2025-12-01 17:32:07 -08:00
file_attr.c fs: remove spurious exports in fs/file_attr.c 2025-11-19 12:17:31 +01:00
file_table.c fs: update comment in init_file() 2025-10-07 12:48:33 +02:00
filesystems.c
fs-writeback.c vfs-6.19-rc1.writeback 2025-12-01 09:20:51 -08:00
fs_context.c change the calling conventions for vfs_parse_fs_string() 2025-09-04 15:20:51 -04:00
fs_dirent.c fs: rename fs_types.h to fs_dirent.h 2025-11-05 09:51:30 +01:00
fs_parser.c
fs_pin.c
fs_struct.c fs: inline current_umask() and move it to fs_struct.h 2025-11-05 22:51:23 +01:00
fsopen.c fscontext: do not consume log entries when returning -EMSGSIZE 2025-08-11 14:52:41 +02:00
init.c vfs: make vfs_symlink break delegations on parent dir 2025-11-12 09:38:36 +01:00
inode.c vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
internal.h VFS: introduce start_dirop() and end_dirop() 2025-11-14 13:15:56 +01:00
ioctl.c fs: remove vfs_ioctl export 2025-09-01 13:08:01 +02:00
kernel_read_file.c
libfs.c vfs-6.19-rc1.directory.locking 2025-12-01 16:13:46 -08:00
locks.c filelock: __fcntl_getlease: fix kernel-doc warnings 2025-11-28 10:30:41 +01:00
mbcache.c
mnt_idmapping.c
mount.h fs: use boolean to indicate anonymous mount namespace 2025-11-11 10:01:31 +01:00
mpage.c mpage: convert do_mpage_readpage() to return void type 2025-09-21 14:22:16 -07:00
namei.c vfs-6.19-rc1.directory.locking 2025-12-01 16:13:46 -08:00
namespace.c vfs-6.19-rc1.fd_prepare.fs 2025-12-01 17:32:07 -08:00
nsfs.c vfs-6.19-rc1.fd_prepare.fs 2025-12-01 17:32:07 -08:00
open.c vfs-6.19-rc1.fd_prepare.fs 2025-12-01 17:32:07 -08:00
pidfs.c vfs-6.19-rc1.coredump 2025-12-01 10:17:39 -08:00
pipe.c Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
pnode.c umount_tree(): take all victims out of propagation graph at once 2025-09-15 21:26:44 -04:00
pnode.h umount_tree(): take all victims out of propagation graph at once 2025-09-15 21:26:44 -04:00
posix_acl.c filelock: add struct delegated_inode 2025-11-12 09:38:34 +01:00
proc_namespace.c
read_write.c copy_file_range: limit size if in compat mode 2025-08-15 16:11:47 +02:00
readdir.c
remap_range.c
select.c select: Convert to scoped user access 2025-11-04 08:28:34 +01:00
seq_file.c
signalfd.c signalfd: convert do_signalfd4() to FD_ADD() 2025-11-28 12:42:32 +01:00
splice.c fs/splice.c: trivial fix: pipes -> pipe's 2025-11-25 10:11:16 +01:00
stack.c
stat.c constify path argument of vfs_statx_path() 2025-09-15 21:17:07 -04:00
statfs.c
super.c vfs-6.19-rc1.writeback 2025-12-01 09:20:51 -08:00
sync.c vfs-6.19-rc1.writeback 2025-12-01 09:20:51 -08:00
sysctls.c
timerfd.c timerfd: convert timerfd_create() to FD_ADD() 2025-11-28 12:42:32 +01:00
userfaultfd.c userfaultfd: convert new_userfaultfd() to FD_PREPARE() 2025-11-28 12:42:33 +01:00
utimes.c vfs-6.19-rc1.directory.delegations 2025-12-01 15:34:41 -08:00
xattr.c filelock: add struct delegated_inode 2025-11-12 09:38:34 +01:00