On Mon, 22 Feb 2010 10:51:20 -0600 Adam Litke <a...@us.ibm.com> wrote:
> On Fri, 2010-02-19 at 15:47 -0600, Anthony Liguori wrote: > > On 02/12/2010 02:55 PM, Adam Litke wrote: > > > Arghh... Adding missing S-O-B > > > > > > Hi Anthony. I wonder if there was a problem when importing my async > > > command handler patchset. Since the 'balloon' command completes > > > immediately, it must call the completion callback before returning. > > > That call was missing but is added by the patch below. > > > > > > Signed-off-by: Adam Litke<a...@us.ibm.com> > > > > > > > Applied. Thanks. > > This patch application failed. My patch adds a cb() call in > do_balloon(), but the change in git has added the cb() call to > do_info_balloon(). That is causing qemu segfaults. Applying the > following should correct the damage. Thanks. > > Fix for commit: 5c366a8a3d7ac71beda8499caa815cb3ea95eb58 > > The cb() call is needed in do_balloon(), not do_info_balloon(). It won't segfault on QMP, but will print a duplicated response on query-balloon and no success response on balloon. This patch fixes both. One question, though: > @@ -2332,6 +2331,7 @@ static int do_balloon(Monitor *mon, const QDict *params, > return -1; > } > > + cb(opaque, NULL); > return 0; > } Can't (or shouldn't) this be called by common code upon handler completion?