diff options
author | Markus Armbruster <armbru@redhat.com> | 2017-02-15 11:05:45 +0100 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2017-02-21 13:17:40 +0100 |
commit | 664cc623bfe161759eabd263a1bf7668895b9e4a (patch) | |
tree | b657ff5380441396b0f3430fbbdb0c344756d6bb /blockdev.c | |
parent | 2a7ae4ee50002a2fb5ac67fc8c32cc9009335cd8 (diff) |
blockdev: Improve message for orphaned -drive
We warn when a -drive isn't supported by the machine type (commit
a66c9dc):
$ qemu-system-x86_64 -S -display none -drive if=mtd
Warning: Orphaned drive without device: id=mtd0,file=,if=mtd,bus=0,unit=0
Improve this to point to the offending bit of configuration:
qemu-system-x86_64: -drive if=mtd: warning: machine type does not support if=mtd,bus=0,unit=0
Especially nice when it's hidden behind -readconfig foo.cfg:
qemu-system-x86_64:foo.cfg:140: warning: machine type does not support if=mtd,bus=0,unit=0
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <1487153147-11530-7-git-send-email-armbru@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Diffstat (limited to 'blockdev.c')
-rw-r--r-- | blockdev.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/blockdev.c b/blockdev.c index db82ac97e5..eb75f35540 100644 --- a/blockdev.c +++ b/blockdev.c @@ -231,6 +231,7 @@ bool drive_check_orphaned(void) { BlockBackend *blk; DriveInfo *dinfo; + Location loc; bool rs = false; for (blk = blk_next(NULL); blk; blk = blk_next(blk)) { @@ -239,10 +240,12 @@ bool drive_check_orphaned(void) /* Unless this is a default drive, this may be an oversight. */ if (!blk_get_attached_dev(blk) && !dinfo->is_default && dinfo->type != IF_NONE) { - fprintf(stderr, "Warning: Orphaned drive without device: " - "id=%s,file=%s,if=%s,bus=%d,unit=%d\n", - blk_name(blk), blk_bs(blk) ? blk_bs(blk)->filename : "", - if_name[dinfo->type], dinfo->bus, dinfo->unit); + loc_push_none(&loc); + qemu_opts_loc_restore(dinfo->opts); + error_report("warning: machine type does not support" + " if=%s,bus=%d,unit=%d", + if_name[dinfo->type], dinfo->bus, dinfo->unit); + loc_pop(&loc); rs = true; } } |