From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Lalancette Subject: [PATCH]: Fix crash in virtio_blk during modprobe ; rmmod ; modprobe Date: Wed, 21 May 2008 14:45:31 +0200 Message-ID: <4834196B.3010704@redhat.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------000406090401050809080102" To: kvm@vger.kernel.org Return-path: Received: from mx1.redhat.com ([66.187.233.31]:55228 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1761347AbYEUMqi (ORCPT ); Wed, 21 May 2008 08:46:38 -0400 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id m4LCkb8F030197 for ; Wed, 21 May 2008 08:46:37 -0400 Received: from pobox.corp.redhat.com (pobox.corp.redhat.com [10.11.255.20]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m4LCkaLg017421 for ; Wed, 21 May 2008 08:46:36 -0400 Received: from localhost.localdomain (sebastian-int.corp.redhat.com [172.16.52.221]) by pobox.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m4LCka5R006074 for ; Wed, 21 May 2008 08:46:36 -0400 Sender: kvm-owner@vger.kernel.org List-ID: This is a multi-part message in MIME format. --------------000406090401050809080102 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Fix a modprobe virtio_blk ; rmmod virtio_blk ; modprobe virtio_blk crash; this was basically because we weren't doing "del_gendisk()" in the remove path. Signed-off-by: Chris Lalancette --------------000406090401050809080102 Content-Type: text/x-patch; name="virtio-blk-rmmod-crash.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="virtio-blk-rmmod-crash.patch" commit 9ae82ccb26be0155ad81b2630090e85639a0dc56 Author: Chris Lalancette Date: Fri May 16 15:31:06 2008 -0400 Fix a modprobe virtio_blk ; rmmod virtio_blk ; modprobe virtio_blk crash; this was basically because we weren't doing "del_gendisk()" in the remove path. 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) vdev->config->reset(vdev); blk_cleanup_queue(vblk->disk->queue); + del_gendisk(vblk->disk); put_disk(vblk->disk); unregister_blkdev(major, "virtblk"); mempool_destroy(vblk->pool); --------------000406090401050809080102--