From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:35477) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QjZZm-0003kb-L6 for qemu-devel@nongnu.org; Wed, 20 Jul 2011 12:24:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QjZZi-0008Ri-Ru for qemu-devel@nongnu.org; Wed, 20 Jul 2011 12:24:46 -0400 Received: from oxygen.pond.sub.org ([78.46.104.156]:55565) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QjZZe-0008P5-HP for qemu-devel@nongnu.org; Wed, 20 Jul 2011 12:24:38 -0400 From: Markus Armbruster Date: Wed, 20 Jul 2011 18:24:13 +0200 Message-Id: <1311179069-27882-40-git-send-email-armbru@redhat.com> In-Reply-To: <1311179069-27882-1-git-send-email-armbru@redhat.com> References: <1311179069-27882-1-git-send-email-armbru@redhat.com> Subject: [Qemu-devel] [PATCH 39/55] block/raw: Fix to forward method bdrv_media_changed() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, quintela@redhat.com, dbaryshkov@gmail.com, stefano.stabellini@eu.citrix.com, lcapitulino@redhat.com, amit.shah@redhat.com Block driver "raw" forwards most methods to the underlying block driver. However, it doesn't implement method bdrv_media_changed(). Makes bdrv_media_changed() always return -ENOTSUP. I believe -fda /dev/fd0 gives you raw over host_floppy, and disk change detection (fdc register 7 bit 7) is broken. Testing my theory requires a computer museum, though. Signed-off-by: Markus Armbruster --- block/raw.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/block/raw.c b/block/raw.c index fa74ef1..934f439 100644 --- a/block/raw.c +++ b/block/raw.c @@ -75,6 +75,11 @@ static int raw_is_inserted(BlockDriverState *bs) return bdrv_is_inserted(bs->file); } +static int raw_media_changed(BlockDriverState *bs) +{ + return bdrv_media_changed(bs->file); +} + static void raw_eject(BlockDriverState *bs, int eject_flag) { bdrv_eject(bs->file, eject_flag); @@ -137,8 +142,10 @@ static BlockDriver bdrv_raw = { .bdrv_discard = raw_discard, .bdrv_is_inserted = raw_is_inserted, + .bdrv_media_changed = raw_media_changed, .bdrv_eject = raw_eject, .bdrv_lock_medium = raw_lock_medium, + .bdrv_ioctl = raw_ioctl, .bdrv_aio_ioctl = raw_aio_ioctl, -- 1.7.2.3