All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com, mreitz@redhat.com, qemu-block@nongnu.org
Subject: [Qemu-devel] [PATCH v3 7/8] blockdev: Make orphaned -drive fatal
Date: Wed, 15 Feb 2017 11:05:46 +0100	[thread overview]
Message-ID: <1487153147-11530-8-git-send-email-armbru@redhat.com> (raw)
In-Reply-To: <1487153147-11530-1-git-send-email-armbru@redhat.com>

Block backends defined with "-drive if=T" with T other than "none" are
meant to be picked up by machine initialization code: a suitable
frontend gets created and wired up automatically.

If machine initialization code doesn't comply, the block backend
remains unused.  This triggers a warning since commit a66c9dc, v2.2.0.
Drives created by default are exempted; use -nodefaults to get rid of
them.

Turn this warning into an error.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 blockdev.c                | 14 +++++++-------
 include/sysemu/blockdev.h |  2 +-
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/blockdev.c b/blockdev.c
index eb75f35..bbf9d4d 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -227,30 +227,30 @@ DriveInfo *drive_get(BlockInterfaceType type, int bus, int unit)
     return NULL;
 }
 
-bool drive_check_orphaned(void)
+void drive_check_orphaned(void)
 {
     BlockBackend *blk;
     DriveInfo *dinfo;
     Location loc;
-    bool rs = false;
+    bool orphans = false;
 
     for (blk = blk_next(NULL); blk; blk = blk_next(blk)) {
         dinfo = blk_legacy_dinfo(blk);
-        /* If dinfo->bdrv->dev is NULL, it has no device attached. */
-        /* Unless this is a default drive, this may be an oversight. */
         if (!blk_get_attached_dev(blk) && !dinfo->is_default &&
             dinfo->type != IF_NONE) {
             loc_push_none(&loc);
             qemu_opts_loc_restore(dinfo->opts);
-            error_report("warning: machine type does not support"
+            error_report("machine type does not support"
                          " if=%s,bus=%d,unit=%d",
                          if_name[dinfo->type], dinfo->bus, dinfo->unit);
             loc_pop(&loc);
-            rs = true;
+            orphans = true;
         }
     }
 
-    return rs;
+    if (orphans) {
+        exit(1);
+    }
 }
 
 DriveInfo *drive_get_by_index(BlockInterfaceType type, int index)
diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h
index 351a039..ac22f2a 100644
--- a/include/sysemu/blockdev.h
+++ b/include/sysemu/blockdev.h
@@ -48,7 +48,7 @@ BlockBackend *blk_by_legacy_dinfo(DriveInfo *dinfo);
 void override_max_devs(BlockInterfaceType type, int max_devs);
 
 DriveInfo *drive_get(BlockInterfaceType type, int bus, int unit);
-bool drive_check_orphaned(void);
+void drive_check_orphaned(void);
 DriveInfo *drive_get_by_index(BlockInterfaceType type, int index);
 int drive_get_max_bus(BlockInterfaceType type);
 int drive_get_max_devs(BlockInterfaceType type);
-- 
2.7.4

  parent reply	other threads:[~2017-02-15 10:06 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-15 10:05 [Qemu-devel] [PATCH v3 0/8] More sensible default for -drive interface type Markus Armbruster
2017-02-15 10:05 ` [Qemu-devel] [PATCH v3 1/8] hw: Default -drive to if=ide explicitly where it works Markus Armbruster
2017-02-15 10:05 ` [Qemu-devel] [PATCH v3 2/8] hw/arm/cubieboard hw/arm/xlnx-ep108: Fix units_per_default_bus Markus Armbruster
2017-02-15 10:05 ` [Qemu-devel] [PATCH v3 3/8] hw: Default -drive to if=none instead of ide when ide cannot work Markus Armbruster
2017-02-15 10:05   ` Markus Armbruster
2017-02-15 10:05 ` [Qemu-devel] [PATCH v3 4/8] hw: Default -drive to if=none instead of scsi when scsi " Markus Armbruster
2017-02-15 10:05 ` [Qemu-devel] [PATCH v3 5/8] hw/arm/highbank: Default -drive to if=ide instead of if=scsi Markus Armbruster
2017-02-15 10:05 ` [Qemu-devel] [PATCH v3 6/8] blockdev: Improve message for orphaned -drive Markus Armbruster
2017-02-15 10:05 ` Markus Armbruster [this message]
2017-02-16 21:29   ` [Qemu-devel] [Qemu-block] [PATCH v3 7/8] blockdev: Make orphaned -drive fatal John Snow
2017-02-15 10:05 ` [Qemu-devel] [PATCH v3 8/8] hw: Drop superfluous special checks for orphaned -drive Markus Armbruster
2017-02-15 20:32   ` John Snow

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=1487153147-11530-8-git-send-email-armbru@redhat.com \
    --to=armbru@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.