libvirt/docs
Eric Blake b9dd878ff8 util: make it easier to grab only regular command exit
Auditing all callers of virCommandRun and virCommandWait that
passed a non-NULL pointer for exit status turned up some
interesting observations.  Many callers were merely passing
a pointer to avoid the overall command dying, but without
caring what the exit status was - but these callers would
be better off treating a child death by signal as an abnormal
exit.  Other callers were actually acting on the status, but
not all of them remembered to filter by WIFEXITED and convert
with WEXITSTATUS; depending on the platform, this can result
in a status being reported as 256 times too big.  And among
those that correctly parse the output, it gets rather verbose.
Finally, there were the callers that explicitly checked that
the status was 0, and gave their own message, but with fewer
details than what virCommand gives for free.

So the best idea is to move the complexity out of callers and
into virCommand - by default, we return the actual exit status
already cleaned through WEXITSTATUS and treat signals as a
failed command; but the few callers that care can ask for raw
status and act on it themselves.

* src/util/vircommand.h (virCommandRawStatus): New prototype.
* src/libvirt_private.syms (util/command.h): Export it.
* docs/internals/command.html.in: Document it.
* src/util/vircommand.c (virCommandRawStatus): New function.
(virCommandWait): Adjust semantics.
* tests/commandtest.c (test1): Test it.
* daemon/remote.c (remoteDispatchAuthPolkit): Adjust callers.
* src/access/viraccessdriverpolkit.c (virAccessDriverPolkitCheck):
Likewise.
* src/fdstream.c (virFDStreamCloseInt): Likewise.
* src/lxc/lxc_process.c (virLXCProcessStart): Likewise.
* src/qemu/qemu_command.c (qemuCreateInBridgePortWithHelper):
Likewise.
* src/xen/xen_driver.c (xenUnifiedXendProbe): Simplify.
* tests/reconnect.c (mymain): Likewise.
* tests/statstest.c (mymain): Likewise.
* src/bhyve/bhyve_process.c (virBhyveProcessStart)
(virBhyveProcessStop): Don't overwrite virCommand error.
* src/libvirt.c (virConnectAuthGainPolkit): Likewise.
* src/openvz/openvz_driver.c (openvzDomainGetBarrierLimit)
(openvzDomainSetBarrierLimit): Likewise.
* src/util/virebtables.c (virEbTablesOnceInit): Likewise.
* src/util/viriptables.c (virIpTablesOnceInit): Likewise.
* src/util/virnetdevveth.c (virNetDevVethCreate): Fix debug
message.
* src/qemu/qemu_capabilities.c (virQEMUCapsInitQMP): Add comment.
* src/storage/storage_backend_iscsi.c
(virStorageBackendISCSINodeUpdate): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
2014-03-03 12:40:32 -07:00
..
api_extension xen_xs: name xendConfigVersion magic numbers 2012-02-01 16:28:17 -07:00
devhelp maint: consolidate several .gitignore files 2012-02-03 15:27:16 -07:00
html maint: consolidate several .gitignore files 2012-02-03 15:27:16 -07:00
internals util: make it easier to grab only regular command exit 2014-03-03 12:40:32 -07:00
schemas conf: Add keyboard input device type 2014-02-19 09:16:31 +01:00
32favicon.png * docs/site.xsl docs/*.png docs/*.html: update the images from Diana, 2006-01-23 22:55:41 +00:00
404.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
acl.html.in Add documentation for access control system 2013-08-09 17:13:02 +01:00
aclpolkit.html.in docs: aclpolkit: Fix a heading typo 2013-10-04 13:38:57 -04:00
api_extension.html.in maint: improve VIR_ERR_INVALID_CONN usage 2014-01-06 21:41:02 -07:00
api.html.in Fix typos in various docs 2013-12-02 10:21:26 +08:00
apibuild.py Test for object identity when checking for None in Python 2013-08-23 08:12:26 +02:00
apps.html.in Link libvirt-sandbox from apps page 2013-12-02 10:46:40 +08:00
archdomain.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
architecture.fig Remove trailing whitespace from all xfig files 2011-10-28 10:11:16 +01:00
architecture.gif * docs/architecture.* docs/*: added a section on the architecture 2005-12-21 16:59:34 +00:00
architecture.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
archnetwork.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
archnode.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
archstorage.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
auditlog.html.in docs: fix some typos 2013-12-02 11:59:18 -07:00
auth.html.in Add documentation for access control system 2013-08-09 17:13:02 +01:00
bindings.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
bugs.html.in Fix typos in various docs 2013-12-02 10:21:26 +08:00
cgroups.html.in Improve cgroups docs to cover systemd integration 2013-11-12 11:23:00 +00:00
compiling.html.in build: honor autogen.sh --no-git 2013-07-09 16:15:29 -06:00
contact.html.in Document security reporting & handling process 2013-07-01 11:08:58 +08:00
csharp.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
deployment.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
devguide.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
docs.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
downloads.html.in docs: mention maintenance branches 2014-01-15 09:12:25 -07:00
drivers.html.in bhyve: add basic documentation 2014-03-01 23:44:58 +04:00
drvbhyve.html.in bhyve: add basic documentation 2014-03-01 23:44:58 +04:00
drvesx.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
drvhyperv.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
drvlxc.html.in LXC: added some doc on domxml-from-native with mention of limitations 2014-02-12 17:52:47 +00:00
drvopenvz.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
drvparallels.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
drvphyp.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
drvqemu.html.in Fix docs generator regression in previous commit 2013-05-03 16:58:46 +01:00
drvremote.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
drvtest.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
drvuml.html.in docs: typo fix 2014-03-03 17:41:26 +04:00
drvvbox.html.in Move VirtualBox driver into libvirtd 2013-05-16 16:28:53 +01:00
drvvmware.html.in VMware: Initial VMware Fusion support 2013-09-29 18:40:36 +08:00
drvxen.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
errors.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
et.png * docs/Makefile.am docs/et.png docs/libvirt.css docs/page.xsl 2008-04-28 08:29:35 +00:00
firewall.html.in Fix typos in various docs 2013-12-02 10:21:26 +08:00
footer_corner.png Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
footer_pattern.png Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
format.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
formatcaps.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
formatdomain.html.in Document the keyboard as a valid input type 2014-02-24 18:55:00 +01:00
formatnetwork.html.in bandwidth: Adjust documentation 2014-02-20 14:53:36 -05:00
formatnode.html.in docs: fix usb node device sub-element names 2013-08-15 11:40:50 +02:00
formatnwfilter.html.in docs: fix a typo in formatnwfilter.html.in 2013-11-15 06:00:49 -07:00
formatsecret.html.in docs: remove <auth> from secret XML format 2014-02-14 16:47:14 +01:00
formatsnapshot.html.in qemu: snapshot: Add support for external active snapshots on gluster 2014-02-14 11:07:29 +01:00
formatstorage.html.in storage: add network-dir as new storage volume type 2013-11-25 12:29:49 -07:00
formatstorageencryption.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
genaclperms.pl Add documentation for access control system 2013-08-09 17:13:02 +01:00
generic.css docs: Add some style and color to the HTML documentation 2013-01-18 15:36:38 +01:00
goals.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
governance.html.in Fix minor typo in governance doc 2014-02-04 10:43:15 -07:00
hacking1.xsl maint: tweak use of <a> in HACKING 2013-07-09 11:49:20 -06:00
hacking2.xsl maint: tweak use of <a> in HACKING 2013-07-09 11:49:20 -06:00
hacking.html.in maint: enforce comma style usage 2013-11-20 09:24:18 -07:00
hooks.html.in network: Introduce network hooks 2014-02-18 14:46:49 +01:00
hvsupport.pl New internal migration APIs with extensible parameters 2013-06-25 01:13:16 +02:00
index.html.in bhyve: add basic documentation 2014-03-01 23:44:58 +04:00
index.py Test for object identity when checking for None in Python 2013-08-23 08:12:26 +02:00
internals.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
intro.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
java.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
library.xen remove all trailing blank lines 2009-07-16 15:06:42 +02:00
libvirt-daemon-arch.fig Remove trailing whitespace from all xfig files 2011-10-28 10:11:16 +01:00
libvirt-daemon-arch.png build: regenerate .png files 2012-07-23 16:07:13 -06:00
libvirt-driver-arch.fig Remove trailing whitespace from all xfig files 2011-10-28 10:11:16 +01:00
libvirt-driver-arch.png build: regenerate .png files 2012-07-23 16:07:13 -06:00
libvirt-header-bg.png Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
libvirt-header-logo.png Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
libvirt-net-logical.fig Remove trailing whitespace from all xfig files 2011-10-28 10:11:16 +01:00
libvirt-net-logical.png build: regenerate .png files 2012-07-23 16:07:13 -06:00
libvirt-net-physical.fig Remove trailing whitespace from all xfig files 2011-10-28 10:11:16 +01:00
libvirt-net-physical.png build: regenerate .png files 2012-07-23 16:07:13 -06:00
libvirt-object-model.fig Remove trailing whitespace from all xfig files 2011-10-28 10:11:16 +01:00
libvirt-object-model.png build: regenerate .png files 2012-07-23 16:07:13 -06:00
libvirt-virConnect-example.fig internals: Update to include RPC and Lock links and add new data 2013-03-04 17:36:03 -05:00
libvirt-virConnect-example.png internals: Update to include RPC and Lock links and add new data 2013-03-04 17:36:03 -05:00
libvirt.css docs: add a permalink to html headers 2014-01-27 08:42:09 +01:00
libvirtLogo404.png Add a custom 404 error page for the website 2012-06-18 20:10:29 +01:00
libvirtLogo.png * //* : renamed the project libvirt , this affects all makefiles, 2006-02-09 17:45:11 +00:00
locking.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
logging.html.in Generate a unique journald log for QEMU capabilities failure 2014-03-03 11:42:37 +00:00
madeWith.png * //* : renamed the project libvirt , this affects all makefiles, 2006-02-09 17:45:11 +00:00
main.css Split website out into one file per page. APply new layout and styling 2008-04-23 17:08:31 +00:00
Makefile.am docs: Load libvirt_access*.xml from build dir 2013-09-23 14:16:45 +02:00
migration-managed-direct.fig Remove trailing whitespace from all xfig files 2011-10-28 10:11:16 +01:00
migration-managed-direct.png Add documentation about migration. 2011-10-28 10:07:45 +01:00
migration-managed-p2p.fig Remove trailing whitespace from all xfig files 2011-10-28 10:11:16 +01:00
migration-managed-p2p.png Add documentation about migration. 2011-10-28 10:07:45 +01:00
migration-native.fig Remove trailing whitespace from all xfig files 2011-10-28 10:11:16 +01:00
migration-native.png Add documentation about migration. 2011-10-28 10:07:45 +01:00
migration-tunnel.fig Remove trailing whitespace from all xfig files 2011-10-28 10:11:16 +01:00
migration-tunnel.png Add documentation about migration. 2011-10-28 10:07:45 +01:00
migration-unmanaged-direct.fig Remove trailing whitespace from all xfig files 2011-10-28 10:11:16 +01:00
migration-unmanaged-direct.png Add documentation about migration. 2011-10-28 10:07:45 +01:00
migration.html.in Fix minor typos in messages and docs 2013-07-30 07:07:33 -06:00
newapi.xsl docs: generate links from plain text documentation 2013-10-30 17:30:12 +01:00
news.html.in Release of libvirt-1.2.2 2014-03-02 23:09:45 +08:00
news.xsl Convert NEWS to UTF-8 2009-07-29 09:04:21 +01:00
node.fig Remove trailing whitespace from all xfig files 2011-10-28 10:11:16 +01:00
node.gif * doc/*: augment and try to complete the doc in its current state 2006-01-23 13:24:07 +00:00
page.xsl docs/page.xls: remove unnecessary namespace attribute 2014-01-30 15:37:38 +01:00
pending.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
php.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
python.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
relatedlinks.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
remote.html.in Fix typos in various docs 2013-12-02 10:21:26 +08:00
search.php.code.in docs: autogenerate search.php 2012-08-10 10:58:38 +02:00
search.php.in Repair the search on libvirt.org 2013-09-12 17:18:32 +08:00
secureusage.html.in Add some notes about secure usage of libvirt 2013-10-15 11:33:01 +01:00
securityprocess.html.in Fix three minor typos 2013-11-26 18:37:09 +08:00
site.xsl Fix docs generator regression in previous commit 2013-05-03 16:58:46 +01:00
sitemap.html.in bhyve: add basic documentation 2014-03-01 23:44:58 +04:00
storage.html.in Fix typos in various docs 2013-12-02 10:21:26 +08:00
structures.fig Remove trailing whitespace from all xfig files 2011-10-28 10:11:16 +01:00
subsite.xsl virCommand: docs for usage of new command APIs 2010-12-02 16:00:47 -07:00
testapi.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
testsuites.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
testtck.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
todo.cfg-example Add automatic generation of a todo item page 2010-10-12 11:26:52 +01:00
todo.pl Fix namespace bugs in API docs, todo page & hv support page 2013-05-07 11:19:04 +01:00
uri.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
virshcmdref.html.in Fix multiple formatting problems in HTML docs 2013-05-03 15:56:15 +01:00
windows.html.in Point users to Virt-Viewer MSI installers for Windows builds 2013-05-07 15:29:37 +01:00
wrapstring.xsl Generate HACKING from docs/hacking.html.in 2010-11-12 19:47:20 +01:00