From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51313) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z83QN-0005Dp-59 for qemu-devel@nongnu.org; Thu, 25 Jun 2015 05:26:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z83QM-0007SM-5E for qemu-devel@nongnu.org; Thu, 25 Jun 2015 05:26:23 -0400 From: Markus Armbruster References: <1435068107-12594-1-git-send-email-peter.maydell@linaro.org> Date: Thu, 25 Jun 2015 11:26:16 +0200 In-Reply-To: <1435068107-12594-1-git-send-email-peter.maydell@linaro.org> (Peter Maydell's message of "Tue, 23 Jun 2015 15:01:44 +0100") Message-ID: <87ioacyw93.fsf@blackfin.pond.sub.org> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Qemu-devel] [PATCH v2 for-2.4 0/3] block: Improve warnings for doubly-connected drives List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: Kevin Wolf , qemu-devel@nongnu.org, qemu-block@nongnu.org, patches@linaro.org Peter Maydell writes: > This patchset attempts to improve the warning and error messages for > bad user command lines that attempt to connect a drive up to two > devices. The motivation here is patch #4, which changes the default > interface for the virt board to virtio. That will break some existing > command lines which forgot to specify if=none, and so I would like > us to at least diagnose that user error in a helpful way that points > the user towards adding the missing if=none. > > Version 2 reduces scope, because it turns out that it is harder than > we thought to identify whether a use of an if=something drive is the > auto-plugging or a manual wiring up to a device. So all we do here > is improve the error messages for two situations which were already > errors but with rather cryptic messages: > > (1) Drive specified as to be auto-connected and also manually connected > (and the board does handle this if= type): > > qemu-system-x86_64 -nodefaults -display none \ > -drive if=scsi,file=tmp.qcow2,id=foo -device ide-hd,drive=foo > > Previously: > qemu-system-x86_64: -device ide-hd,drive=foo: Property 'ide-hd.drive' > can't take value 'foo', it's in use > > Now: > qemu-system-x86_64: -device ide-hd,drive=foo: Drive 'foo' is already in > use because it has been automatically connected to another device (did > you need 'if=none' in the drive options?) > > (2) Drive specified to be manually connected in two different ways: > > qemu-system-x86_64 -nodefaults -display none \ > -drive if=none,file=tmp.qcow2,id=foo -device ide-hd,drive=foo \ > -device ide-hd,drive=foo > > Previously: > qemu-system-x86_64: -device ide-hd,drive=foo: Property 'ide-hd.drive' > can't take value 'foo', it's in use > > Now: > qemu-system-x86_64: -device ide-hd,drive=foo: Drive 'foo' is already in > use by another device > > (We'll also produce message 1 in the oddball case where the user creates > a drive if=something-not-handled-by-machine and then wires it up manually > to two different devices; in this case their command line is doubly broken > and if they use if=none as suggested by message 1 they'll then get message 2 > and can fix their own double-usage...) With the commit message of PATCH 3 amended, series Reviewed-by: Markus Armbruster