linux/fs/jfs
Linus Torvalds 9368f0f941 vfs-6.19-rc1.inode
-----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRAhzRXHqcMeLMyaSiRxhvAZXjcogUCaSmOZAAKCRCRxhvAZXjc
 omMSAP9GLhavxyWQ24Q+49CNWWRQWDY1wTOiUK2BwtIvZ0YEcAD8D1dAiMckL5pC
 RwEAVA5p+y+qi+bZP0KXCBxQddoTIQM=
 =zo/J
 -----END PGP SIGNATURE-----

Merge tag 'vfs-6.19-rc1.inode' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull vfs inode updates from Christian Brauner:
 "Features:

   - Hide inode->i_state behind accessors. Open-coded accesses prevent
     asserting they are done correctly. One obvious aspect is locking,
     but significantly more can be checked. For example it can be
     detected when the code is clearing flags which are already missing,
     or is setting flags when it is illegal (e.g., I_FREEING when
     ->i_count > 0)

   - Provide accessors for ->i_state, converts all filesystems using
     coccinelle and manual conversions (btrfs, ceph, smb, f2fs, gfs2,
     overlayfs, nilfs2, xfs), and makes plain ->i_state access fail to
     compile

   - Rework I_NEW handling to operate without fences, simplifying the
     code after the accessor infrastructure is in place

  Cleanups:

   - Move wait_on_inode() from writeback.h to fs.h

   - Spell out fenced ->i_state accesses with explicit smp_wmb/smp_rmb
     for clarity

   - Cosmetic fixes to LRU handling

   - Push list presence check into inode_io_list_del()

   - Touch up predicts in __d_lookup_rcu()

   - ocfs2: retire ocfs2_drop_inode() and I_WILL_FREE usage

   - Assert on ->i_count in iput_final()

   - Assert ->i_lock held in __iget()

  Fixes:

   - Add missing fences to I_NEW handling"

* tag 'vfs-6.19-rc1.inode' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (22 commits)
  dcache: touch up predicts in __d_lookup_rcu()
  fs: push list presence check into inode_io_list_del()
  fs: cosmetic fixes to lru handling
  fs: rework I_NEW handling to operate without fences
  fs: make plain ->i_state access fail to compile
  xfs: use the new ->i_state accessors
  nilfs2: use the new ->i_state accessors
  overlayfs: use the new ->i_state accessors
  gfs2: use the new ->i_state accessors
  f2fs: use the new ->i_state accessors
  smb: use the new ->i_state accessors
  ceph: use the new ->i_state accessors
  btrfs: use the new ->i_state accessors
  Manual conversion to use ->i_state accessors of all places not covered by coccinelle
  Coccinelle-based conversion to use ->i_state accessors
  fs: provide accessors for ->i_state
  fs: spell out fenced ->i_state accesses with explicit smp_wmb/smp_rmb
  fs: move wait_on_inode() from writeback.h to fs.h
  fs: add missing fences to I_NEW handling
  ocfs2: retire ocfs2_drop_inode() and I_WILL_FREE usage
  ...
2025-12-01 09:02:34 -08:00
..
Kconfig 22 smb3/cifs client fixes and two related changes (for unicode mapping) 2023-08-30 21:01:40 -07:00
Makefile fs/jfs: Use common ucs2 upper case table 2023-08-30 08:55:52 -05:00
acl.c jfs: convert to ctime accessor functions 2023-07-24 10:30:01 +02:00
file.c Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
inode.c Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
ioctl.c tree-wide: s/struct fileattr/struct file_kattr/g 2025-07-04 16:14:39 +02:00
jfs_acl.h fs: port ->set_acl() to pass mnt_idmap 2023-01-19 09:24:27 +01:00
jfs_btree.h
jfs_debug.c
jfs_debug.h
jfs_dinode.h jfs: define xtree root and page independently 2023-10-13 10:39:25 -05:00
jfs_discard.c jfs: Fix null-ptr-deref in jfs_ioc_trim 2025-04-03 09:11:42 -05:00
jfs_discard.h
jfs_dmap.c jfs: fix metapage reference count leak in dbAllocCtl 2025-07-29 08:34:57 -05:00
jfs_dmap.h
jfs_dtree.c jfs: replace hardcoded magic number with DTPAGEMAXSLOT constant 2025-09-18 09:09:21 -05:00
jfs_dtree.h
jfs_extent.c jfs: add check read-only before txBeginAnon() call 2025-02-19 15:28:49 -06:00
jfs_extent.h jfs: remove unused declarations for jfs 2022-10-18 08:50:26 -05:00
jfs_filsys.h jfs: convert jfs to use the new mount api 2024-10-08 14:41:53 +02:00
jfs_imap.c jfs: Prevent copying of nlink with value 0 from disk inode 2025-02-20 09:56:40 -06:00
jfs_imap.h
jfs_incore.h jfs: Rename _inline to avoid conflict with clang's '-fms-extensions' 2025-10-29 16:22:21 -07:00
jfs_inode.c jfs: convert to new timestamp accessors 2023-10-18 14:08:23 +02:00
jfs_inode.h tree-wide: s/struct fileattr/struct file_kattr/g 2025-07-04 16:14:39 +02:00
jfs_lock.h
jfs_logmgr.c JFS: Remove redundant 0 value initialization 2025-09-18 09:08:11 -05:00
jfs_logmgr.h jfs: port block device access to file 2024-02-25 12:05:26 +01:00
jfs_metapage.c treewide: remove MIGRATEPAGE_SUCCESS 2025-09-13 16:54:50 -07:00
jfs_metapage.h jfs: Change metapage->page to metapage->folio 2024-05-27 20:37:06 -05:00
jfs_mount.c JFS: Remove unnecessary parentheses 2025-09-18 09:08:11 -05:00
jfs_superblock.h
jfs_txnmgr.c Coccinelle-based conversion to use ->i_state accessors 2025-10-20 20:22:26 +02:00
jfs_txnmgr.h
jfs_types.h
jfs_umount.c jfs: Fix a typo in function jfs_umount 2022-11-10 15:08:00 -06:00
jfs_unicode.c
jfs_unicode.h fs/jfs: Use common ucs2 upper case table 2023-08-30 08:55:52 -05:00
jfs_xattr.h jfs: move jfs_xattr_handlers to .rodata 2023-10-09 16:24:19 +02:00
jfs_xtree.c jfs: jfs_xtree: replace XT_GETPAGE macro with xt_getpage() 2025-07-14 17:08:14 -05:00
jfs_xtree.h jfs: define xtree root and page independently 2023-10-13 10:39:25 -05:00
namei.c Change inode_operations.mkdir to return struct dentry * 2025-02-27 20:00:17 +01:00
resize.c
super.c new helper: set_default_d_op() 2025-06-10 22:21:16 -04:00
symlink.c
xattr.c jfs: fix slab-out-of-bounds read in ea_get() 2025-02-19 16:20:14 -06:00