[PATCH block/for-next v2 00/16] block: remove field 'bd_inode' from block_device

Yu Kuai posted 16 patches 5 months, 1 week ago
Only 9 patches received!
There is a newer version of this series
block/bdev.c                       | 44 +++++++++++++++---------------
block/blk-zoned.c                  |  4 +--
block/fops.c                       |  4 +--
block/genhd.c                      |  8 +++---
block/ioctl.c                      |  8 +++---
block/partitions/core.c            |  9 +++---
drivers/block/xen-blkback/xenbus.c |  2 +-
drivers/md/bcache/super.c          |  2 +-
drivers/mtd/devices/block2mtd.c    | 12 ++++----
drivers/s390/block/dasd_ioctl.c    |  2 +-
drivers/scsi/scsicam.c             |  2 +-
fs/bcachefs/util.h                 |  2 +-
fs/btrfs/disk-io.c                 |  6 ++--
fs/btrfs/volumes.c                 |  4 +--
fs/btrfs/zoned.c                   |  2 +-
fs/buffer.c                        |  8 +++---
fs/cramfs/inode.c                  |  2 +-
fs/erofs/data.c                    |  2 +-
fs/ext4/dir.c                      |  2 +-
fs/ext4/ext4_jbd2.c                |  2 +-
fs/ext4/super.c                    |  8 +++---
fs/gfs2/glock.c                    |  2 +-
fs/gfs2/ops_fstype.c               |  2 +-
fs/jbd2/journal.c                  |  3 +-
fs/jbd2/recovery.c                 |  2 +-
fs/nilfs2/segment.c                |  2 +-
include/linux/blk_types.h          | 15 ++++++++--
include/linux/blkdev.h             |  4 +--
include/linux/buffer_head.h        |  4 +--
29 files changed, 91 insertions(+), 78 deletions(-)
[PATCH block/for-next v2 00/16] block: remove field 'bd_inode' from block_device
Posted by Yu Kuai 5 months, 1 week ago
From: Yu Kuai <yukuai3@huawei.com>

Changes in v2:
 - split different portions into different patches, as greg k-h
 suggested.
 - use container_of() instead of "bdev + 1" to get the address of
 bd_inode in the new helper, as grep k-h suggested.

Yu Kuai (16):
  block: add a new helper to get inode from block_device
  xen/blkback: use new helper to get inode from block_device
  bcache: use new helper to get inode from block_device
  mtd: block2mtd: use new helper to get inode from block_device
  s390/dasd: use new helper to get inode from block_device
  scsicam: use new helper to get inode from block_device
  bcachefs: use new helper to get inode from block_device
  btrfs: use new helper to get inode from block_device
  cramfs: use new helper to get inode from block_device
  erofs: use new helper to get inode from block_device
  ext4: use new helper to get inode from block_device
  gfs2: use new helper to get inode from block_device
  jbd2: use new helper to get inode from block_device
  nilfs2: use new helper to get inode from block_device
  buffer: use new helper to get inode from block_device
  block: use new helper to get inode from block_device

 block/bdev.c                       | 44 +++++++++++++++---------------
 block/blk-zoned.c                  |  4 +--
 block/fops.c                       |  4 +--
 block/genhd.c                      |  8 +++---
 block/ioctl.c                      |  8 +++---
 block/partitions/core.c            |  9 +++---
 drivers/block/xen-blkback/xenbus.c |  2 +-
 drivers/md/bcache/super.c          |  2 +-
 drivers/mtd/devices/block2mtd.c    | 12 ++++----
 drivers/s390/block/dasd_ioctl.c    |  2 +-
 drivers/scsi/scsicam.c             |  2 +-
 fs/bcachefs/util.h                 |  2 +-
 fs/btrfs/disk-io.c                 |  6 ++--
 fs/btrfs/volumes.c                 |  4 +--
 fs/btrfs/zoned.c                   |  2 +-
 fs/buffer.c                        |  8 +++---
 fs/cramfs/inode.c                  |  2 +-
 fs/erofs/data.c                    |  2 +-
 fs/ext4/dir.c                      |  2 +-
 fs/ext4/ext4_jbd2.c                |  2 +-
 fs/ext4/super.c                    |  8 +++---
 fs/gfs2/glock.c                    |  2 +-
 fs/gfs2/ops_fstype.c               |  2 +-
 fs/jbd2/journal.c                  |  3 +-
 fs/jbd2/recovery.c                 |  2 +-
 fs/nilfs2/segment.c                |  2 +-
 include/linux/blk_types.h          | 15 ++++++++--
 include/linux/blkdev.h             |  4 +--
 include/linux/buffer_head.h        |  4 +--
 29 files changed, 91 insertions(+), 78 deletions(-)

-- 
2.39.2
Re: [PATCH block/for-next v2 00/16] block: remove field 'bd_inode' from block_device
Posted by Al Viro 5 months, 1 week ago
On Mon, Nov 27, 2023 at 02:21:00PM +0800, Yu Kuai wrote:
> From: Yu Kuai <yukuai3@huawei.com>
> 
> Changes in v2:
>  - split different portions into different patches, as greg k-h
>  suggested.
>  - use container_of() instead of "bdev + 1" to get the address of
>  bd_inode in the new helper, as grep k-h suggested.

You might have misinterpreted gregkh - in your place I would rather
do a one-patch never-rebased branch (introduction of bdev_inode() in
form that returns bdev->bd_inode), with followup in your branch that
switches it to your variant.  Then conversions of ->bd_inode users,
to be either picked by individual filesystems of staying in your branch.
Any filesystem tree could merge from your never-rebased branch, after
which they could switch their ->bd_inode uses to the new helper, without
introducing any bisection hazards or interdependencies.
After the next -rc1, once all ->bd_inode users are gone from the tree -
remove the field.