linux-nilfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFC v2 for-6.8/block 00/18] block: don't access bd_inode directly from other modules
@ 2023-12-11 14:05 Yu Kuai
  2023-12-11 14:05 ` [PATCH RFC v2 for-6.8/block 01/18] block: add some bdev apis Yu Kuai
                   ` (17 more replies)
  0 siblings, 18 replies; 35+ messages in thread
From: Yu Kuai @ 2023-12-11 14:05 UTC (permalink / raw)
  To: axboe, roger.pau, colyli, kent.overstreet, joern, miquel.raynal,
	richard, vigneshr, sth, hoeppner, hca, gor, agordeev, jejb,
	martin.petersen, clm, josef, dsterba, viro, brauner, nico, xiang,
	chao, tytso, adilger.kernel, agruenba, jack, konishi.ryusuke,
	willy, akpm, p.raghav, hare
  Cc: linux-block, linux-kernel, xen-devel, linux-bcache, linux-mtd,
	linux-s390, linux-scsi, linux-bcachefs, linux-btrfs,
	linux-fsdevel, linux-erofs, linux-ext4, gfs2, linux-nilfs,
	yukuai3, yukuai1, yi.zhang, yangerkun

From: Yu Kuai <yukuai3@huawei.com>

Changes in v2:
 - remove some bdev apis that is not necessary;
 - pass in offset for bdev_read_folio() and __bdev_get_folio();
 - remove bdev_gfp_constraint() and add a new helper in fs/buffer.c to
 prevent access bd_indoe() directly from mapping_gfp_constraint() in
 ext4.(patch 15, 16);
 - remove block_device_ejected() from ext4.

Noted that following is not changed yet since v1:
- Chirstoph suggested to remove invalidate_inode_pages2() from
xen_update_blkif_status(), however, this sync_bdev() + invalidate_bdev()
is used from many modules, and I'll leave this for later if we want to
kill all of them.
- Matthew suggested that pass in valid file_ra_state for cramfs,
however, I don't see an easy way to do this for cramfs_lookup() and
cramfs_read_super().

Patch 1 add some bdev apis, then follow up patches will use these apis
to avoid access bd_inode directly, and hopefully the field bd_inode can
be removed eventually(after figure out a way for fs/buffer.c).

Yu Kuai (18):
  block: add some bdev apis
  xen/blkback: use bdev api in xen_update_blkif_status()
  bcache: use bdev api in read_super()
  mtd: block2mtd: use bdev apis
  s390/dasd: use bdev api in dasd_format()
  scsicam: use bdev api in scsi_bios_ptable()
  bcachefs: remove dead function bdev_sectors()
  bio: export bio_add_folio_nofail()
  btrfs: use bdev apis
  cramfs: use bdev apis in cramfs_blkdev_read()
  erofs: use bdev api
  gfs2: use bdev api
  nilfs2: use bdev api in nilfs_attach_log_writer()
  jbd2: use bdev apis
  buffer: add a new helper to read sb block
  ext4: use new helper to read sb block
  ext4: remove block_device_ejected()
  ext4: use bdev apis

 block/bdev.c                       | 70 ++++++++++++++++++++++++++
 block/bio.c                        |  1 +
 block/blk.h                        |  2 -
 drivers/block/xen-blkback/xenbus.c |  3 +-
 drivers/md/bcache/super.c          | 11 ++--
 drivers/mtd/devices/block2mtd.c    | 81 +++++++++++++-----------------
 drivers/s390/block/dasd_ioctl.c    |  5 +-
 drivers/scsi/scsicam.c             |  4 +-
 fs/bcachefs/util.h                 |  5 --
 fs/btrfs/disk-io.c                 | 71 ++++++++++++--------------
 fs/btrfs/volumes.c                 | 17 +++----
 fs/btrfs/zoned.c                   | 15 +++---
 fs/buffer.c                        | 68 +++++++++++++++++--------
 fs/cramfs/inode.c                  | 36 +++++--------
 fs/erofs/data.c                    | 18 ++++---
 fs/erofs/internal.h                |  2 +
 fs/ext4/dir.c                      |  6 +--
 fs/ext4/ext4.h                     | 13 -----
 fs/ext4/ext4_jbd2.c                |  6 +--
 fs/ext4/inode.c                    |  8 +--
 fs/ext4/super.c                    | 66 ++++--------------------
 fs/ext4/symlink.c                  |  2 +-
 fs/gfs2/glock.c                    |  2 +-
 fs/gfs2/ops_fstype.c               |  2 +-
 fs/jbd2/journal.c                  |  3 +-
 fs/jbd2/recovery.c                 |  6 +--
 fs/nilfs2/segment.c                |  2 +-
 include/linux/blkdev.h             | 17 +++++++
 include/linux/buffer_head.h        | 18 ++++++-
 29 files changed, 301 insertions(+), 259 deletions(-)

