From: Rusty Russell <rusty@rustcorp.com.au>
To: Jens Axboe <jaxboe@fusionio.com>, Takuma Umeya <tumeya@redhat.com>
Cc: "virtualization\@lists.linux-foundation.org"
<virtualization@lists.linux-foundation.org>,
Christoph Hellwig <hch@lst.de>,
john cooper <john.cooper@redhat.com>, Tejun Heo <tj@kernel.org>,
"linux-kernel\@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] virtio_blk: decrement index when blockdevice is removed
Date: Wed, 06 Apr 2011 11:02:08 +0930 [thread overview]
Message-ID: <87hbacw4fb.fsf@rustcorp.com.au> (raw)
In-Reply-To: <4D9AA3BC.6030907@fusionio.com>
On Tue, 05 Apr 2011 07:08:12 +0200, Jens Axboe <jaxboe@fusionio.com> wrote:
> On 2011-04-05 06:49, Takuma Umeya wrote:
> > When virtio block device is removed, index does not get decremented. When
> > another virtio disk is attached it uses the next device letter to the
> > one that is suppose to be available.
> >
> > Signed-off-by: Takuma Umeya <tumeya@redhat.com>
> >
> > diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
> > index 6ecf89c..730e7af 100644
> > --- a/drivers/block/virtio_blk.c
> > +++ b/drivers/block/virtio_blk.c
> > @@ -489,6 +489,7 @@ static void __devexit virtblk_remove(struct virtio_device *vdev)
> > mempool_destroy(vblk->pool);
> > vdev->config->del_vqs(vdev);
> > kfree(vblk);
> > + index--;
> > }
> >
> > static const struct virtio_device_id id_table[] = {
>
> What happens when you delete a device that isn't the last one?
Obviously we should do something cleverer for assigning drives.
It might be a cute if genhd gave us a function to get the next free
index for a given major number, and format it for us, like so:
/* Return the next available minor for a given @major, at least
* @spacing after the previous and, and append appropriate letters
* to @name if it's not NULL. -ve errno on fail (-ENOSPC?). */
int disk_next_minor(int major, unsigned spacing, char *name);
A trivial optimization would be to remember the last major and max minor
(resetting that if any disks are removed).
This could clean up other code, too.
Cheers,
Rusty.
next prev parent reply other threads:[~2011-04-06 2:37 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1099995365.641718.1301903899721.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com>
2011-04-05 4:49 ` [PATCH] virtio_blk: decrement index when blockdevice is removed Takuma Umeya
2011-04-05 5:08 ` Jens Axboe
2011-04-06 1:32 ` Rusty Russell [this message]
2011-04-06 3:05 ` Jens Axboe
2011-04-06 19:17 ` Ryan Harper
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=87hbacw4fb.fsf@rustcorp.com.au \
--to=rusty@rustcorp.com.au \
--cc=hch@lst.de \
--cc=jaxboe@fusionio.com \
--cc=john.cooper@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tj@kernel.org \
--cc=tumeya@redhat.com \
--cc=virtualization@lists.linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox