On Thu 26-11-20 14:04:12, Christoph Hellwig wrote: > Move the make_it_fail flag to struct block_device an turn it into a bool > in preparation of killing struct hd_struct. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> Looks good. You can add: Reviewed-by: Jan Kara <jack@xxxxxxx> Honza > --- > block/blk-core.c | 3 ++- > block/genhd.c | 4 ++-- > include/linux/blk_types.h | 3 +++ > include/linux/genhd.h | 3 --- > 4 files changed, 7 insertions(+), 6 deletions(-) > > diff --git a/block/blk-core.c b/block/blk-core.c > index 9a3793d5ce38d4..9121390be97a76 100644 > --- a/block/blk-core.c > +++ b/block/blk-core.c > @@ -668,7 +668,8 @@ __setup("fail_make_request=", setup_fail_make_request); > > static bool should_fail_request(struct hd_struct *part, unsigned int bytes) > { > - return part->make_it_fail && should_fail(&fail_make_request, bytes); > + return part->bdev->bd_make_it_fail && > + should_fail(&fail_make_request, bytes); > } > > static int __init fail_make_request_debugfs(void) > diff --git a/block/genhd.c b/block/genhd.c > index a964e7532fedd5..0371558ccde14c 100644 > --- a/block/genhd.c > +++ b/block/genhd.c > @@ -1284,7 +1284,7 @@ ssize_t part_fail_show(struct device *dev, > { > struct hd_struct *p = dev_to_part(dev); > > - return sprintf(buf, "%d\n", p->make_it_fail); > + return sprintf(buf, "%d\n", p->bdev->bd_make_it_fail); > } > > ssize_t part_fail_store(struct device *dev, > @@ -1295,7 +1295,7 @@ ssize_t part_fail_store(struct device *dev, > int i; > > if (count > 0 && sscanf(buf, "%d", &i) > 0) > - p->make_it_fail = (i == 0) ? 0 : 1; > + p->pdev->bd_make_it_fail = (i == 0) ? 0 : 1; > > return count; > } > diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h > index c0591e52d7d7ce..b237f1e4081405 100644 > --- a/include/linux/blk_types.h > +++ b/include/linux/blk_types.h > @@ -52,6 +52,9 @@ struct block_device { > struct super_block *bd_fsfreeze_sb; > > struct partition_meta_info *bd_meta_info; > +#ifdef CONFIG_FAIL_MAKE_REQUEST > + bool bd_make_it_fail; > +#endif > } __randomize_layout; > > #define bdev_whole(_bdev) \ > diff --git a/include/linux/genhd.h b/include/linux/genhd.h > index b4a5c05593b99c..349cf6403ccddc 100644 > --- a/include/linux/genhd.h > +++ b/include/linux/genhd.h > @@ -56,9 +56,6 @@ struct hd_struct { > struct block_device *bdev; > struct device __dev; > int policy, partno; > -#ifdef CONFIG_FAIL_MAKE_REQUEST > - int make_it_fail; > -#endif > struct rcu_work rcu_work; > }; > > -- > 2.29.2 > -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR