linux/block
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
..
partitions block: switch ->getgeo() to struct gendisk 2025-08-13 02:59:29 -04:00
Kconfig block: Remove obsolete configs BLK_MQ_{PCI,VIRTIO} 2025-05-14 05:43:56 -06:00
Kconfig.iosched
Makefile blk-mq: move the DMA mapping code to a separate file 2025-05-16 08:43:41 -06:00
badblocks.c badblocks: Fix a nonsense WARN_ON() which checks whether a u64 variable < 0 2025-03-10 07:41:58 -06:00
bdev.c vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
bfq-cgroup.c Revert "block, bfq: merge bfq_release_process_ref() into bfq_put_cooperator()" 2024-11-19 19:05:32 -07:00
bfq-iosched.c blk-mq: fix elevator depth_updated method 2025-09-05 13:52:52 -06:00
bfq-iosched.h lib/sbitmap: convert shallow_depth from one word to the whole sbitmap 2025-08-07 06:30:17 -06:00
bfq-wf2q.c
bio-integrity-auto.c block: rename tuple_size field in blk_integrity to metadata_size 2025-07-01 14:00:14 +02:00
bio-integrity.c blk-integrity: enable p2p source and destination 2025-09-09 10:33:27 -06:00
bio.c block: rename bio_iov_iter_get_pages_aligned to bio_iov_iter_get_pages 2025-10-07 08:05:44 -06:00
blk-cgroup-fc-appid.c
blk-cgroup-rwstat.c
blk-cgroup-rwstat.h blk-cgroup: rwstat: fix kernel-doc warnings in header file 2025-01-13 07:47:09 -07:00
blk-cgroup.c block: Remove elevator_lock usage from blkg_conf frozen operations 2025-10-15 08:00:19 -06:00
blk-cgroup.h block: initialize bio issue time in blk_mq_submit_bio() 2025-09-10 05:23:45 -06:00
blk-core.c for-6.18/block-20250929 2025-10-02 10:16:56 -07:00
blk-crypto-fallback.c blk-crypto: convert to use bio_submit_split_bioset() 2025-09-10 05:23:46 -06:00
blk-crypto-internal.h blk-crypto: add ioctls to create and prepare hardware-wrapped keys 2025-02-10 09:54:19 -07:00
blk-crypto-profile.c blk-crypto: export wrapped key functions 2025-05-06 19:08:08 +02:00
blk-crypto-sysfs.c blk-crypto: show supported key types in sysfs 2025-02-10 09:54:19 -07:00
blk-crypto.c blk-crypto: use BLK_STS_INVAL for alignment errors 2025-10-30 08:52:57 -06:00
blk-flush.c block: remove unused parameter 2025-03-12 08:25:28 -06:00
blk-ia-ranges.c block: get rid of request queue ->sysfs_dir_lock 2025-01-29 07:16:47 -07:00
blk-integrity.c for-6.18/block-20250929 2025-10-02 10:16:56 -07:00
blk-ioc.c copy_process: pass clone_flags as u64 across calltree 2025-09-01 15:31:34 +02:00
blk-iocost.c for-6.15/block-20250322 2025-03-26 18:08:55 -07:00
blk-iolatency.c blk-mq: add QUEUE_FLAG_BIO_ISSUE_TIME 2025-09-10 05:23:45 -06:00
blk-ioprio.c blk-cgroup: Simplify policy files registration 2025-03-11 09:22:55 -10:00
blk-ioprio.h blk-ioprio: remove per-disk structure 2024-07-28 16:47:51 -06:00
blk-lib.c block: use largest_zero_folio in __blkdev_issue_zero_pages() 2025-09-13 16:54:54 -07:00
blk-map.c block: rename bio_iov_iter_get_pages_aligned to bio_iov_iter_get_pages 2025-10-07 08:05:44 -06:00
blk-merge.c block: fix ordering of recursive split IO 2025-09-10 05:23:46 -06:00
blk-mq-cpumap.c blk-mq: add number of queue calc helper 2025-07-01 10:24:19 -06:00
blk-mq-debugfs.c blk-mq: add QUEUE_FLAG_BIO_ISSUE_TIME 2025-09-10 05:23:45 -06:00
blk-mq-debugfs.h block: Replace zone_wlock debugfs entry with zone_wplugs entry 2024-04-17 08:44:03 -06:00
blk-mq-dma.c blk-mq-dma: bring back p2p request flags 2025-09-09 10:33:35 -06:00
blk-mq-sched.c blk-mq: fix stale tag depth for shared sched tags in blk_mq_update_nr_requests() 2025-10-15 07:49:19 -06:00
blk-mq-sched.h blk-mq-sched: add new parameter nr_requests in blk_mq_alloc_sched_tags() 2025-09-10 05:25:56 -06:00
blk-mq-sysfs.c blk-mq: Move flush queue allocation into blk_mq_init_hctx() 2025-09-08 08:05:32 -06:00
blk-mq-tag.c blk-mq: fix stale tag depth for shared sched tags in blk_mq_update_nr_requests() 2025-10-15 07:49:19 -06:00
blk-mq.c blk-mq: fix stale tag depth for shared sched tags in blk_mq_update_nr_requests() 2025-10-15 07:49:19 -06:00
blk-mq.h blk-mq: fix stale tag depth for shared sched tags in blk_mq_update_nr_requests() 2025-10-15 07:49:19 -06:00
blk-pm.c block: force noio scope in blk_mq_freeze_queue 2025-01-31 07:20:08 -07:00
blk-pm.h
blk-rq-qos.c block: avoid cpu_hotplug_lock depedency on freeze_lock 2025-08-21 07:11:11 -06:00
blk-rq-qos.h block: validate QoS before calling __rq_qos_done_bio() 2025-08-26 10:34:08 -06:00
blk-settings.c block: require LBA dma_alignment when using PI 2025-10-22 10:02:54 -06:00
blk-stat.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
blk-stat.h treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
blk-sysfs.c blk-mq: fix potential deadlock while nr_requests grown 2025-09-10 05:25:56 -06:00
blk-throttle.c blk-throttle: fix throtl_data leak during disk release 2025-09-17 07:27:29 -06:00
blk-throttle.h blk-throttle: fix access race during throttle policy activation 2025-09-08 08:24:44 -06:00
blk-timeout.c
blk-wbt.c blk-wbt: Eliminate ambiguity in the comments of struct rq_wb 2025-08-11 10:21:38 -06:00
blk-wbt.h
blk-zoned.c blk-zoned: Fix a lockdep complaint about recursive locking 2025-08-26 08:27:24 -06:00
blk.h block: fix ordering of recursive split IO 2025-09-10 05:23:46 -06:00
bsg-lib.c block: remove unused parameter 'q' parameter in __blk_rq_map_sg() 2025-03-13 05:46:19 -06:00
bsg.c
disk-events.c
early-lookup.c wrapper for access to ->bd_partno 2024-05-02 17:48:09 -04:00
elevator.c blk-mq-sched: add new parameter nr_requests in blk_mq_alloc_sched_tags() 2025-09-10 05:25:56 -06:00
elevator.h blk-mq: fix elevator depth_updated method 2025-09-05 13:52:52 -06:00
fops.c iomap: add caller-provided callbacks for read and readahead 2025-11-05 12:57:23 +01:00
genhd.c block: fix kobject double initialization in add_disk 2025-08-11 08:00:49 -06:00
holder.c
ioctl.c for-6.18/block-20250929 2025-10-02 10:16:56 -07:00
ioprio.c block: remove test of incorrect io priority level 2025-05-08 09:04:12 -06:00
kyber-iosched.c blk-mq: fix elevator depth_updated method 2025-09-05 13:52:52 -06:00
mq-deadline.c block/mq-deadline: Remove the redundant rb_entry_rq in the deadline_from_pos(). 2025-09-15 13:00:05 -06:00
opal_proto.h
sed-opal.c block: sed-opal: add ioctl IOC_OPAL_SET_SID_PW 2024-10-22 08:16:40 -06:00
t10-pi.c block: rename tuple_size field in blk_integrity to metadata_size 2025-07-01 14:00:14 +02:00