Commit 396799eb authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Song Liu
Browse files

md: remove mddev->queue



Just use the request_queue from the gendisk pointer in the relatively
few places that sill need it.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed--by: default avatarSong Liu <song@kernel.org>
Tested-by: default avatarSong Liu <song@kernel.org>
Signed-off-by: default avatarSong Liu <song@kernel.org>
Link: https://lore.kernel.org/r/20240303140150.5435-11-hch@lst.de
parent 81a16e19
Loading
Loading
Loading
Loading
+12 −10
Original line number Diff line number Diff line
@@ -5770,10 +5770,10 @@ int mddev_stack_new_rdev(struct mddev *mddev, struct md_rdev *rdev)
	if (mddev_is_dm(mddev))
		return 0;

	lim = queue_limits_start_update(mddev->queue);
	lim = queue_limits_start_update(mddev->gendisk->queue);
	queue_limits_stack_bdev(&lim, rdev->bdev, rdev->data_offset,
				mddev->gendisk->disk_name);
	return queue_limits_commit_update(mddev->queue, &lim);
	return queue_limits_commit_update(mddev->gendisk->queue, &lim);
}
EXPORT_SYMBOL_GPL(mddev_stack_new_rdev);

@@ -5877,8 +5877,7 @@ struct mddev *md_alloc(dev_t dev, char *name)
	disk->fops = &md_fops;
	disk->private_data = mddev;

	mddev->queue = disk->queue;
	blk_queue_write_cache(mddev->queue, true, true);
	blk_queue_write_cache(disk->queue, true, true);
	disk->events |= DISK_EVENT_MEDIA_CHANGE;
	mddev->gendisk = disk;
	error = add_disk(disk);
@@ -6183,6 +6182,7 @@ int md_run(struct mddev *mddev)
	}

	if (!mddev_is_dm(mddev)) {
		struct request_queue *q = mddev->gendisk->queue;
		bool nonrot = true;

		rdev_for_each(rdev, mddev) {
@@ -6194,14 +6194,14 @@ int md_run(struct mddev *mddev)
		if (mddev->degraded)
			nonrot = false;
		if (nonrot)
			blk_queue_flag_set(QUEUE_FLAG_NONROT, mddev->queue);
			blk_queue_flag_set(QUEUE_FLAG_NONROT, q);
		else
			blk_queue_flag_clear(QUEUE_FLAG_NONROT, mddev->queue);
		blk_queue_flag_set(QUEUE_FLAG_IO_STAT, mddev->queue);
			blk_queue_flag_clear(QUEUE_FLAG_NONROT, q);
		blk_queue_flag_set(QUEUE_FLAG_IO_STAT, q);

		/* Set the NOWAIT flags if all underlying devices support it */
		if (nowait)
			blk_queue_flag_set(QUEUE_FLAG_NOWAIT, mddev->queue);
			blk_queue_flag_set(QUEUE_FLAG_NOWAIT, q);
	}
	if (pers->sync_request) {
		if (mddev->kobj.sd &&
@@ -6447,8 +6447,10 @@ static void mddev_detach(struct mddev *mddev)
		mddev->pers->quiesce(mddev, 0);
	}
	md_unregister_thread(mddev, &mddev->thread);

	/* the unplug fn references 'conf' */
	if (!mddev_is_dm(mddev))
		blk_sync_queue(mddev->queue); /* the unplug fn references 'conf'*/
		blk_sync_queue(mddev->gendisk->queue);
}

static void __md_stop(struct mddev *mddev)
@@ -7166,7 +7168,7 @@ static int hot_add_disk(struct mddev *mddev, dev_t dev)
	if (!bdev_nowait(rdev->bdev)) {
		pr_info("%s: Disabling nowait because %pg does not support nowait\n",
			mdname(mddev), rdev->bdev);
		blk_queue_flag_clear(QUEUE_FLAG_NOWAIT, mddev->queue);
		blk_queue_flag_clear(QUEUE_FLAG_NOWAIT, mddev->gendisk->queue);
	}
	/*
	 * Kick recovery, maybe this spare has to be added to the
+2 −3
Original line number Diff line number Diff line
@@ -480,7 +480,6 @@ struct mddev {
	struct timer_list		safemode_timer;
	struct percpu_ref		writes_pending;
	int				sync_checkers;	/* # of threads checking writes_pending */
	struct request_queue		*queue;	/* for plugging ... */

	struct bitmap			*bitmap; /* the bitmap for the device */
	struct {
@@ -869,7 +868,7 @@ static inline void mddev_check_write_zeroes(struct mddev *mddev, struct bio *bio
{
	if (bio_op(bio) == REQ_OP_WRITE_ZEROES &&
	    !bio->bi_bdev->bd_disk->queue->limits.max_write_zeroes_sectors)
		mddev->queue->limits.max_write_zeroes_sectors = 0;
		mddev->gendisk->queue->limits.max_write_zeroes_sectors = 0;
}

static inline int mddev_suspend_and_lock(struct mddev *mddev)
@@ -932,7 +931,7 @@ static inline void mddev_trace_remap(struct mddev *mddev, struct bio *bio,
#define mddev_add_trace_msg(mddev, fmt, args...)			\
do {									\
	if (!mddev_is_dm(mddev))					\
		blk_add_trace_msg((mddev)->queue, fmt, ##args);		\
		blk_add_trace_msg((mddev)->gendisk->queue, fmt, ##args); \
} while (0)

#endif /* _MD_MD_H */
+1 −1
Original line number Diff line number Diff line
@@ -389,7 +389,7 @@ static int raid0_set_limits(struct mddev *mddev)
	lim.io_min = mddev->chunk_sectors << 9;
	lim.io_opt = lim.io_min * mddev->raid_disks;
	mddev_stack_rdev_limits(mddev, &lim);
	return queue_limits_set(mddev->queue, &lim);
	return queue_limits_set(mddev->gendisk->queue, &lim);
}

static int raid0_run(struct mddev *mddev)
+1 −1
Original line number Diff line number Diff line
@@ -3201,7 +3201,7 @@ static int raid1_set_limits(struct mddev *mddev)
	blk_set_stacking_limits(&lim);
	lim.max_write_zeroes_sectors = 0;
	mddev_stack_rdev_limits(mddev, &lim);
	return queue_limits_set(mddev->queue, &lim);
	return queue_limits_set(mddev->gendisk->queue, &lim);
}

static void raid1_free(struct mddev *mddev, void *priv);
+1 −1
Original line number Diff line number Diff line
@@ -3986,7 +3986,7 @@ static int raid10_set_queue_limits(struct mddev *mddev)
	lim.io_min = mddev->chunk_sectors << 9;
	lim.io_opt = lim.io_min * raid10_nr_stripes(conf);
	mddev_stack_rdev_limits(mddev, &lim);
	return queue_limits_set(mddev->queue, &lim);
	return queue_limits_set(mddev->gendisk->queue, &lim);
}

static int raid10_run(struct mddev *mddev)
Loading