linux/fs/afs
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 afs: Use rxgk RESPONSE to pass token for callback channel 2025-04-14 17:36:42 -07:00
Makefile rxrpc: Allow CHALLENGEs to the passed to the app for a RESPONSE 2025-04-14 17:36:41 -07:00
addr_list.c afs: Use the per-peer app data provided by rxrpc 2025-03-10 09:47:15 +00:00
addr_prefs.c afs: Fix check for NULL terminator 2025-07-23 13:54:05 +02:00
afs.h afs: Fix the maximum cell name length 2025-01-07 15:55:25 +01:00
afs_cm.h
afs_fs.h
afs_vl.h afs: Fix the maximum cell name length 2025-01-07 15:55:25 +01:00
callback.c fs: replace use of system_unbound_wq with system_dfl_wq 2025-09-19 16:15:07 +02:00
cell.c afs: Fix delayed allocation of a cell's anonymous key 2025-11-28 11:30:10 +01:00
cm_security.c afs: Use rxgk RESPONSE to pass token for callback channel 2025-04-14 17:36:42 -07:00
cmservice.c afs: Use the per-peer app data provided by rxrpc 2025-03-10 09:47:15 +00:00
dir.c fs: rework I_NEW handling to operate without fences 2025-11-25 10:32:39 +01:00
dir_edit.c Simplifying ->d_name audits, easy part. 2025-10-03 11:14:02 -07:00
dir_search.c afs_dir_search: constify qstr argument 2025-09-15 21:08:33 -04:00
dir_silly.c afs: Add support for RENAME_NOREPLACE and RENAME_EXCHANGE 2025-09-25 09:19:07 +02:00
dynroot.c vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
file.c fs: convert most other generic_file_*mmap() users to .mmap_prepare() 2025-06-19 13:56:57 +02:00
flock.c afs: adapt to breakup of struct file_lock 2024-02-05 13:11:42 +01:00
fs_operation.c afs: Make {Y,}FS.FetchData an asynchronous operation 2024-12-20 22:34:08 +01:00
fs_probe.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
fsclient.c afs: Fix afs_server ref accounting 2025-03-10 09:47:15 +00:00
inode.c Manual conversion to use ->i_state accessors of all places not covered by coccinelle 2025-10-20 20:22:26 +02:00
internal.h afs: Fix delayed allocation of a cell's anonymous key 2025-11-28 11:30:10 +01:00
main.c fs: WQ_PERCPU added to alloc_workqueue users 2025-09-19 16:15:07 +02:00
misc.c afs: Add support for RENAME_NOREPLACE and RENAME_EXCHANGE 2025-09-25 09:19:07 +02:00
mntpt.c afs: Fix dynamic lookup to fail on cell lookup failure 2025-10-29 13:51:38 +01:00
proc.c afs: Fix dynamic lookup to fail on cell lookup failure 2025-10-29 13:51:38 +01:00
protocol_afs.h
protocol_uae.h
protocol_yfs.h afs: Add support for RENAME_NOREPLACE and RENAME_EXCHANGE 2025-09-25 09:19:07 +02:00
rotate.c afs: Add support for RENAME_NOREPLACE and RENAME_EXCHANGE 2025-09-25 09:19:07 +02:00
rxrpc.c afs: Use rxgk RESPONSE to pass token for callback channel 2025-04-14 17:36:42 -07:00
security.c afs: Fix uninit var in afs_alloc_anon_key() 2025-11-28 16:48:18 -08:00
server.c afs: Fix potential null pointer dereference in afs_put_server 2025-09-25 09:18:17 +02:00
server_list.c afs: Fix afs_server ref accounting 2025-03-10 09:47:15 +00:00
super.c afs: Fix dynamic lookup to fail on cell lookup failure 2025-10-29 13:51:38 +01:00
validation.c afs: Add more tracepoints to do with tracking validity 2024-12-20 22:34:06 +01:00
vl_alias.c afs: Fix dynamic lookup to fail on cell lookup failure 2025-10-29 13:51:38 +01:00
vl_list.c afs: Dispatch vlserver probes in priority order 2024-01-01 16:37:27 +00:00
vl_probe.c afs: Keep a record of the current fileserver endpoint state 2024-01-01 16:37:27 +00:00
vl_rotate.c afs: Simplify cell record handling 2025-03-10 09:47:15 +00:00
vlclient.c vfs-6.14-rc1.netfs 2025-01-20 09:29:11 -08:00
volume.c afs: Improve afs_volume tracing to display a debug ID 2025-03-10 09:47:15 +00:00
write.c fs: replace use of system_unbound_wq with system_dfl_wq 2025-09-19 16:15:07 +02:00
xattr.c afs: Add __counted_by for struct afs_acl and use struct_size() 2023-12-01 09:51:43 -08:00
xdr_fs.h afs: Fix directory format encoding struct 2024-12-20 22:34:04 +01:00
yfsclient.c afs: Add support for RENAME_NOREPLACE and RENAME_EXCHANGE 2025-09-25 09:19:07 +02:00