[PATCH 38/45] block: switch partition lookup to use struct block_device

Coly Li colyli at suse.de
Tue Nov 24 08:32:19 EST 2020


On 11/24/20 9:27 PM, Christoph Hellwig wrote:
> Use struct block_device to lookup partitions on a disk.  This removes
> all usage of struct hd_struct from the I/O path, and this allows removing
> the percpu refcount in struct hd_struct.
> 
> Signed-off-by: Christoph Hellwig <hch at lst.de>


For the bcache part, Acked-by: Coly Li <colyli at suse.de>

> ---
>  block/bio.c                        |  4 +-
>  block/blk-core.c                   | 66 ++++++++++++++----------------
>  block/blk-flush.c                  |  2 +-
>  block/blk-mq.c                     |  9 ++--
>  block/blk-mq.h                     |  7 ++--
>  block/blk.h                        |  4 +-
>  block/genhd.c                      | 56 +++++++++++++------------
>  block/partitions/core.c            |  7 +---
>  drivers/block/drbd/drbd_receiver.c |  2 +-
>  drivers/block/drbd/drbd_worker.c   |  2 +-
>  drivers/block/zram/zram_drv.c      |  2 +-
>  drivers/md/bcache/request.c        |  4 +-
>  drivers/md/dm.c                    |  4 +-
>  drivers/md/md.c                    |  4 +-
>  drivers/nvme/target/admin-cmd.c    | 20 ++++-----
>  fs/ext4/super.c                    | 18 +++-----
>  fs/ext4/sysfs.c                    | 10 +----
>  fs/f2fs/f2fs.h                     |  2 +-
>  fs/f2fs/super.c                    |  6 +--
>  include/linux/blkdev.h             |  8 ++--
>  include/linux/genhd.h              |  4 +-
>  include/linux/part_stat.h          | 17 ++++----
>  22 files changed, 120 insertions(+), 138 deletions(-)
[snipped]

> diff --git a/drivers/md/bcache/request.c b/drivers/md/bcache/request.c
> index afac8d07c1bd00..85b1f2a9b72d68 100644
> --- a/drivers/md/bcache/request.c
> +++ b/drivers/md/bcache/request.c
> @@ -475,7 +475,7 @@ struct search {
>  	unsigned int		read_dirty_data:1;
>  	unsigned int		cache_missed:1;
>  
> -	struct hd_struct	*part;
> +	struct block_device	*part;
>  	unsigned long		start_time;
>  
>  	struct btree_op		op;
> @@ -1073,7 +1073,7 @@ struct detached_dev_io_private {
>  	unsigned long		start_time;
>  	bio_end_io_t		*bi_end_io;
>  	void			*bi_private;
> -	struct hd_struct	*part;
> +	struct block_device	*part;
>  };
[snipped]




More information about the linux-mtd mailing list