qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Michael Roth <mdroth@linux.vnet.ibm.com>
To: Eric Blake <eblake@redhat.com>, qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, Yuri Pudgorodskiy <yur@virtuozzo.com>,
	"Denis V. Lunev" <den@openvz.org>
Subject: Re: [Qemu-devel] [PATCH 09/12] qga: guest exec functionality
Date: Wed, 14 Oct 2015 22:48:21 -0500	[thread overview]
Message-ID: <20151015034821.23952.52907@loki> (raw)
In-Reply-To: <561ED980.9030002@redhat.com>

Quoting Eric Blake (2015-10-14 17:38:56)
> On 10/14/2015 02:08 PM, Michael Roth wrote:
> > From: Yuri Pudgorodskiy <yur@virtuozzo.com>
> > 
> > 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 <yur@virtuozzo.com>
> > Signed-off-by: Denis V. Lunev <den@openvz.org>
> > CC: Michael Roth <mdroth@linux.vnet.ibm.com>
> > *use g_new0 in place of g_malloc for GuestExec struct
> > Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
> > ---
> 
> > +##
> > +# @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	other threads:[~2015-10-15  3:48 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-14 20:07 [Qemu-devel] [PULL 00/12] qemu-ga patch queue Michael Roth
2015-10-14 20:07 ` [Qemu-devel] [PATCH 01/12] build: qemu-ga: add 'qemu-ga' build target for w32 Michael Roth
2015-10-14 20:07 ` [Qemu-devel] [PATCH 02/12] qga: Use g_new() & friends where that makes obvious sense Michael Roth
2015-10-14 20:07 ` [Qemu-devel] [PATCH 03/12] qga: add QGA_CONF environment variable Michael Roth
2015-10-14 20:07 ` [Qemu-devel] [PATCH 04/12] qga: do not override configuration verbosity Michael Roth
2015-10-14 20:07 ` [Qemu-devel] [PATCH 05/12] qtest: add a few fd-level qmp helpers Michael Roth
2015-10-14 20:07 ` [Qemu-devel] [PATCH 06/12] glib-compat: add 2.38/2.40/2.46 asserts Michael Roth
2015-10-14 20:08 ` [Qemu-devel] [PATCH 07/12] tests: add a local test for guest agent Michael Roth
2015-10-14 20:08 ` [Qemu-devel] [PATCH 08/12] qga: drop guest_file_init helper and replace it with static initializers Michael Roth
2015-10-14 20:08 ` [Qemu-devel] [PATCH 09/12] qga: guest exec functionality Michael Roth
2015-10-14 22:38   ` Eric Blake
2015-10-15  3:48     ` Michael Roth [this message]
2015-10-14 20:08 ` [Qemu-devel] [PATCH 10/12] qga: handle possible SIGPIPE in guest-file-write Michael Roth
2015-10-14 20:08 ` [Qemu-devel] [PATCH 11/12] qga: handle G_IO_STATUS_AGAIN in ga_channel_write_all() Michael Roth
2015-10-14 20:08 ` [Qemu-devel] [PATCH 12/12] qga: guest-exec simple stdin/stdout/stderr redirection Michael Roth
  -- strict thread matches above, loose matches on Subject: below --
2015-10-15 16:05 [Qemu-devel] [PULL v2 00/12] qemu-ga patch queue Michael Roth
2015-10-15 16:05 ` [Qemu-devel] [PATCH 09/12] qga: guest exec functionality Michael Roth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151015034821.23952.52907@loki \
    --to=mdroth@linux.vnet.ibm.com \
    --cc=den@openvz.org \
    --cc=eblake@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=yur@virtuozzo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).