[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
>
- [Qemu-devel] [PULL 00/12] qemu-ga patch queue, Michael Roth, 2015/10/14
- [Qemu-devel] [PATCH 02/12] qga: Use g_new() & friends where that makes obvious sense, Michael Roth, 2015/10/14
- [Qemu-devel] [PATCH 09/12] qga: guest exec functionality, Michael Roth, 2015/10/14
- [Qemu-devel] [PATCH 12/12] qga: guest-exec simple stdin/stdout/stderr redirection, Michael Roth, 2015/10/14
- [Qemu-devel] [PATCH 03/12] qga: add QGA_CONF environment variable, Michael Roth, 2015/10/14
- [Qemu-devel] [PATCH 05/12] qtest: add a few fd-level qmp helpers, Michael Roth, 2015/10/14
- [Qemu-devel] [PATCH 04/12] qga: do not override configuration verbosity, Michael Roth, 2015/10/14
- [Qemu-devel] [PATCH 06/12] glib-compat: add 2.38/2.40/2.46 asserts, Michael Roth, 2015/10/14
- [Qemu-devel] [PATCH 08/12] qga: drop guest_file_init helper and replace it with static initializers, Michael Roth, 2015/10/14
- [Qemu-devel] [PATCH 11/12] qga: handle G_IO_STATUS_AGAIN in ga_channel_write_all(), Michael Roth, 2015/10/14
- [Qemu-devel] [PATCH 01/12] build: qemu-ga: add 'qemu-ga' build target for w32, Michael Roth, 2015/10/14
- [Qemu-devel] [PATCH 10/12] qga: handle possible SIGPIPE in guest-file-write, Michael Roth, 2015/10/15
- [Qemu-devel] [PATCH 07/12] tests: add a local test for guest agent, Michael Roth, 2015/10/15