qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 09/12] qga: guest exec functionality


From: Michael Roth
Subject: Re: [Qemu-devel] [PATCH 09/12] qga: guest exec functionality
Date: Wed, 14 Oct 2015 22:48:21 -0500
User-agent: alot/0.3.6

Quoting Eric Blake (2015-10-14 17:38:56)
> On 10/14/2015 02:08 PM, Michael Roth wrote:
> > From: Yuri Pudgorodskiy <address@hidden>
> > 
> > Guest-exec rewriten in platform-independant style with glib spawn.
> 
> s/rewriten/rewritten/
> s/independant/independent/
> 
> > 
> > Child process is spawn asynchroneously and exit status can later
> 
> s/asynchroneously/asynchronously/
> 
> > be picked up by guest-exec-status command.
> > 
> > stdin/stdout/stderr of the child now is redirected to /dev/null
> > Later we will add ability to specify stdin in guest-exec command
> > and to get collected stdout/stderr with guest-exec-status.
> > 
> > Signed-off-by: Yuri Pudgorodskiy <address@hidden>
> > Signed-off-by: Denis V. Lunev <address@hidden>
> > CC: Michael Roth <address@hidden>
> > *use g_new0 in place of g_malloc for GuestExec struct
> > Signed-off-by: Michael Roth <address@hidden>
> > ---
> 
> > +##
> > +# @guest-exec:
> > +#
> > +# Execute a command in the guest
> > +#
> > +# @path: path or executable name to execute
> > +# @arg: #optional argument list to pass to executable
> > +# @env: #optional environment variables to pass to executable
> > +# @inp-data: #optional data to be passed to process stdin (base64 encoded)
> 
> Should this be 'input-data' instead of abbreviating?
> 
> > +# @capture-output: #optional bool flags to enable capture of
> > +#                  stdout/stderr of running process
> 
> Might be worth mentioning that the default is false.
> 
> > +#
> > +# Returns: PID on success.
> > +#
> > +# Since: 2.5
> > +##
> > +{ 'command': 'guest-exec',
> > +  'data':    { 'path': 'str', '*arg': ['str'], '*env': ['str'],
> > +               '*inp-data': 'str', '*capture-output': 'bool' },
> > +  'returns': 'GuestExec' }
> 
> Are there any restrictions on how elements of env must behave, such as
> requiring an '='? If so, does that mean we need any more structure than
> a raw 'str', such as {'name':'str', 'value':'str'}?  Or is that overkill?

I think it's overkill, since glib's g_spawn_*() functions expect it as a
string list in the same way as it does for command parameters. As a result
we have common parsing code to feed both. Documenting env as something
other than this will only result in extra code to turn it back
into the same format we have currently.

Have all other suggestions pushed to qga tree and will send a v2
Thursday morning CST:
  https://github.com/mdroth/qemu/commits/qga

> 
> -- 
> Eric Blake   eblake redhat com    +1-919-301-3266
> Libvirt virtualization library http://libvirt.org
> 




reply via email to

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