|
From: | Anthony Liguori |
Subject: | Re: [Qemu-devel] [PATCH v2 1/2] console: add hw_screen_dump_async |
Date: | Mon, 05 Mar 2012 13:32:12 -0600 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110922 Lightning/1.0b2 Thunderbird/3.1.15 |
On 03/05/2012 12:22 PM, Avi Kivity wrote:
On 03/05/2012 08:16 PM, Anthony Liguori wrote:We're pretty close to being there. Luiz, about how long do you think before we get there?It's a pity to add new commands along the way.It's more complicated than this unfortunately. A client needs to be able to determine whether the 'screendump' command works as expected. Unfortunately, when QXL was introduced, 'screendump' became broken across multiple releases. screendump is the right interface, but since it was broken in multiple releases, we need another command for a client to determine that it's not broken. In the short term, screendump_async is that. After QAPI, it will probably be a screendump2. I don't mind introducing short term commands and then deprecating it particularly when they are marked as such.Zooming out from screendump, there are several ways to deal with broken commands: 1. introduce new commands
This is our only short term options for this specific circumstance.
2. introduce capabilities that say "screendump is fixed wrt bug so-and-so"
We don't have such a mechanism and I generally would prefer to avoid it. There's a certain shame in introducing new commands that hopefully will cause us to be more careful in the future.
3. fix it and backport the fix to a stable release
This is only not practical because it requires such an infrastructure change.
4. ignore the broken command and hope
5. just tell clients to rely on version information and ignore the existence of downstreams
This is really mostly a downstream problem, not an upstream problem. Version numbers can be reliable here for upstream.
This is the approach that would be typically taken for a C library. The flip side is that this is also while we end up with autotools and a bunch of compile time tests to determine what broken functions exist.
Regards, Anthony Liguori
My preference is 3->2->1->4, or we'll end up with screendump65535 soon.
[Prev in Thread] | Current Thread | [Next in Thread] |