From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=55323 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PGxJF-00066w-Pc for qemu-devel@nongnu.org; Fri, 12 Nov 2010 12:21:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PGx64-0005KL-PM for qemu-devel@nongnu.org; Fri, 12 Nov 2010 12:07:37 -0500 Received: from e39.co.us.ibm.com ([32.97.110.160]:45169) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PGx64-0005Jz-KF for qemu-devel@nongnu.org; Fri, 12 Nov 2010 12:07:32 -0500 Received: from d03relay03.boulder.ibm.com (d03relay03.boulder.ibm.com [9.17.195.228]) by e39.co.us.ibm.com (8.14.4/8.13.1) with ESMTP id oACGu8rD014066 for ; Fri, 12 Nov 2010 09:56:08 -0700 Received: from d03av06.boulder.ibm.com (d03av06.boulder.ibm.com [9.17.195.245]) by d03relay03.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id oACH7Iu9180056 for ; Fri, 12 Nov 2010 10:07:20 -0700 Received: from d03av06.boulder.ibm.com (loopback [127.0.0.1]) by d03av06.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id oACHBKvK016333 for ; Fri, 12 Nov 2010 10:11:20 -0700 From: Ryan Harper Date: Fri, 12 Nov 2010 11:07:12 -0600 Message-Id: <1289581634-21177-1-git-send-email-ryanh@us.ibm.com> Subject: [Qemu-devel] [PATCH 0/2] v8 Decouple block device removal from device removal List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , "Michael S. Tsirkin" , Markus Armbruster , Anthony Liguori , Ryan Harper , Stefan Hajnoczi details, details, v8 This patch series decouples the detachment of a block device from the removal of the backing pci-device. Removal of a hotplugged pci device requires the guest to respond before qemu tears down the block device. In some cases, the guest may not respond leaving the guest with continued access to the block device. Mgmt layer doesn't have a reliable method to force a disconnect. The new monitor command, drive_del, will revoke a guests access to the block device independently of the removal of the pci device. The first patch implements drive_del, the second patch implements the qmp version of the monitor command. Changes since v7: - Fixed up doc strings (delete -> drive_del) Changes since v6: - Updated patch description - Dropped bdrv_unplug and inlined in drive_del - Explicitly invoke drive_uninit() Changes since v5: - Removed dangling pointers in guest and host state. This ensures things like info block no longer displays the deleted drive; though info pci will continue to display the pci device until the guest responds to the removal request. - Renamed drive_unplug -> drive_del Changes since v4: - Droppped drive_get_by_id patch and use bdrv_find() instead - Added additional details about drive_unplug to hmp/qmp interface Changes since v3: - Moved QMP command for drive_unplug() to separate patch Changes since v2: - Added QMP command for drive_unplug() Changes since v1: - CodingStyle fixes - Added qemu_aio_flush() to bdrv_unplug() Signed-off-by: Ryan Harper