-- 
2.39.2


^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2023-12-13  1:10 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-11 14:05 [PATCH RFC v2 for-6.8/block 00/18] block: don't access bd_inode directly from other modules Yu Kuai
2023-12-11 14:05 ` [PATCH RFC v2 for-6.8/block 01/18] block: add some bdev apis Yu Kuai
2023-12-11 16:52   ` Jan Kara
2023-12-12  1:25     ` Yu Kuai
2023-12-12 13:14     ` Christoph Hellwig
2023-12-13  1:10       ` Yu Kuai
2023-12-12 13:16   ` Christoph Hellwig
2023-12-13  1:09     ` Yu Kuai
2023-12-11 14:05 ` [PATCH RFC v2 for-6.8/block 02/18] xen/blkback: use bdev api in xen_update_blkif_status() Yu Kuai
2023-12-11 14:05 ` [PATCH RFC v2 for-6.8/block 03/18] bcache: use bdev api in read_super() Yu Kuai
2023-12-11 14:05 ` [PATCH RFC v2 for-6.8/block 04/18] mtd: block2mtd: use bdev apis Yu Kuai
2023-12-11 14:05 ` [PATCH RFC v2 for-6.8/block 05/18] s390/dasd: use bdev api in dasd_format() Yu Kuai
2023-12-11 14:05 ` [PATCH RFC v2 for-6.8/block 06/18] scsicam: use bdev api in scsi_bios_ptable() Yu Kuai
2023-12-11 14:05 ` [PATCH RFC v2 for-6.8/block 07/18] bcachefs: remove dead function bdev_sectors() Yu Kuai
2023-12-11 14:05 ` [PATCH RFC v2 for-6.8/block 08/18] bio: export bio_add_folio_nofail() Yu Kuai
2023-12-11 14:05 ` [PATCH RFC v2 for-6.8/block 09/18] btrfs: use bdev apis Yu Kuai
2023-12-11 14:05 ` [PATCH RFC v2 for-6.8/block 10/18] cramfs: use bdev apis in cramfs_blkdev_read() Yu Kuai
2023-12-11 14:07 ` [PATCH RFC v2 for-6.8/block 11/18] erofs: use bdev api Yu Kuai
2023-12-12  6:35   ` Gao Xiang
2023-12-12  6:49     ` Yu Kuai
2023-12-11 14:07 ` [PATCH RFC v2 for-6.8/block 12/18] gfs2: " Yu Kuai
2023-12-11 14:07 ` [PATCH RFC v2 for-6.8/block 13/18] nilfs2: use bdev api in nilfs_attach_log_writer() Yu Kuai
2023-12-11 14:07 ` [PATCH RFC v2 for-6.8/block 14/18] jbd2: use bdev apis Yu Kuai
2023-12-11 14:07 ` [PATCH RFC v2 for-6.8/block 15/18] buffer: add a new helper to read sb block Yu Kuai
2023-12-11 17:27   ` Jan Kara
2023-12-12  1:32     ` Yu Kuai
2023-12-12 13:25   ` Christoph Hellwig
2023-12-12 14:11     ` Jan Kara
2023-12-11 14:08 ` [PATCH RFC v2 for-6.8/block 16/18] ext4: use " Yu Kuai
2023-12-11 17:16   ` Jan Kara
2023-12-11 14:08 ` [PATCH RFC v2 for-6.8/block 17/18] ext4: remove block_device_ejected() Yu Kuai
2023-12-11 17:04   ` Jan Kara
2023-12-12 13:22   ` Christoph Hellwig
2023-12-11 14:08 ` [PATCH RFC v2 for-6.8/block 18/18] ext4: use bdev apis Yu Kuai
2023-12-11 17:02   ` Jan Kara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).