From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rusty Russell Subject: Re: [Fwd: [PATCH]: Fix crash in virtio_blk during modprobe ; rmmod ; modprobe] Date: Thu, 22 May 2008 21:33:01 +1000 Message-ID: <200805222133.01686.rusty@rustcorp.com.au> References: <48341FC7.4060600@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: virtualization@lists.linux-foundation.org, kvm@vger.kernel.org, Jens Axboe To: Chris Lalancette Return-path: Received: from ozlabs.org ([203.10.76.45]:50423 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754348AbYEVLdN convert rfc822-to-8bit (ORCPT ); Thu, 22 May 2008 07:33:13 -0400 In-Reply-To: <48341FC7.4060600@redhat.com> Content-Disposition: inline Sender: kvm-owner@vger.kernel.org List-ID: On Wednesday 21 May 2008 23:12:39 Chris Lalancette wrote: > diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c > index 4962e62..c678ac5 100644 > --- a/drivers/block/virtio_blk.c > +++ b/drivers/block/virtio_blk.c > @@ -294,6 +294,7 @@ static void virtblk_remove(struct virtio_device *= vdev) > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0vdev->config->reset(v= dev); > =C2=A0 > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0blk_cleanup_queue(vbl= k->disk->queue); > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0del_gendisk(vblk->disk); > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0put_disk(vblk->disk); > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0unregister_blkdev(maj= or, "virtblk"); > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0mempool_destroy(vblk-= >pool); Thanks Chris, it seems reasonable and I'm sure it works (kinda hard to = test=20 here, it's my root block dev). Other drivers seem to do blk_cleanup_qu= eue()=20 *after* del_gendisk: does it matter? Jens CC'd: he's gentle with my dumb questions... Rusty.