All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: "Justin Sanders" <justin@coraid.com>,
	"Denis Efremov" <efremov@linux.com>,
	"Josef Bacik" <josef@toxicpanda.com>,
	"Tim Waugh" <tim@cyberelk.net>,
	"Geoff Levand" <geoff@infradead.org>,
	"Ilya Dryomov" <idryomov@gmail.com>,
	"Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	"Jack Wang" <jinpu.wang@ionos.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Jason Wang" <jasowang@redhat.com>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
	"Roger Pau Monné" <roger.pau@citrix.com>,
	"Mike Snitzer" <snitzer@redhat.com>,
	"Maxim Levitsky" <maximlevitsky@gmail.com>,
	"Alex Dubov" <oakad@yahoo.com>,
	"Miquel Raynal" <miquel.raynal@bootlin.com>,
	"Richard Weinberger" <richard@nod.at>,
	"Vignesh Raghavendra" <vigneshr@ti.com>,
	"Heiko Carstens" <hca@linux.ibm.com>,
	"Vasily Gorbik" <gor@linux.ibm.com>,
	"Christian Borntraeger" <borntraeger@de.ibm.com>,
	dm-devel@redhat.com, linux-block@vger.kernel.org,
	nbd@other.debian.org, linuxppc-dev@lists.ozlabs.org,
	ceph-devel@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	xen-devel@lists.xenproject.org, linux-mmc@vger.kernel.org,
	linux-mtd@lists.infradead.org, linux-s390@vger.kernel.org
Subject: [PATCH 16/30] aoe: use blk_mq_alloc_disk and blk_cleanup_disk
Date: Wed,  2 Jun 2021 09:53:31 +0300	[thread overview]
Message-ID: <20210602065345.355274-17-hch@lst.de> (raw)
In-Reply-To: <20210602065345.355274-1-hch@lst.de>

Use blk_mq_alloc_disk and blk_cleanup_disk to simplify the gendisk and
request_queue allocation.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/block/aoe/aoeblk.c | 33 ++++++++++++---------------------
 drivers/block/aoe/aoedev.c |  3 +--
 2 files changed, 13 insertions(+), 23 deletions(-)

diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c
index c34e71b0c4a9..06b360f7123a 100644
--- a/drivers/block/aoe/aoeblk.c
+++ b/drivers/block/aoe/aoeblk.c
@@ -338,14 +338,13 @@ static const struct blk_mq_ops aoeblk_mq_ops = {
 	.queue_rq	= aoeblk_queue_rq,
 };
 
-/* alloc_disk and add_disk can sleep */
+/* blk_mq_alloc_disk and add_disk can sleep */
 void
 aoeblk_gdalloc(void *vp)
 {
 	struct aoedev *d = vp;
 	struct gendisk *gd;
 	mempool_t *mp;
-	struct request_queue *q;
 	struct blk_mq_tag_set *set;
 	ulong flags;
 	int late = 0;
@@ -362,19 +361,12 @@ aoeblk_gdalloc(void *vp)
 	if (late)
 		return;
 
-	gd = alloc_disk(AOE_PARTITIONS);
-	if (gd == NULL) {
-		pr_err("aoe: cannot allocate disk structure for %ld.%d\n",
-			d->aoemajor, d->aoeminor);
-		goto err;
-	}
-
 	mp = mempool_create(MIN_BUFS, mempool_alloc_slab, mempool_free_slab,
 		buf_pool_cache);
 	if (mp == NULL) {
 		printk(KERN_ERR "aoe: cannot allocate bufpool for %ld.%d\n",
 			d->aoemajor, d->aoeminor);
-		goto err_disk;
+		goto err;
 	}
 
 	set = &d->tag_set;
@@ -391,12 +383,11 @@ aoeblk_gdalloc(void *vp)
 		goto err_mempool;
 	}
 
-	q = blk_mq_init_queue(set);
-	if (IS_ERR(q)) {
+	gd = blk_mq_alloc_disk(set, d);
+	if (IS_ERR(gd)) {
 		pr_err("aoe: cannot allocate block queue for %ld.%d\n",
 			d->aoemajor, d->aoeminor);
-		blk_mq_free_tag_set(set);
-		goto err_mempool;
+		goto err_tagset;
 	}
 
 	spin_lock_irqsave(&d->lock, flags);
@@ -405,16 +396,16 @@ aoeblk_gdalloc(void *vp)
 	WARN_ON(d->flags & DEVFL_TKILL);
 	WARN_ON(d->gd);
 	WARN_ON(d->flags & DEVFL_UP);
-	blk_queue_max_hw_sectors(q, BLK_DEF_MAX_SECTORS);
-	blk_queue_io_opt(q, SZ_2M);
+	blk_queue_max_hw_sectors(gd->queue, BLK_DEF_MAX_SECTORS);
+	blk_queue_io_opt(gd->queue, SZ_2M);
 	d->bufpool = mp;
-	d->blkq = gd->queue = q;
-	q->queuedata = d;
+	d->blkq = gd->queue;
 	d->gd = gd;
 	if (aoe_maxsectors)
-		blk_queue_max_hw_sectors(q, aoe_maxsectors);
+		blk_queue_max_hw_sectors(gd->queue, aoe_maxsectors);
 	gd->major = AOE_MAJOR;
 	gd->first_minor = d->sysminor;
+	gd->minors = AOE_PARTITIONS;
 	gd->fops = &aoe_bdops;
 	gd->private_data = d;
 	set_capacity(gd, d->ssize);
@@ -435,10 +426,10 @@ aoeblk_gdalloc(void *vp)
 	spin_unlock_irqrestore(&d->lock, flags);
 	return;
 
+err_tagset:
+	blk_mq_free_tag_set(set);
 err_mempool:
 	mempool_destroy(mp);
-err_disk:
-	put_disk(gd);
 err:
 	spin_lock_irqsave(&d->lock, flags);
 	d->flags &= ~DEVFL_GD_NOW;
diff --git a/drivers/block/aoe/aoedev.c b/drivers/block/aoe/aoedev.c
index e2ea2356da06..c5753c6bfe80 100644
--- a/drivers/block/aoe/aoedev.c
+++ b/drivers/block/aoe/aoedev.c
@@ -277,9 +277,8 @@ freedev(struct aoedev *d)
 	if (d->gd) {
 		aoedisk_rm_debugfs(d);
 		del_gendisk(d->gd);
-		put_disk(d->gd);
+		blk_cleanup_disk(d->gd);
 		blk_mq_free_tag_set(&d->tag_set);
-		blk_cleanup_queue(d->blkq);
 	}
 	t = d->targets;
 	e = t + d->ntargets;
-- 
2.30.2


WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: "Justin Sanders" <justin@coraid.com>,
	"Vignesh Raghavendra" <vigneshr@ti.com>,
	"Mike Snitzer" <snitzer@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Jason Wang" <jasowang@redhat.com>,
	virtualization@lists.linux-foundation.org, dm-devel@redhat.com,
	"Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	"Miquel Raynal" <miquel.raynal@bootlin.com>,
	"Jack Wang" <jinpu.wang@ionos.com>,
	"Tim Waugh" <tim@cyberelk.net>,
	linux-s390@vger.kernel.org, "Alex Dubov" <oakad@yahoo.com>,
	"Richard Weinberger" <richard@nod.at>,
	"Christian Borntraeger" <borntraeger@de.ibm.com>,
	xen-devel@lists.xenproject.org,
	"Ilya Dryomov" <idryomov@gmail.com>,
	"Vasily Gorbik" <gor@linux.ibm.com>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
	"Heiko Carstens" <hca@linux.ibm.com>,
	"Josef Bacik" <josef@toxicpanda.com>,
	"Denis Efremov" <efremov@linux.com>,
	nbd@other.debian.org, linux-block@vger.kernel.org,
	ceph-devel@vger.kernel.org,
	"Maxim Levitsky" <maximlevitsky@gmail.com>,
	"Geoff Levand" <geoff@infradead.org>,
	linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	"Roger Pau Monné" <roger.pau@citrix.com>
Subject: [PATCH 16/30] aoe: use blk_mq_alloc_disk and blk_cleanup_disk
Date: Wed,  2 Jun 2021 09:53:31 +0300	[thread overview]
Message-ID: <20210602065345.355274-17-hch@lst.de> (raw)
In-Reply-To: <20210602065345.355274-1-hch@lst.de>

Use blk_mq_alloc_disk and blk_cleanup_disk to simplify the gendisk and
request_queue allocation.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/block/aoe/aoeblk.c | 33 ++++++++++++---------------------
 drivers/block/aoe/aoedev.c |  3 +--
 2 files changed, 13 insertions(+), 23 deletions(-)

diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c
index c34e71b0c4a9..06b360f7123a 100644
--- a/drivers/block/aoe/aoeblk.c
+++ b/drivers/block/aoe/aoeblk.c
@@ -338,14 +338,13 @@ static const struct blk_mq_ops aoeblk_mq_ops = {
 	.queue_rq	= aoeblk_queue_rq,
 };
 
-/* alloc_disk and add_disk can sleep */
+/* blk_mq_alloc_disk and add_disk can sleep */
 void
 aoeblk_gdalloc(void *vp)
 {
 	struct aoedev *d = vp;
 	struct gendisk *gd;
 	mempool_t *mp;
-	struct request_queue *q;
 	struct blk_mq_tag_set *set;
 	ulong flags;
 	int late = 0;
@@ -362,19 +361,12 @@ aoeblk_gdalloc(void *vp)
 	if (late)
 		return;
 
-	gd = alloc_disk(AOE_PARTITIONS);
-	if (gd == NULL) {
-		pr_err("aoe: cannot allocate disk structure for %ld.%d\n",
-			d->aoemajor, d->aoeminor);
-		goto err;
-	}
-
 	mp = mempool_create(MIN_BUFS, mempool_alloc_slab, mempool_free_slab,
 		buf_pool_cache);
 	if (mp == NULL) {
 		printk(KERN_ERR "aoe: cannot allocate bufpool for %ld.%d\n",
 			d->aoemajor, d->aoeminor);
-		goto err_disk;
+		goto err;
 	}
 
 	set = &d->tag_set;
@@ -391,12 +383,11 @@ aoeblk_gdalloc(void *vp)
 		goto err_mempool;
 	}
 
-	q = blk_mq_init_queue(set);
-	if (IS_ERR(q)) {
+	gd = blk_mq_alloc_disk(set, d);
+	if (IS_ERR(gd)) {
 		pr_err("aoe: cannot allocate block queue for %ld.%d\n",
 			d->aoemajor, d->aoeminor);
-		blk_mq_free_tag_set(set);
-		goto err_mempool;
+		goto err_tagset;
 	}
 
 	spin_lock_irqsave(&d->lock, flags);
@@ -405,16 +396,16 @@ aoeblk_gdalloc(void *vp)
 	WARN_ON(d->flags & DEVFL_TKILL);
 	WARN_ON(d->gd);
 	WARN_ON(d->flags & DEVFL_UP);
-	blk_queue_max_hw_sectors(q, BLK_DEF_MAX_SECTORS);
-	blk_queue_io_opt(q, SZ_2M);
+	blk_queue_max_hw_sectors(gd->queue, BLK_DEF_MAX_SECTORS);
+	blk_queue_io_opt(gd->queue, SZ_2M);
 	d->bufpool = mp;
-	d->blkq = gd->queue = q;
-	q->queuedata = d;
+	d->blkq = gd->queue;
 	d->gd = gd;
 	if (aoe_maxsectors)
-		blk_queue_max_hw_sectors(q, aoe_maxsectors);
+		blk_queue_max_hw_sectors(gd->queue, aoe_maxsectors);
 	gd->major = AOE_MAJOR;
 	gd->first_minor = d->sysminor;
+	gd->minors = AOE_PARTITIONS;
 	gd->fops = &aoe_bdops;
 	gd->private_data = d;
 	set_capacity(gd, d->ssize);
@@ -435,10 +426,10 @@ aoeblk_gdalloc(void *vp)
 	spin_unlock_irqrestore(&d->lock, flags);
 	return;
 
+err_tagset:
+	blk_mq_free_tag_set(set);
 err_mempool:
 	mempool_destroy(mp);
-err_disk:
-	put_disk(gd);
 err:
 	spin_lock_irqsave(&d->lock, flags);
 	d->flags &= ~DEVFL_GD_NOW;
diff --git a/drivers/block/aoe/aoedev.c b/drivers/block/aoe/aoedev.c
index e2ea2356da06..c5753c6bfe80 100644
--- a/drivers/block/aoe/aoedev.c
+++ b/drivers/block/aoe/aoedev.c
@@ -277,9 +277,8 @@ freedev(struct aoedev *d)
 	if (d->gd) {
 		aoedisk_rm_debugfs(d);
 		del_gendisk(d->gd);
-		put_disk(d->gd);
+		blk_cleanup_disk(d->gd);
 		blk_mq_free_tag_set(&d->tag_set);
-		blk_cleanup_queue(d->blkq);
 	}
 	t = d->targets;
 	e = t + d->ntargets;
-- 
2.30.2


WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: "Justin Sanders" <justin@coraid.com>,
	"Denis Efremov" <efremov@linux.com>,
	"Josef Bacik" <josef@toxicpanda.com>,
	"Tim Waugh" <tim@cyberelk.net>,
	"Geoff Levand" <geoff@infradead.org>,
	"Ilya Dryomov" <idryomov@gmail.com>,
	"Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	"Jack Wang" <jinpu.wang@ionos.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Jason Wang" <jasowang@redhat.com>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
	"Roger Pau Monné" <roger.pau@citrix.com>,
	"Mike Snitzer" <snitzer@redhat.com>,
	"Maxim Levitsky" <maximlevitsky@gmail.com>,
	"Alex Dubov" <oakad@yahoo.com>,
	"Miquel Raynal" <miquel.raynal@bootlin.com>,
	"Richard Weinberger" <richard@nod.at>,
	"Vignesh Raghavendra" <vigneshr@ti.com>,
	"Heiko Carstens" <hca@linux.ibm.com>,
	"Vasily Gorbik" <gor@linux.ibm.com>,
	"Christian Borntraeger" <borntraeger@de.ibm.com>,
	dm-devel@redhat.com, linux-block@vger.kernel.org,
	nbd@other.debian.org, linuxppc-dev@lists.ozlabs.org,
	ceph-devel@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	xen-devel@lists.xenproject.org, linux-mmc@vger.kernel.org,
	linux-mtd@lists.infradead.org, linux-s390@vger.kernel.org
Subject: [PATCH 16/30] aoe: use blk_mq_alloc_disk and blk_cleanup_disk
Date: Wed,  2 Jun 2021 09:53:31 +0300	[thread overview]
Message-ID: <20210602065345.355274-17-hch@lst.de> (raw)
In-Reply-To: <20210602065345.355274-1-hch@lst.de>

Use blk_mq_alloc_disk and blk_cleanup_disk to simplify the gendisk and
request_queue allocation.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/block/aoe/aoeblk.c | 33 ++++++++++++---------------------
 drivers/block/aoe/aoedev.c |  3 +--
 2 files changed, 13 insertions(+), 23 deletions(-)

diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c
index c34e71b0c4a9..06b360f7123a 100644
--- a/drivers/block/aoe/aoeblk.c
+++ b/drivers/block/aoe/aoeblk.c
@@ -338,14 +338,13 @@ static const struct blk_mq_ops aoeblk_mq_ops = {
 	.queue_rq	= aoeblk_queue_rq,
 };
 
-/* alloc_disk and add_disk can sleep */
+/* blk_mq_alloc_disk and add_disk can sleep */
 void
 aoeblk_gdalloc(void *vp)
 {
 	struct aoedev *d = vp;
 	struct gendisk *gd;
 	mempool_t *mp;
-	struct request_queue *q;
 	struct blk_mq_tag_set *set;
 	ulong flags;
 	int late = 0;
@@ -362,19 +361,12 @@ aoeblk_gdalloc(void *vp)
 	if (late)
 		return;
 
-	gd = alloc_disk(AOE_PARTITIONS);
-	if (gd == NULL) {
-		pr_err("aoe: cannot allocate disk structure for %ld.%d\n",
-			d->aoemajor, d->aoeminor);
-		goto err;
-	}
-
 	mp = mempool_create(MIN_BUFS, mempool_alloc_slab, mempool_free_slab,
 		buf_pool_cache);
 	if (mp == NULL) {
 		printk(KERN_ERR "aoe: cannot allocate bufpool for %ld.%d\n",
 			d->aoemajor, d->aoeminor);
-		goto err_disk;
+		goto err;
 	}
 
 	set = &d->tag_set;
@@ -391,12 +383,11 @@ aoeblk_gdalloc(void *vp)
 		goto err_mempool;
 	}
 
-	q = blk_mq_init_queue(set);
-	if (IS_ERR(q)) {
+	gd = blk_mq_alloc_disk(set, d);
+	if (IS_ERR(gd)) {
 		pr_err("aoe: cannot allocate block queue for %ld.%d\n",
 			d->aoemajor, d->aoeminor);
-		blk_mq_free_tag_set(set);
-		goto err_mempool;
+		goto err_tagset;
 	}
 
 	spin_lock_irqsave(&d->lock, flags);
@@ -405,16 +396,16 @@ aoeblk_gdalloc(void *vp)
 	WARN_ON(d->flags & DEVFL_TKILL);
 	WARN_ON(d->gd);
 	WARN_ON(d->flags & DEVFL_UP);
-	blk_queue_max_hw_sectors(q, BLK_DEF_MAX_SECTORS);
-	blk_queue_io_opt(q, SZ_2M);
+	blk_queue_max_hw_sectors(gd->queue, BLK_DEF_MAX_SECTORS);
+	blk_queue_io_opt(gd->queue, SZ_2M);
 	d->bufpool = mp;
-	d->blkq = gd->queue = q;
-	q->queuedata = d;
+	d->blkq = gd->queue;
 	d->gd = gd;
 	if (aoe_maxsectors)
-		blk_queue_max_hw_sectors(q, aoe_maxsectors);
+		blk_queue_max_hw_sectors(gd->queue, aoe_maxsectors);
 	gd->major = AOE_MAJOR;
 	gd->first_minor = d->sysminor;
+	gd->minors = AOE_PARTITIONS;
 	gd->fops = &aoe_bdops;
 	gd->private_data = d;
 	set_capacity(gd, d->ssize);
@@ -435,10 +426,10 @@ aoeblk_gdalloc(void *vp)
 	spin_unlock_irqrestore(&d->lock, flags);
 	return;
 
+err_tagset:
+	blk_mq_free_tag_set(set);
 err_mempool:
 	mempool_destroy(mp);
-err_disk:
-	put_disk(gd);
 err:
 	spin_lock_irqsave(&d->lock, flags);
 	d->flags &= ~DEVFL_GD_NOW;
diff --git a/drivers/block/aoe/aoedev.c b/drivers/block/aoe/aoedev.c
index e2ea2356da06..c5753c6bfe80 100644
--- a/drivers/block/aoe/aoedev.c
+++ b/drivers/block/aoe/aoedev.c
@@ -277,9 +277,8 @@ freedev(struct aoedev *d)
 	if (d->gd) {
 		aoedisk_rm_debugfs(d);
 		del_gendisk(d->gd);
-		put_disk(d->gd);
+		blk_cleanup_disk(d->gd);
 		blk_mq_free_tag_set(&d->tag_set);
-		blk_cleanup_queue(d->blkq);
 	}
 	t = d->targets;
 	e = t + d->ntargets;
-- 
2.30.2


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: "Justin Sanders" <justin@coraid.com>,
	"Vignesh Raghavendra" <vigneshr@ti.com>,
	"Mike Snitzer" <snitzer@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	virtualization@lists.linux-foundation.org, dm-devel@redhat.com,
	"Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	"Miquel Raynal" <miquel.raynal@bootlin.com>,
	"Jack Wang" <jinpu.wang@ionos.com>,
	"Tim Waugh" <tim@cyberelk.net>,
	linux-s390@vger.kernel.org, "Alex Dubov" <oakad@yahoo.com>,
	"Richard Weinberger" <richard@nod.at>,
	"Christian Borntraeger" <borntraeger@de.ibm.com>,
	xen-devel@lists.xenproject.org,
	"Ilya Dryomov" <idryomov@gmail.com>,
	"Vasily Gorbik" <gor@linux.ibm.com>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
	"Heiko Carstens" <hca@linux.ibm.com>,
	"Josef Bacik" <josef@toxicpanda.com>,
	"Denis Efremov" <efremov@linux.com>,
	nbd@other.debian.org, linux-block@vger.kernel.org,
	ceph-devel@vger.kernel.org,
	"Maxim Levitsky" <maximlevitsky@gmail.com>,
	"Geoff Levand" <geoff@infradead.org>,
	linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	"Roger Pau Monné" <roger.pau@citrix.com>
Subject: [PATCH 16/30] aoe: use blk_mq_alloc_disk and blk_cleanup_disk
Date: Wed,  2 Jun 2021 09:53:31 +0300	[thread overview]
Message-ID: <20210602065345.355274-17-hch@lst.de> (raw)
In-Reply-To: <20210602065345.355274-1-hch@lst.de>

Use blk_mq_alloc_disk and blk_cleanup_disk to simplify the gendisk and
request_queue allocation.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/block/aoe/aoeblk.c | 33 ++++++++++++---------------------
 drivers/block/aoe/aoedev.c |  3 +--
 2 files changed, 13 insertions(+), 23 deletions(-)

diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c
index c34e71b0c4a9..06b360f7123a 100644
--- a/drivers/block/aoe/aoeblk.c
+++ b/drivers/block/aoe/aoeblk.c
@@ -338,14 +338,13 @@ static const struct blk_mq_ops aoeblk_mq_ops = {
 	.queue_rq	= aoeblk_queue_rq,
 };
 
-/* alloc_disk and add_disk can sleep */
+/* blk_mq_alloc_disk and add_disk can sleep */
 void
 aoeblk_gdalloc(void *vp)
 {
 	struct aoedev *d = vp;
 	struct gendisk *gd;
 	mempool_t *mp;
-	struct request_queue *q;
 	struct blk_mq_tag_set *set;
 	ulong flags;
 	int late = 0;
@@ -362,19 +361,12 @@ aoeblk_gdalloc(void *vp)
 	if (late)
 		return;
 
-	gd = alloc_disk(AOE_PARTITIONS);
-	if (gd == NULL) {
-		pr_err("aoe: cannot allocate disk structure for %ld.%d\n",
-			d->aoemajor, d->aoeminor);
-		goto err;
-	}
-
 	mp = mempool_create(MIN_BUFS, mempool_alloc_slab, mempool_free_slab,
 		buf_pool_cache);
 	if (mp == NULL) {
 		printk(KERN_ERR "aoe: cannot allocate bufpool for %ld.%d\n",
 			d->aoemajor, d->aoeminor);
-		goto err_disk;
+		goto err;
 	}
 
 	set = &d->tag_set;
@@ -391,12 +383,11 @@ aoeblk_gdalloc(void *vp)
 		goto err_mempool;
 	}
 
-	q = blk_mq_init_queue(set);
-	if (IS_ERR(q)) {
+	gd = blk_mq_alloc_disk(set, d);
+	if (IS_ERR(gd)) {
 		pr_err("aoe: cannot allocate block queue for %ld.%d\n",
 			d->aoemajor, d->aoeminor);
-		blk_mq_free_tag_set(set);
-		goto err_mempool;
+		goto err_tagset;
 	}
 
 	spin_lock_irqsave(&d->lock, flags);
@@ -405,16 +396,16 @@ aoeblk_gdalloc(void *vp)
 	WARN_ON(d->flags & DEVFL_TKILL);
 	WARN_ON(d->gd);
 	WARN_ON(d->flags & DEVFL_UP);
-	blk_queue_max_hw_sectors(q, BLK_DEF_MAX_SECTORS);
-	blk_queue_io_opt(q, SZ_2M);
+	blk_queue_max_hw_sectors(gd->queue, BLK_DEF_MAX_SECTORS);
+	blk_queue_io_opt(gd->queue, SZ_2M);
 	d->bufpool = mp;
-	d->blkq = gd->queue = q;
-	q->queuedata = d;
+	d->blkq = gd->queue;
 	d->gd = gd;
 	if (aoe_maxsectors)
-		blk_queue_max_hw_sectors(q, aoe_maxsectors);
+		blk_queue_max_hw_sectors(gd->queue, aoe_maxsectors);
 	gd->major = AOE_MAJOR;
 	gd->first_minor = d->sysminor;
+	gd->minors = AOE_PARTITIONS;
 	gd->fops = &aoe_bdops;
 	gd->private_data = d;
 	set_capacity(gd, d->ssize);
@@ -435,10 +426,10 @@ aoeblk_gdalloc(void *vp)
 	spin_unlock_irqrestore(&d->lock, flags);
 	return;
 
+err_tagset:
+	blk_mq_free_tag_set(set);
 err_mempool:
 	mempool_destroy(mp);
-err_disk:
-	put_disk(gd);
 err:
 	spin_lock_irqsave(&d->lock, flags);
 	d->flags &= ~DEVFL_GD_NOW;
diff --git a/drivers/block/aoe/aoedev.c b/drivers/block/aoe/aoedev.c
index e2ea2356da06..c5753c6bfe80 100644
--- a/drivers/block/aoe/aoedev.c
+++ b/drivers/block/aoe/aoedev.c
@@ -277,9 +277,8 @@ freedev(struct aoedev *d)
 	if (d->gd) {
 		aoedisk_rm_debugfs(d);
 		del_gendisk(d->gd);
-		put_disk(d->gd);
+		blk_cleanup_disk(d->gd);
 		blk_mq_free_tag_set(&d->tag_set);
-		blk_cleanup_queue(d->blkq);
 	}
 	t = d->targets;
 	e = t + d->ntargets;
-- 
2.30.2

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: "Justin Sanders" <justin@coraid.com>,
	"Vignesh Raghavendra" <vigneshr@ti.com>,
	"Mike Snitzer" <snitzer@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Jason Wang" <jasowang@redhat.com>,
	virtualization@lists.linux-foundation.org, dm-devel@redhat.com,
	"Md. Haris Iqbal" <haris.iqbal@ionos.com>,
	"Miquel Raynal" <miquel.raynal@bootlin.com>,
	"Jack Wang" <jinpu.wang@ionos.com>,
	"Tim Waugh" <tim@cyberelk.net>,
	linux-s390@vger.kernel.org, "Alex Dubov" <oakad@yahoo.com>,
	"Richard Weinberger" <richard@nod.at>,
	"Christian Borntraeger" <borntraeger@de.ibm.com>,
	xen-devel@lists.xenproject.org,
	"Ilya Dryomov" <idryomov@gmail.com>,
	"Vasily Gorbik" <gor@linux.ibm.com>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
	"Heiko Carstens" <hca@linux.ibm.com>,
	"Josef Bacik" <josef@toxicpanda.com>,
	"Denis Efremov" <efremov@linux.com>,
	nbd@other.debian.org, linux-block@vger.kernel.org,
	ceph-devel@vger.kernel.org,
	"Maxim Levitsky" <maximlevitsky@gmail.com>,
	"Geoff Levand" <geoff@infradead.org>,
	linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org,
	"Roger Pau Monné" <roger.pau@citrix.com>
Subject: [dm-devel] [PATCH 16/30] aoe: use blk_mq_alloc_disk and blk_cleanup_disk
Date: Wed,  2 Jun 2021 09:53:31 +0300	[thread overview]
Message-ID: <20210602065345.355274-17-hch@lst.de> (raw)
In-Reply-To: <20210602065345.355274-1-hch@lst.de>

Use blk_mq_alloc_disk and blk_cleanup_disk to simplify the gendisk and
request_queue allocation.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/block/aoe/aoeblk.c | 33 ++++++++++++---------------------
 drivers/block/aoe/aoedev.c |  3 +--
 2 files changed, 13 insertions(+), 23 deletions(-)

diff --git a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c
index c34e71b0c4a9..06b360f7123a 100644
--- a/drivers/block/aoe/aoeblk.c
+++ b/drivers/block/aoe/aoeblk.c
@@ -338,14 +338,13 @@ static const struct blk_mq_ops aoeblk_mq_ops = {
 	.queue_rq	= aoeblk_queue_rq,
 };
 
-/* alloc_disk and add_disk can sleep */
+/* blk_mq_alloc_disk and add_disk can sleep */
 void
 aoeblk_gdalloc(void *vp)
 {
 	struct aoedev *d = vp;
 	struct gendisk *gd;
 	mempool_t *mp;
-	struct request_queue *q;
 	struct blk_mq_tag_set *set;
 	ulong flags;
 	int late = 0;
@@ -362,19 +361,12 @@ aoeblk_gdalloc(void *vp)
 	if (late)
 		return;
 
-	gd = alloc_disk(AOE_PARTITIONS);
-	if (gd == NULL) {
-		pr_err("aoe: cannot allocate disk structure for %ld.%d\n",
-			d->aoemajor, d->aoeminor);
-		goto err;
-	}
-
 	mp = mempool_create(MIN_BUFS, mempool_alloc_slab, mempool_free_slab,
 		buf_pool_cache);
 	if (mp == NULL) {
 		printk(KERN_ERR "aoe: cannot allocate bufpool for %ld.%d\n",
 			d->aoemajor, d->aoeminor);
-		goto err_disk;
+		goto err;
 	}
 
 	set = &d->tag_set;
@@ -391,12 +383,11 @@ aoeblk_gdalloc(void *vp)
 		goto err_mempool;
 	}
 
-	q = blk_mq_init_queue(set);
-	if (IS_ERR(q)) {
+	gd = blk_mq_alloc_disk(set, d);
+	if (IS_ERR(gd)) {
 		pr_err("aoe: cannot allocate block queue for %ld.%d\n",
 			d->aoemajor, d->aoeminor);
-		blk_mq_free_tag_set(set);
-		goto err_mempool;
+		goto err_tagset;
 	}
 
 	spin_lock_irqsave(&d->lock, flags);
@@ -405,16 +396,16 @@ aoeblk_gdalloc(void *vp)
 	WARN_ON(d->flags & DEVFL_TKILL);
 	WARN_ON(d->gd);
 	WARN_ON(d->flags & DEVFL_UP);
-	blk_queue_max_hw_sectors(q, BLK_DEF_MAX_SECTORS);
-	blk_queue_io_opt(q, SZ_2M);
+	blk_queue_max_hw_sectors(gd->queue, BLK_DEF_MAX_SECTORS);
+	blk_queue_io_opt(gd->queue, SZ_2M);
 	d->bufpool = mp;
-	d->blkq = gd->queue = q;
-	q->queuedata = d;
+	d->blkq = gd->queue;
 	d->gd = gd;
 	if (aoe_maxsectors)
-		blk_queue_max_hw_sectors(q, aoe_maxsectors);
+		blk_queue_max_hw_sectors(gd->queue, aoe_maxsectors);
 	gd->major = AOE_MAJOR;
 	gd->first_minor = d->sysminor;
+	gd->minors = AOE_PARTITIONS;
 	gd->fops = &aoe_bdops;
 	gd->private_data = d;
 	set_capacity(gd, d->ssize);
@@ -435,10 +426,10 @@ aoeblk_gdalloc(void *vp)
 	spin_unlock_irqrestore(&d->lock, flags);
 	return;
 
+err_tagset:
+	blk_mq_free_tag_set(set);
 err_mempool:
 	mempool_destroy(mp);
-err_disk:
-	put_disk(gd);
 err:
 	spin_lock_irqsave(&d->lock, flags);
 	d->flags &= ~DEVFL_GD_NOW;
diff --git a/drivers/block/aoe/aoedev.c b/drivers/block/aoe/aoedev.c
index e2ea2356da06..c5753c6bfe80 100644
--- a/drivers/block/aoe/aoedev.c
+++ b/drivers/block/aoe/aoedev.c
@@ -277,9 +277,8 @@ freedev(struct aoedev *d)
 	if (d->gd) {
 		aoedisk_rm_debugfs(d);
 		del_gendisk(d->gd);
-		put_disk(d->gd);
+		blk_cleanup_disk(d->gd);
 		blk_mq_free_tag_set(&d->tag_set);
-		blk_cleanup_queue(d->blkq);
 	}
 	t = d->targets;
 	e = t + d->ntargets;
-- 
2.30.2

--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel


  parent reply	other threads:[~2021-06-02  6:55 UTC|newest]

Thread overview: 226+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-02  6:53 simplify gendisk and request_queue allocation for blk-mq based drivers Christoph Hellwig
2021-06-02  6:53 ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53 ` Christoph Hellwig
2021-06-02  6:53 ` Christoph Hellwig
2021-06-02  6:53 ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 01/30] blk-mq: factor out a blk_mq_alloc_sq_tag_set helper Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 02/30] blk-mq: improve the blk_mq_init_allocated_queue interface Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 03/30] blk-mq: add the blk_mq_alloc_disk APIs Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-03  0:03   ` Chaitanya Kulkarni
2021-06-03  0:03     ` [dm-devel] " Chaitanya Kulkarni
2021-06-03  0:03     ` Chaitanya Kulkarni
2021-06-03  0:03     ` Chaitanya Kulkarni
2021-06-02  6:53 ` [PATCH 04/30] virtio-blk: use blk_mq_alloc_disk Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 05/30] pcd: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 06/30] pf: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 07/30] ms_block: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-03 15:36   ` Ulf Hansson
2021-06-03 15:36     ` [dm-devel] " Ulf Hansson
2021-06-03 15:36     ` Ulf Hansson
2021-06-03 15:36     ` Ulf Hansson
2021-06-03 15:36     ` Ulf Hansson
2021-06-02  6:53 ` [PATCH 08/30] mspro: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-03 15:36   ` Ulf Hansson
2021-06-03 15:36     ` [dm-devel] " Ulf Hansson
2021-06-03 15:36     ` Ulf Hansson
2021-06-03 15:36     ` Ulf Hansson
2021-06-03 15:36     ` Ulf Hansson
2021-06-02  6:53 ` [PATCH 09/30] mtd_blkdevs: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
     [not found]   ` <CGME20210615154746eucas1p1321b6f1cf38d21899632e132cf025e61@eucas1p1.samsung.com>
2021-06-15 15:47     ` Marek Szyprowski
2021-06-15 15:47       ` [dm-devel] " Marek Szyprowski
2021-06-15 15:47       ` Marek Szyprowski
2021-06-15 15:47       ` Marek Szyprowski
2021-06-15 15:58       ` Christoph Hellwig
2021-06-15 15:58         ` [dm-devel] " Christoph Hellwig
2021-06-15 15:58         ` Christoph Hellwig
2021-06-15 15:58         ` Christoph Hellwig
2021-06-15 15:58         ` Christoph Hellwig
2021-06-15 16:28         ` Marek Szyprowski
2021-06-15 16:28           ` [dm-devel] " Marek Szyprowski
2021-06-15 16:28           ` Marek Szyprowski
2021-06-15 16:28           ` Marek Szyprowski
2021-06-02  6:53 ` [PATCH 10/30] ps3disk: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-06 15:58   ` Geoff Levand
2021-06-06 15:58     ` [dm-devel] " Geoff Levand
2021-06-06 15:58     ` Geoff Levand
2021-06-06 15:58     ` Geoff Levand
2021-06-02  6:53 ` [PATCH 11/30] swim3: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 12/30] swim: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 13/30] sunvdc: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 14/30] gdrom: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 15/30] blk-mq: remove blk_mq_init_sq_queue Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-03  0:04   ` Chaitanya Kulkarni
2021-06-03  0:04     ` [dm-devel] " Chaitanya Kulkarni
2021-06-03  0:04     ` Chaitanya Kulkarni
2021-06-03  0:04     ` Chaitanya Kulkarni
2021-06-02  6:53 ` Christoph Hellwig [this message]
2021-06-02  6:53   ` [dm-devel] [PATCH 16/30] aoe: use blk_mq_alloc_disk and blk_cleanup_disk Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 17/30] floppy: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 18/30] loop: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-03  0:05   ` Chaitanya Kulkarni
2021-06-03  0:05     ` [dm-devel] " Chaitanya Kulkarni
2021-06-03  0:05     ` Chaitanya Kulkarni
2021-06-03  0:05     ` Chaitanya Kulkarni
2021-06-02  6:53 ` [PATCH 19/30] nbd: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 20/30] nullb: use blk_mq_alloc_disk Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-03  0:10   ` Chaitanya Kulkarni
2021-06-03  0:10     ` [dm-devel] " Chaitanya Kulkarni
2021-06-03  0:10     ` Chaitanya Kulkarni
2021-06-03  0:10     ` Chaitanya Kulkarni
2021-06-08  5:39     ` Christoph Hellwig
2021-06-08  5:39       ` [dm-devel] " Christoph Hellwig
2021-06-08  5:39       ` Christoph Hellwig
2021-06-08  5:39       ` Christoph Hellwig
2021-06-08  5:39       ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 21/30] pd: use blk_mq_alloc_disk and blk_cleanup_disk Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 22/30] rbd: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 23/30] rnbd: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  7:49   ` Jinpu Wang
2021-06-02  7:49     ` [dm-devel] " Jinpu Wang
2021-06-02  7:49     ` Jinpu Wang
2021-06-02  7:49     ` Jinpu Wang
2021-06-02  6:53 ` [PATCH 24/30] sx8: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 25/30] xen-blkfront: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 26/30] ubi: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 27/30] scm_blk: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02 12:02   ` Niklas Schnelle
2021-06-02 12:02     ` [dm-devel] " Niklas Schnelle
2021-06-02 12:02     ` Niklas Schnelle
2021-06-02 12:02     ` Niklas Schnelle
2021-06-02  6:53 ` [PATCH 28/30] amiflop: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 29/30] ataflop: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53 ` [PATCH 30/30] z2ram: " Christoph Hellwig
2021-06-02  6:53   ` [dm-devel] " Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-02  6:53   ` Christoph Hellwig
2021-06-04 15:58 ` simplify gendisk and request_queue allocation for blk-mq based drivers Konrad Rzeszutek Wilk
2021-06-04 15:58   ` [dm-devel] " Konrad Rzeszutek Wilk
2021-06-04 15:58   ` Konrad Rzeszutek Wilk
2021-06-04 15:58   ` Konrad Rzeszutek Wilk
2021-06-04 15:58   ` Konrad Rzeszutek Wilk
2021-06-05 14:02   ` Christoph Hellwig
2021-06-05 14:02     ` [dm-devel] " Christoph Hellwig
2021-06-05 14:02     ` Christoph Hellwig
2021-06-05 14:02     ` Christoph Hellwig
2021-06-05 14:02     ` Christoph Hellwig
2021-06-11 17:55 ` Jens Axboe
2021-06-11 17:55   ` [dm-devel] " Jens Axboe
2021-06-11 17:55   ` Jens Axboe
2021-06-11 17:55   ` Jens Axboe
2021-06-11 17:55   ` Jens Axboe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210602065345.355274-17-hch@lst.de \
    --to=hch@lst.de \
    --cc=axboe@kernel.dk \
    --cc=borntraeger@de.ibm.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=dm-devel@redhat.com \
    --cc=efremov@linux.com \
    --cc=geoff@infradead.org \
    --cc=gor@linux.ibm.com \
    --cc=haris.iqbal@ionos.com \
    --cc=hca@linux.ibm.com \
    --cc=idryomov@gmail.com \
    --cc=jasowang@redhat.com \
    --cc=jinpu.wang@ionos.com \
    --cc=josef@toxicpanda.com \
    --cc=justin@coraid.com \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=maximlevitsky@gmail.com \
    --cc=miquel.raynal@bootlin.com \
    --cc=mst@redhat.com \
    --cc=nbd@other.debian.org \
    --cc=oakad@yahoo.com \
    --cc=richard@nod.at \
    --cc=roger.pau@citrix.com \
    --cc=snitzer@redhat.com \
    --cc=tim@cyberelk.net \
    --cc=vigneshr@ti.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.