qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [Qemu-devel] [PATCH v2 8/8] hw: Drop superfluous specia


From: Fam Zheng
Subject: Re: [Qemu-block] [Qemu-devel] [PATCH v2 8/8] hw: Drop superfluous special checks for orphaned -drive
Date: Fri, 3 Feb 2017 19:04:23 +0800
User-agent: Mutt/1.7.1 (2016-10-04)

On Mon, 01/30 09:10, Markus Armbruster wrote:
> John Snow <address@hidden> writes:
> 
> > On 01/27/2017 11:04 AM, Markus Armbruster wrote:
> >> John Snow <address@hidden> writes:
> >> 
> >>> On 01/27/2017 06:51 AM, Markus Armbruster wrote:
> >>>> John Snow <address@hidden> writes:
> >>>>
> >>>>> On 01/26/2017 10:09 AM, Markus Armbruster wrote:
> >>>>>> We've traditionally rejected orphans here and there, but not
> >>>>>> systematically.  For instance, the sun4m machines have an onboard SCSI
> >>>>>> HBA (bus=0), and have always rejected bus>0.  Other machines with an
> >>>>>> onboard SCSI HBA don't.
> >>>>>>
> >>>>>> Commit a66c9dc made all orphans trigger a warning, and the previous
> >>>>>> commit turned this into an error.  The checks "here and there" are now
> >>>>>> redundant.  Drop them.
> >>>>>>
> >>>>>> Note that the one in mips_jazz.c was wrong: it rejected bus > MAX_FD,
> >>>>>> but MAX_FD is the number of floppy drives per bus.
> >>>>>>
> >>>>>> Error messages change from
> >>>>>>
> >>>>>>     $ qemu-system-x86_64 -drive if=ide,bus=2
> >>>>>>     qemu-system-x86_64: Too many IDE buses defined (3 > 2)
> >>>>>>     $ qemu-system-mips64 -M magnum,accel=qtest -drive 
> >>>>>> if=floppy,bus=2,id=fd1
> >>>>>>     qemu: too many floppy drives
> >>>>>>     $ qemu-system-sparc -M LX -drive if=scsi,bus=1
> >>>>>>     qemu: too many SCSI bus
> >>>>>>
> >>>>>> to
> >>>>>>
> >>>>>>     $ qemu-system-x86_64 -drive if=ide,bus=2
> >>>>>>     qemu-system-x86_64: -drive if=ide,bus=2: machine type does not 
> >>>>>> support this drive
> >>>>>>     $ qemu-system-mips64 -M magnum,accel=qtest -drive 
> >>>>>> if=floppy,bus=2,id=fd1
> >>>>>>     qemu-system-mips64: -drive if=floppy,bus=2,id=fd1: machine type 
> >>>>>> does not support this drive
> >>>>>>     $ qemu-system-sparc -M LX -drive if=scsi,bus=1
> >>>>>>     qemu-system-sparc: -drive if=scsi,bus=1: machine type does not 
> >>>>>> support this drive
> >>>>>>
> >>>>>
> >>>>> Hm, that's a lot less helpful, isn't it? Can we augment with hints?
> >>>>
> >>>> The message itself may be less specific, but it now comes with a precise
> >>>> location.  Personally, I'd even find
> >>>>
> >>>>     qemu-system-sparc: -drive if=scsi,bus=1: *mumble* *mumble*
> >>>>
> >>>> more helpful than
> >>>>
> >>>>     qemu: too many SCSI bus
> >>>>
> >>>> because the former tells me *which* of the options is bad.  We tend to
> >>>> have lots and lots of them.
> >>>>
> >>>> The deleted special case errors cover only a minority of "orphan"
> >>>> -drive.  If these cases need improvement, then so will the general case.
> >>>> If you can come up with a hint that makes the general case message more
> >>>> useful, I'm more than happy to squash it into PATCH 6.
> >>>>
> >>>
> >>> The old error had "why" and the new error has "where" but neither has
> >>> both. I would suggest that from the "why" you can divine the "where,"
> >>> but the opposite is not as easily true.
> >> 
> >> Some users will be able to divine more easily than others.  Consider my
> >> "too many floppy drives" example.  There's just one, and the machine
> >> actually supports two.  The user has to make the connection to "bus=2"
> >> somehow.  Now, anybody crazy enough to mess with bus= can probably be
> >> expected to figure this out, but still, the deleted error messages
> >> aren't exactly wonderful.
> >> 
> >>> The new error even suggests information I think is wrong and misleading:
> >>> We do support SCSI! (Just not this many of them.)
> >> 
> >> Well, the error doesn't say "machine doesn't support SCSI", only
> >> "doesn't support this particular -drive".  Perhaps it could be worded
> >> more clearly.  Ideas?
> >> 
> >
> > Ah, I see what you mean now. I interpreted "this drive" to mean SCSI,
> > not this SCSI *instance*.
> 
> Uh, I would've written "does not support if=scsi" then.  But I see where
> you come from.
> 
> >                           If it can be made clearer that QEMU is simply
> > unable to instantiate this particular instance, that'd be fine.
> >
> > Instead of "Machine type does not support this drive,"
> >
> > how about
> >
> > "Machine type cannot instantiate this drive instance"
> 
> Hmm.
> 
> > Or ... follow your own best judgement. This is really YOUR wheelhouse.
> > My example is a little wordy.
> 
> All I can come up with is even wordier: "Machine type doesn't support
> this combination of if, bus, unit", or "if=scsi,bus=%d,unit=%d not
> supported with this machine type".  Could also be confusing when the
> user specified index instead of bus, unit.
> 
> Good error messages are hard...

I guess the painpoint is "okay, what the heck does the machine support then?" -
that "3 > 2" is the good part of the old message.

Do we have a user documentation for this? Or, can we give a hint how to figure
that out?

Fam



reply via email to

[Prev in Thread] Current Thread [Next in Thread]