Version 1.7.1. 1.7.1
authorRichard W.M. Jones <rjones@redhat.com>
Wed, 3 Nov 2010 21:09:51 +0000 (21:09 +0000)
committerRichard W.M. Jones <rjones@redhat.com>
Wed, 3 Nov 2010 21:09:51 +0000 (21:09 +0000)
17 files changed:
BUGS
configure.ac
po-docs/ja.po
po-docs/libguestfs-docs.pot
po/es.po
po/gu.po
po/hi.po
po/kn.po
po/libguestfs.pot
po/ml.po
po/mr.po
po/nl.po
po/or.po
po/pa.po
po/pl.po
po/ta.po
po/te.po

diff --git a/BUGS b/BUGS
index 8dd3dbe..f3d1f52 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1,5 +1,5 @@
 NOTE: This file is automatically generated from "update-bugs".
-Last updated: 2010-11-02 16:23:30
+Last updated: 2010-11-03 21:09:22
 
 This contains a local list of the bugs that are open against
 libguestfs.  Bugs are tracked in the Red Hat Bugzilla database
index e2a6b91..da37b8d 100644 (file)
@@ -18,7 +18,7 @@
 # major/minor/release must be numbers
 m4_define([libguestfs_major],   [1])
 m4_define([libguestfs_minor],   [7])
-m4_define([libguestfs_release], [0])
+m4_define([libguestfs_release], [1])
 # extra can be any string
 m4_define([libguestfs_extra],   [])
 
index 001d756..d5b5312 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: libguestfs@redhat.com\n"
-"POT-Creation-Date: 2010-11-02 16:23+0000\n"
+"POT-Creation-Date: 2010-11-03 21:09+0000\n"
 "PO-Revision-Date: 2010-09-02 14:46+0100\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -778,26 +778,26 @@ msgstr ""
 # type: =item
 #: ../src/guestfs.pod:360 ../src/guestfs.pod:365 ../src/guestfs.pod:370
 #: ../src/guestfs.pod:374 ../src/guestfs.pod:379 ../src/guestfs.pod:383
-#: ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:1159
-#: ../src/guestfs.pod:1164 ../src/guestfs.pod:1168 ../src/guestfs.pod:1384
-#: ../src/guestfs.pod:1389 ../src/guestfs.pod:1393 ../src/guestfs.pod:1495
-#: ../src/guestfs.pod:1499 ../src/guestfs.pod:1503 ../src/guestfs.pod:1508
-#: ../src/guestfs.pod:1516 ../src/guestfs.pod:1535 ../src/guestfs.pod:1543
-#: ../src/guestfs.pod:1773 ../src/guestfs.pod:1779 ../src/guestfs.pod:1784
-#: ../src/guestfs.pod:1790 ../src/guestfs.pod:1897 ../src/guestfs.pod:1901
-#: ../src/guestfs.pod:1905 ../src/guestfs.pod:1909
-#: ../src/guestfs-actions.pod:14 ../src/guestfs-actions.pod:21
-#: ../src/guestfs-actions.pod:438 ../src/guestfs-actions.pod:446
-#: ../src/guestfs-actions.pod:453 ../src/guestfs-actions.pod:460
-#: ../src/guestfs-actions.pod:1351 ../src/guestfs-actions.pod:1355
-#: ../src/guestfs-actions.pod:1359 ../src/guestfs-actions.pod:1363
-#: ../src/guestfs-actions.pod:1371 ../src/guestfs-actions.pod:1375
-#: ../src/guestfs-actions.pod:1379 ../src/guestfs-actions.pod:1389
-#: ../src/guestfs-actions.pod:1393 ../src/guestfs-actions.pod:1397
-#: ../src/guestfs-actions.pod:1520 ../src/guestfs-actions.pod:1524
-#: ../src/guestfs-actions.pod:1529 ../src/guestfs-actions.pod:1534
-#: ../src/guestfs-actions.pod:1586 ../src/guestfs-actions.pod:1590
-#: ../src/guestfs-actions.pod:1595 ../fish/guestfish.pod:364
+#: ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:1224
+#: ../src/guestfs.pod:1229 ../src/guestfs.pod:1233 ../src/guestfs.pod:1449
+#: ../src/guestfs.pod:1454 ../src/guestfs.pod:1458 ../src/guestfs.pod:1560
+#: ../src/guestfs.pod:1564 ../src/guestfs.pod:1568 ../src/guestfs.pod:1573
+#: ../src/guestfs.pod:1581 ../src/guestfs.pod:1600 ../src/guestfs.pod:1608
+#: ../src/guestfs.pod:1838 ../src/guestfs.pod:1844 ../src/guestfs.pod:1849
+#: ../src/guestfs.pod:1855 ../src/guestfs.pod:1962 ../src/guestfs.pod:1966
+#: ../src/guestfs.pod:1970 ../src/guestfs.pod:1974
+#: ../src/guestfs-actions.pod:15 ../src/guestfs-actions.pod:22
+#: ../src/guestfs-actions.pod:461 ../src/guestfs-actions.pod:469
+#: ../src/guestfs-actions.pod:476 ../src/guestfs-actions.pod:483
+#: ../src/guestfs-actions.pod:1422 ../src/guestfs-actions.pod:1426
+#: ../src/guestfs-actions.pod:1430 ../src/guestfs-actions.pod:1434
+#: ../src/guestfs-actions.pod:1442 ../src/guestfs-actions.pod:1446
+#: ../src/guestfs-actions.pod:1450 ../src/guestfs-actions.pod:1460
+#: ../src/guestfs-actions.pod:1464 ../src/guestfs-actions.pod:1468
+#: ../src/guestfs-actions.pod:1596 ../src/guestfs-actions.pod:1600
+#: ../src/guestfs-actions.pod:1605 ../src/guestfs-actions.pod:1610
+#: ../src/guestfs-actions.pod:1665 ../src/guestfs-actions.pod:1669
+#: ../src/guestfs-actions.pod:1674 ../fish/guestfish.pod:364
 #: ../fish/guestfish.pod:368 ../fish/guestfish.pod:372
 #: ../fish/guestfish.pod:376 ../fish/guestfish-actions.pod:13
 #: ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:339
@@ -939,7 +939,7 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:440
+#: ../src/guestfs.pod:440 ../src/guestfs.pod:953
 msgid "1."
 msgstr ""
 
@@ -957,7 +957,7 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:446
+#: ../src/guestfs.pod:446 ../src/guestfs.pod:957
 msgid "2."
 msgstr ""
 
@@ -984,7 +984,7 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:457
+#: ../src/guestfs.pod:457 ../src/guestfs.pod:963
 msgid "3."
 msgstr ""
 
@@ -1609,32 +1609,11 @@ msgstr ""
 
 # type: =item
 #: ../src/guestfs.pod:773
-msgid "Library should return errno with error messages."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:775
-msgid ""
-"It would be a nice-to-have to be able to get the original value of 'errno' "
-"from inside the appliance along error paths (where set).  Currently "
-"L<guestmount(1)> goes through hoops to try to reverse the error message "
-"string into an errno, see the function error() in fuse/guestmount.c."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:781
-msgid ""
-"In libguestfs 1.5.4, the protocol was changed so that the Linux errno is "
-"sent back from the daemon."
-msgstr ""
-
-# type: =item
-#: ../src/guestfs.pod:784
 msgid "Ambiguity between devices and paths"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:786
+#: ../src/guestfs.pod:775
 msgid ""
 "There is a subtle ambiguity in the API between a device name (eg. C</dev/"
 "sdb2>) and a similar pathname.  A file might just happen to be called "
@@ -1642,7 +1621,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:791
+#: ../src/guestfs.pod:780
 msgid ""
 "In the current API we usually resolve this ambiguity by having two separate "
 "calls, for example L</guestfs_checksum> and L</guestfs_checksum_device>.  "
@@ -1651,7 +1630,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:797
+#: ../src/guestfs.pod:786
 msgid ""
 "To avoid both the ambiguity and the need to duplicate some calls, we could "
 "make paths/devices into structured names.  One way to do this would be to "
@@ -1661,7 +1640,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:803
+#: ../src/guestfs.pod:792
 #, no-wrap
 msgid ""
 " type path = Path of string | Device of int | Partition of int * int\n"
@@ -1669,12 +1648,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:805
+#: ../src/guestfs.pod:794
 msgid "which would allow you to pass arguments like:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:807
+#: ../src/guestfs.pod:796
 #, no-wrap
 msgid ""
 " Path \"/foo/bar\"\n"
@@ -1685,19 +1664,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:812
+#: ../src/guestfs.pod:801
 msgid ""
 "As you can see there are still problems to resolve even with this "
 "representation.  Also consider how it might work in guestfish."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:817
+#: ../src/guestfs.pod:806
 msgid "PROTOCOL LIMITS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:819
+#: ../src/guestfs.pod:808
 msgid ""
 "Internally libguestfs uses a message-based protocol to pass API calls and "
 "their responses to and from a small \"appliance\" (see L</INTERNALS> for "
@@ -1708,7 +1687,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:827
+#: ../src/guestfs.pod:816
 msgid ""
 "A simple call such as L</guestfs_cat> returns its result (the file data) in "
 "a simple string.  Because this string is at some point internally encoded as "
@@ -1717,7 +1696,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:833
+#: ../src/guestfs.pod:822
 msgid ""
 "In order to transfer large files into and out of the guest filesystem, you "
 "need to use particular calls that support this.  The sections L</UPLOADING> "
@@ -1725,26 +1704,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:837
+#: ../src/guestfs.pod:826
 msgid ""
 "You might also consider mounting the disk image using our FUSE filesystem "
 "support (L<guestmount(1)>)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:840
+#: ../src/guestfs.pod:829
 msgid "KEYS AND PASSPHRASES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:842
+#: ../src/guestfs.pod:831
 msgid ""
 "Certain libguestfs calls take a parameter that contains sensitive key "
 "material, passed in as a C string."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:845
+#: ../src/guestfs.pod:834
 msgid ""
 "In the future we would hope to change the libguestfs implementation so that "
 "keys are L<mlock(2)>-ed into physical RAM, and thus can never end up in "
@@ -1753,7 +1732,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:850
+#: ../src/guestfs.pod:839
 msgid ""
 "Therefore you should be aware that any key parameter you pass to libguestfs "
 "might end up being written out to the swap partition.  If this is a concern, "
@@ -1761,17 +1740,17 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:855
+#: ../src/guestfs.pod:844
 msgid "CONNECTION MANAGEMENT"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:857
+#: ../src/guestfs.pod:846
 msgid "guestfs_h *"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:859
+#: ../src/guestfs.pod:848
 msgid ""
 "C<guestfs_h> is the opaque type representing a connection handle.  Create a "
 "handle by calling L</guestfs_create>.  Call L</guestfs_close> to free the "
@@ -1779,19 +1758,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:863
+#: ../src/guestfs.pod:852
 msgid ""
 "For information on using multiple handles and threads, see the section L</"
 "MULTIPLE HANDLES AND MULTIPLE THREADS> below."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:866
+#: ../src/guestfs.pod:855
 msgid "guestfs_create"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:868
+#: ../src/guestfs.pod:857
 #, no-wrap
 msgid ""
 " guestfs_h *guestfs_create (void);\n"
@@ -1799,43 +1778,43 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:870
+#: ../src/guestfs.pod:859
 msgid "Create a connection handle."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:872
+#: ../src/guestfs.pod:861
 msgid ""
 "You have to call L</guestfs_add_drive_opts> (or one of the equivalent calls) "
 "on the handle at least once."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:875
+#: ../src/guestfs.pod:864
 msgid ""
 "This function returns a non-NULL pointer to a handle on success or NULL on "
 "error."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:878
+#: ../src/guestfs.pod:867
 msgid "After configuring the handle, you have to call L</guestfs_launch>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:880
+#: ../src/guestfs.pod:869
 msgid ""
 "You may also want to configure error handling for the handle.  See L</ERROR "
 "HANDLING> section below."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:883
+#: ../src/guestfs.pod:872
 msgid "guestfs_close"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:885
+#: ../src/guestfs.pod:874
 #, no-wrap
 msgid ""
 " void guestfs_close (guestfs_h *g);\n"
@@ -1843,44 +1822,126 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:887
+#: ../src/guestfs.pod:876
 msgid "This closes the connection handle and frees up all resources used."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:889
+#: ../src/guestfs.pod:878
 msgid "ERROR HANDLING"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:891
+#: ../src/guestfs.pod:880
+msgid ""
+"API functions can return errors.  For example, almost all functions that "
+"return C<int> will return C<-1> to indicate an error."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:883
 msgid ""
-"The convention in all functions that return C<int> is that they return C<-1> "
-"to indicate an error.  You can get additional information on errors by "
-"calling L</guestfs_last_error> and/or by setting up an error handler with L</"
-"guestfs_set_error_handler>."
+"Additional information is available for errors: an error message string and "
+"optionally an error number (errno) if the thing that failed was a system "
+"call."
 msgstr ""
 
 # type: textblock
+#: ../src/guestfs.pod:887
+msgid ""
+"You can get at the additional information about the last error on the handle "
+"by calling L</guestfs_last_error>, L</guestfs_last_errno>, and/or by setting "
+"up an error handler with L</guestfs_set_error_handler>."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:892
+msgid ""
+"When the handle is created, a default error handler is installed which "
+"prints the error message string to C<stderr>.  For small short-running "
+"command line programs it is sufficient to do:"
+msgstr ""
+
+# type: verbatim
 #: ../src/guestfs.pod:896
-msgid "The default error handler prints the information string to C<stderr>."
+#, no-wrap
+msgid ""
+" if (guestfs_launch (g) == -1)\n"
+"   exit (EXIT_FAILURE);\n"
+"\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:898
+#: ../src/guestfs.pod:899
+msgid ""
+"since the default error handler will ensure that an error message has been "
+"printed to C<stderr> before the program exits."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:902
+msgid ""
+"For other programs the caller will almost certainly want to install an "
+"alternate error handler or do error handling in-line like this:"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs.pod:905
+#, no-wrap
+msgid ""
+" g = guestfs_create ();\n"
+" \n"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs.pod:907
+#, no-wrap
+msgid ""
+" /* This disables the default behaviour of printing errors\n"
+"    on stderr. */\n"
+" guestfs_set_error_handler (g, NULL, NULL);\n"
+" \n"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs.pod:911
+#, no-wrap
+msgid ""
+" if (guestfs_launch (g) == -1) {\n"
+"   /* Examine the error message and print it etc. */\n"
+"   char *msg = guestfs_last_error (g);\n"
+"   int errnum = guestfs_last_errno (g);\n"
+"   fprintf (stderr, \"%s\\n\", msg);\n"
+"   /* ... */\n"
+"  }\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:919
 msgid ""
 "Out of memory errors are handled differently.  The default action is to call "
 "L<abort(3)>.  If this is undesirable, then you can set a handler using L</"
 "guestfs_set_out_of_memory_handler>."
 msgstr ""
 
+# type: textblock
+#: ../src/guestfs.pod:923
+msgid ""
+"L</guestfs_create> returns C<NULL> if the handle cannot be created, and "
+"because there is no handle if this happens there is no way to get additional "
+"error information.  However L</guestfs_create> is supposed to be a "
+"lightweight operation which can only fail because of insufficient memory (it "
+"returns NULL in this case)."
+msgstr ""
+
 # type: =head2
-#: ../src/guestfs.pod:902
+#: ../src/guestfs.pod:929
 msgid "guestfs_last_error"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:904
+#: ../src/guestfs.pod:931
 #, no-wrap
 msgid ""
 " const char *guestfs_last_error (guestfs_h *g);\n"
@@ -1888,34 +1949,86 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:906
+#: ../src/guestfs.pod:933
 msgid ""
 "This returns the last error message that happened on C<g>.  If there has not "
 "been an error since the handle was created, then this returns C<NULL>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:910
+#: ../src/guestfs.pod:937
 msgid ""
 "The lifetime of the returned string is until the next error occurs, or L</"
 "guestfs_close> is called."
 msgstr ""
 
+# type: =head2
+#: ../src/guestfs.pod:940
+msgid "guestfs_last_errno"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs.pod:942
+#, no-wrap
+msgid ""
+" int guestfs_last_errno (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:944
+msgid "This returns the last error number (errno) that happened on C<g>."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:946
+msgid "If successful, an errno integer not equal to zero is returned."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:948
+msgid ""
+"If no error, this returns 0.  This call can return 0 in three situations:"
+msgstr ""
+
 # type: textblock
-#: ../src/guestfs.pod:913
+#: ../src/guestfs.pod:955
+msgid "There has not been any error on the handle."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:959
+msgid ""
+"There has been an error but the errno was meaningless.  This corresponds to "
+"the case where the error did not come from a failed system call, but for "
+"some other reason."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:965
 msgid ""
-"The error string is not localized (ie. is always in English), because this "
-"makes searching for error messages in search engines give the largest number "
-"of results."
+"There was an error from a failed system call, but for some reason the errno "
+"was not captured and returned.  This usually indicates a bug in libguestfs."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:971
+msgid ""
+"Libguestfs tries to convert the errno from inside the applicance into a "
+"corresponding errno for the caller (not entirely trivial: the appliance "
+"might be running a completely different operating system from the library "
+"and error numbers are not standardized across Un*xen).  If this could not be "
+"done, then the error is translated to C<EINVAL>.  In practice this should "
+"only happen in very rare circumstances."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:917
+#: ../src/guestfs.pod:979
 msgid "guestfs_set_error_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:919
+#: ../src/guestfs.pod:981
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n"
@@ -1928,7 +2041,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:926
+#: ../src/guestfs.pod:988
 msgid ""
 "The callback C<cb> will be called if there is an error.  The parameters "
 "passed to the callback are an opaque data pointer and the error message "
@@ -1936,7 +2049,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:930
+#: ../src/guestfs.pod:992
+msgid ""
+"C<errno> is not passed to the callback.  To get that the callback must call "
+"L</guestfs_last_errno>."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:995
 msgid ""
 "Note that the message string C<msg> is freed as soon as the callback "
 "function returns, so if you want to stash it somewhere you must make your "
@@ -1944,22 +2064,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:934
+#: ../src/guestfs.pod:999
 msgid "The default handler prints messages on C<stderr>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:936
+#: ../src/guestfs.pod:1001
 msgid "If you set C<cb> to C<NULL> then I<no> handler is called."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:938
+#: ../src/guestfs.pod:1003
 msgid "guestfs_get_error_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:940
+#: ../src/guestfs.pod:1005
 #, no-wrap
 msgid ""
 " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n"
@@ -1968,17 +2088,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:943
+#: ../src/guestfs.pod:1008
 msgid "Returns the current error handler callback."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:945
+#: ../src/guestfs.pod:1010
 msgid "guestfs_set_out_of_memory_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:947
+#: ../src/guestfs.pod:1012
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_abort_cb) (void);\n"
@@ -1988,30 +2108,30 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:951
+#: ../src/guestfs.pod:1016
 msgid ""
 "The callback C<cb> will be called if there is an out of memory situation.  "
 "I<Note this callback must not return>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:954
+#: ../src/guestfs.pod:1019
 msgid "The default is to call L<abort(3)>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:956
+#: ../src/guestfs.pod:1021
 msgid ""
 "You cannot set C<cb> to C<NULL>.  You can't ignore out of memory situations."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:959
+#: ../src/guestfs.pod:1024
 msgid "guestfs_get_out_of_memory_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:961
+#: ../src/guestfs.pod:1026
 #, no-wrap
 msgid ""
 " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n"
@@ -2019,31 +2139,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:963
+#: ../src/guestfs.pod:1028
 msgid "This returns the current out of memory handler."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:965
+#: ../src/guestfs.pod:1030
 msgid "PATH"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:967
+#: ../src/guestfs.pod:1032
 msgid ""
 "Libguestfs needs a kernel and initrd.img, which it finds by looking along an "
 "internal path."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:970
+#: ../src/guestfs.pod:1035
 msgid ""
 "By default it looks for these in the directory C<$libdir/guestfs> (eg. C</"
 "usr/local/lib/guestfs> or C</usr/lib64/guestfs>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:973
+#: ../src/guestfs.pod:1038
 msgid ""
 "Use L</guestfs_set_path> or set the environment variable L</LIBGUESTFS_PATH> "
 "to change the directories that libguestfs will search in.  The value is a "
@@ -2054,17 +2174,17 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:980
+#: ../src/guestfs.pod:1045
 msgid "HIGH-LEVEL API ACTIONS"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:982
+#: ../src/guestfs.pod:1047
 msgid "ABI GUARANTEE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:984
+#: ../src/guestfs.pod:1049
 msgid ""
 "We guarantee the libguestfs ABI (binary interface), for public, high-level "
 "actions as outlined in this section.  Although we will deprecate some "
@@ -2074,32 +2194,32 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:990 ../fish/guestfish.pod:860
+#: ../src/guestfs.pod:1055 ../fish/guestfish.pod:860
 msgid "@ACTIONS@"
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:992
+#: ../src/guestfs.pod:1057
 msgid "STRUCTURES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:994
+#: ../src/guestfs.pod:1059
 msgid "@STRUCTS@"
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:996
+#: ../src/guestfs.pod:1061
 msgid "AVAILABILITY"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:998
+#: ../src/guestfs.pod:1063
 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1000
+#: ../src/guestfs.pod:1065
 msgid ""
 "Using L</guestfs_available> you can test availability of the following "
 "groups of functions.  This test queries the appliance to see if the "
@@ -2107,17 +2227,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1005
+#: ../src/guestfs.pod:1070
 msgid "@AVAILABILITY@"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1007
+#: ../src/guestfs.pod:1072
 msgid "GUESTFISH supported COMMAND"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1009
+#: ../src/guestfs.pod:1074
 msgid ""
 "In L<guestfish(3)> there is a handy interactive command C<supported> which "
 "prints out the available groups and whether they are supported by this build "
@@ -2125,19 +2245,19 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1014
+#: ../src/guestfs.pod:1079
 msgid "SINGLE CALLS AT COMPILE TIME"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1016
+#: ../src/guestfs.pod:1081
 msgid ""
 "Since version 1.5.8, C<E<lt>guestfs.hE<gt>> defines symbols for each C API "
 "function, such as:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1019
+#: ../src/guestfs.pod:1084
 #, no-wrap
 msgid ""
 " #define LIBGUESTFS_HAVE_DD 1\n"
@@ -2145,12 +2265,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1021
+#: ../src/guestfs.pod:1086
 msgid "if L</guestfs_dd> is available."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1023
+#: ../src/guestfs.pod:1088
 msgid ""
 "Before version 1.5.8, if you needed to test whether a single libguestfs "
 "function is available at compile time, we recommended using build tools such "
@@ -2158,7 +2278,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1028
+#: ../src/guestfs.pod:1093
 #, no-wrap
 msgid ""
 " AC_CHECK_LIB([guestfs],[guestfs_create])\n"
@@ -2167,19 +2287,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1031
+#: ../src/guestfs.pod:1096
 msgid ""
 "which would result in C<HAVE_GUESTFS_DD> being either defined or not defined "
 "in your program."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1034
+#: ../src/guestfs.pod:1099
 msgid "SINGLE CALLS AT RUN TIME"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1036
+#: ../src/guestfs.pod:1101
 msgid ""
 "Testing at compile time doesn't guarantee that a function really exists in "
 "the library.  The reason is that you might be dynamically linked against a "
@@ -2189,7 +2309,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1043
+#: ../src/guestfs.pod:1108
 msgid ""
 "You can use L<dlopen(3)> to test if a function is available at run time, as "
 "in this example program (note that you still need the compile time check as "
@@ -2197,7 +2317,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1047
+#: ../src/guestfs.pod:1112
 #, no-wrap
 msgid ""
 " #include <stdio.h>\n"
@@ -2209,7 +2329,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1053
+#: ../src/guestfs.pod:1118
 #, no-wrap
 msgid ""
 " main ()\n"
@@ -2221,7 +2341,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1059
+#: ../src/guestfs.pod:1124
 #, no-wrap
 msgid ""
 "   /* Test if the function guestfs_dd is really available. */\n"
@@ -2236,7 +2356,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1068
+#: ../src/guestfs.pod:1133
 #, no-wrap
 msgid ""
 "   if (!has_function)\n"
@@ -2255,7 +2375,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1081
+#: ../src/guestfs.pod:1146
 msgid ""
 "You may think the above is an awful lot of hassle, and it is.  There are "
 "other ways outside of the C linking system to ensure that this kind of "
@@ -2263,7 +2383,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1086
+#: ../src/guestfs.pod:1151
 #, no-wrap
 msgid ""
 " Requires: libguestfs >= 1.0.80\n"
@@ -2271,12 +2391,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1088
+#: ../src/guestfs.pod:1153
 msgid "CALLS WITH OPTIONAL ARGUMENTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1090
+#: ../src/guestfs.pod:1155
 msgid ""
 "A recent feature of the API is the introduction of calls which take optional "
 "arguments.  In C these are declared 3 ways.  The main way is as a call which "
@@ -2284,7 +2404,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1095
+#: ../src/guestfs.pod:1160
 #, no-wrap
 msgid ""
 " int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n"
@@ -2292,14 +2412,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1097
+#: ../src/guestfs.pod:1162
 msgid ""
 "Call this with a list of optional arguments, terminated by C<-1>.  So to "
 "call with no optional arguments specified:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1100
+#: ../src/guestfs.pod:1165
 #, no-wrap
 msgid ""
 " guestfs_add_drive_opts (g, filename, -1);\n"
@@ -2307,12 +2427,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1102
+#: ../src/guestfs.pod:1167
 msgid "With a single optional argument:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1104
+#: ../src/guestfs.pod:1169
 #, no-wrap
 msgid ""
 " guestfs_add_drive_opts (g, filename,\n"
@@ -2322,12 +2442,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1108
+#: ../src/guestfs.pod:1173
 msgid "With two:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1110
+#: ../src/guestfs.pod:1175
 #, no-wrap
 msgid ""
 " guestfs_add_drive_opts (g, filename,\n"
@@ -2338,19 +2458,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1115
+#: ../src/guestfs.pod:1180
 msgid ""
 "and so forth.  Don't forget the terminating C<-1> otherwise Bad Things will "
 "happen!"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1118
+#: ../src/guestfs.pod:1183
 msgid "USING va_list FOR OPTIONAL ARGUMENTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1120
+#: ../src/guestfs.pod:1185
 msgid ""
 "The second variant has the same name with the suffix C<_va>, which works the "
 "same way but takes a C<va_list>.  See the C manual for details.  For the "
@@ -2358,7 +2478,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1124
+#: ../src/guestfs.pod:1189
 #, no-wrap
 msgid ""
 " int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n"
@@ -2367,12 +2487,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1127
+#: ../src/guestfs.pod:1192
 msgid "CONSTRUCTING OPTIONAL ARGUMENTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1129
+#: ../src/guestfs.pod:1194
 msgid ""
 "The third variant is useful where you need to construct these calls.  You "
 "pass in a structure where you fill in the optional fields.  The structure "
@@ -2382,7 +2502,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1135
+#: ../src/guestfs.pod:1200
 #, no-wrap
 msgid ""
 " struct guestfs_add_drive_opts_argv {\n"
@@ -2397,12 +2517,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1144
+#: ../src/guestfs.pod:1209
 msgid "You could call it like this:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1146
+#: ../src/guestfs.pod:1211
 #, no-wrap
 msgid ""
 " struct guestfs_add_drive_opts_argv optargs = {\n"
@@ -2415,7 +2535,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1153
+#: ../src/guestfs.pod:1218
 #, no-wrap
 msgid ""
 " guestfs_add_drive_opts_argv (g, filename, &optargs);\n"
@@ -2423,36 +2543,36 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1155 ../src/guestfs-actions.pod:10
-#: ../src/guestfs-actions.pod:1582 ../fish/guestfish-actions.pod:9
+#: ../src/guestfs.pod:1220 ../src/guestfs-actions.pod:11
+#: ../src/guestfs-actions.pod:1661 ../fish/guestfish-actions.pod:9
 #: ../fish/guestfish-actions.pod:1244
 msgid "Notes:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1161
+#: ../src/guestfs.pod:1226
 msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1166
+#: ../src/guestfs.pod:1231
 msgid "You do not need to fill in all fields of the structure."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1170
+#: ../src/guestfs.pod:1235
 msgid ""
 "There must be a one-to-one correspondence between fields of the structure "
 "that are filled in, and bits set in the bitmask."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1175
+#: ../src/guestfs.pod:1240
 msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1177
+#: ../src/guestfs.pod:1242
 msgid ""
 "In other languages, optional arguments are expressed in the way that is "
 "natural for that language.  We refer you to the language-specific "
@@ -2460,29 +2580,29 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1181
+#: ../src/guestfs.pod:1246
 msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>."
 msgstr ""
 
 # type: =end
-#: ../src/guestfs.pod:1183 ../src/guestfs.pod:1188
+#: ../src/guestfs.pod:1248 ../src/guestfs.pod:1253
 msgid "html"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1185
+#: ../src/guestfs.pod:1250
 msgid ""
 "<!-- old anchor for the next section --> <a name="
 "\"state_machine_and_low_level_event_api\"/>"
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1190
+#: ../src/guestfs.pod:1255
 msgid "ARCHITECTURE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1192
+#: ../src/guestfs.pod:1257
 msgid ""
 "Internally, libguestfs is implemented by running an appliance (a special "
 "type of small virtual machine) using L<qemu(1)>.  Qemu runs as a child "
@@ -2490,7 +2610,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1196
+#: ../src/guestfs.pod:1261
 #, no-wrap
 msgid ""
 "  ___________________\n"
@@ -2516,14 +2636,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1216
+#: ../src/guestfs.pod:1281
 msgid ""
 "The library, linked to the main program, creates the child process and hence "
 "the appliance in the L</guestfs_launch> function."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1219
+#: ../src/guestfs.pod:1284
 msgid ""
 "Inside the appliance is a Linux kernel and a complete stack of userspace "
 "tools (such as LVM and ext2 programs) and a small controlling daemon called "
@@ -2535,7 +2655,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1228
+#: ../src/guestfs.pod:1293
 msgid ""
 "A common misunderstanding is that the appliance \"is\" the virtual machine.  "
 "Although the disk image you are attached to might also be used by some "
@@ -2546,17 +2666,17 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1235
+#: ../src/guestfs.pod:1300
 msgid "STATE MACHINE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1237
+#: ../src/guestfs.pod:1302
 msgid "libguestfs uses a state machine to model the child process:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1239
+#: ../src/guestfs.pod:1304
 #, no-wrap
 msgid ""
 "                         |\n"
@@ -2584,7 +2704,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1261
+#: ../src/guestfs.pod:1326
 msgid ""
 "The normal transitions are (1) CONFIG (when the handle is created, but there "
 "is no child process), (2) LAUNCHING (when the child process is booting up), "
@@ -2593,7 +2713,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1266
+#: ../src/guestfs.pod:1331
 msgid ""
 "The guest may be killed by L</guestfs_kill_subprocess>, or may die "
 "asynchronously at any time (eg. due to some internal error), and that causes "
@@ -2601,14 +2721,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1270
+#: ../src/guestfs.pod:1335
 msgid ""
 "Configuration commands for qemu such as L</guestfs_add_drive> can only be "
 "issued when in the CONFIG state."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1273
+#: ../src/guestfs.pod:1338
 msgid ""
 "The API offers one call that goes from CONFIG through LAUNCHING to READY.  "
 "L</guestfs_launch> blocks until the child process is READY to accept "
@@ -2617,7 +2737,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1279
+#: ../src/guestfs.pod:1344
 msgid ""
 "API actions such as L</guestfs_mount> can only be issued when in the READY "
 "state.  These API calls block waiting for the command to be carried out (ie. "
@@ -2627,7 +2747,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1285
+#: ../src/guestfs.pod:1350
 msgid ""
 "Finally, the child process sends asynchronous messages back to the main "
 "program, such as kernel log messages.  You can register a callback to "
@@ -2635,26 +2755,26 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1289
+#: ../src/guestfs.pod:1354
 msgid "SETTING CALLBACKS TO HANDLE EVENTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1291
+#: ../src/guestfs.pod:1356
 msgid ""
 "The child process generates events in some situations.  Current events "
 "include: receiving a log message, the child process exits."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1294
+#: ../src/guestfs.pod:1359
 msgid ""
 "Use the C<guestfs_set_*_callback> functions to set a callback for different "
 "types of events."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1297
+#: ../src/guestfs.pod:1362
 msgid ""
 "Only I<one callback of each type> can be registered for each handle.  "
 "Calling C<guestfs_set_*_callback> again overwrites the previous callback of "
@@ -2663,12 +2783,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1302
+#: ../src/guestfs.pod:1367
 msgid "guestfs_set_log_message_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1304
+#: ../src/guestfs.pod:1369
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_log_message_cb) (guestfs_h *g, void *opaque,\n"
@@ -2680,31 +2800,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1310
+#: ../src/guestfs.pod:1375
 msgid ""
 "The callback function C<cb> will be called whenever qemu or the guest writes "
 "anything to the console."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1313
+#: ../src/guestfs.pod:1378
 msgid "Use this function to capture kernel messages and similar."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1315
+#: ../src/guestfs.pod:1380
 msgid ""
 "Normally there is no log message handler, and log messages are just "
 "discarded."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1318
+#: ../src/guestfs.pod:1383
 msgid "guestfs_set_subprocess_quit_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1320
+#: ../src/guestfs.pod:1385
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_subprocess_quit_cb) (guestfs_h *g, void *opaque);\n"
@@ -2715,7 +2835,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1325
+#: ../src/guestfs.pod:1390
 msgid ""
 "The callback function C<cb> will be called when the child process quits, "
 "either asynchronously or if killed by L</guestfs_kill_subprocess>.  (This "
@@ -2723,12 +2843,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1330
+#: ../src/guestfs.pod:1395
 msgid "guestfs_set_launch_done_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1332
+#: ../src/guestfs.pod:1397
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_launch_done_cb) (guestfs_h *g, void *opaque);\n"
@@ -2739,7 +2859,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1337
+#: ../src/guestfs.pod:1402
 msgid ""
 "The callback function C<cb> will be called when the child process becomes "
 "ready first time after it has been launched.  (This corresponds to a "
@@ -2747,12 +2867,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1341
+#: ../src/guestfs.pod:1406
 msgid "guestfs_set_close_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1343
+#: ../src/guestfs.pod:1408
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_close_cb) (guestfs_h *g, void *opaque);\n"
@@ -2763,14 +2883,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1348
+#: ../src/guestfs.pod:1413
 msgid ""
 "The callback function C<cb> will be called while the handle is being closed "
 "(synchronously from L</guestfs_close>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1351
+#: ../src/guestfs.pod:1416
 msgid ""
 "Note that libguestfs installs an L<atexit(3)> handler to try to clean up "
 "handles that are open when the program exits.  This means that this callback "
@@ -2781,12 +2901,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1359
+#: ../src/guestfs.pod:1424
 msgid "guestfs_set_progress_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1361
+#: ../src/guestfs.pod:1426
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_progress_cb) (guestfs_h *g, void *opaque,\n"
@@ -2799,7 +2919,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1368
+#: ../src/guestfs.pod:1433
 msgid ""
 "Some long-running operations can generate progress messages.  If this "
 "callback is registered, then it will be called each time a progress message "
@@ -2809,7 +2929,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1374
+#: ../src/guestfs.pod:1439
 msgid ""
 "The callback receives two numbers: C<position> and C<total>.  The units of "
 "C<total> are not defined, although for some operations C<total> may relate "
@@ -2818,31 +2938,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1380
+#: ../src/guestfs.pod:1445
 msgid "The only defined and stable parts of the API are:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1386
+#: ../src/guestfs.pod:1451
 msgid ""
 "The callback can display to the user some type of progress bar or indicator "
 "which shows the ratio of C<position>:C<total>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1391
+#: ../src/guestfs.pod:1456
 msgid "0 E<lt>= C<position> E<lt>= C<total>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1395
+#: ../src/guestfs.pod:1460
 msgid ""
 "If any progress notification is sent during a call, then a final progress "
 "notification is always sent when C<position> = C<total>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1398
+#: ../src/guestfs.pod:1463
 msgid ""
 "This is to simplify caller code, so callers can easily set the progress "
 "indicator to \"100%\" at the end of the operation, without requiring special "
@@ -2850,7 +2970,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1404
+#: ../src/guestfs.pod:1469
 msgid ""
 "The callback also receives the procedure number and serial number of the "
 "call.  These are only useful for debugging protocol issues, and the callback "
@@ -2859,12 +2979,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1409
+#: ../src/guestfs.pod:1474
 msgid "PRIVATE DATA AREA"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1411
+#: ../src/guestfs.pod:1476
 msgid ""
 "You can attach named pieces of private data to the libguestfs handle, and "
 "fetch them by name for the lifetime of the handle.  This is called the "
@@ -2872,12 +2992,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1415
+#: ../src/guestfs.pod:1480
 msgid "To attach a named piece of data, use the following call:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1417
+#: ../src/guestfs.pod:1482
 #, no-wrap
 msgid ""
 " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n"
@@ -2885,7 +3005,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1419
+#: ../src/guestfs.pod:1484
 msgid ""
 "C<key> is the name to associate with this data, and C<data> is an arbitrary "
 "pointer (which can be C<NULL>).  Any previous item with the same name is "
@@ -2893,7 +3013,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1423
+#: ../src/guestfs.pod:1488
 msgid ""
 "You can use any C<key> you want, but names beginning with an underscore "
 "character are reserved for internal libguestfs purposes (for implementing "
@@ -2902,12 +3022,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1428
+#: ../src/guestfs.pod:1493
 msgid "To retrieve the pointer, use:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1430
+#: ../src/guestfs.pod:1495
 #, no-wrap
 msgid ""
 " void *guestfs_get_private (guestfs_h *g, const char *key);\n"
@@ -2915,7 +3035,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1432
+#: ../src/guestfs.pod:1497
 msgid ""
 "This function returns C<NULL> if either no data is found associated with "
 "C<key>, or if the user previously set the C<key>'s C<data> pointer to "
@@ -2923,7 +3043,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1436
+#: ../src/guestfs.pod:1501
 msgid ""
 "Libguestfs does not try to look at or interpret the C<data> pointer in any "
 "way.  As far as libguestfs is concerned, it need not be a valid pointer at "
@@ -2935,19 +3055,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1444
+#: ../src/guestfs.pod:1509
 msgid ""
 "The private data area is implemented using a hash table, and should be "
 "reasonably efficient for moderate numbers of keys."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1447
+#: ../src/guestfs.pod:1512
 msgid "BLOCK DEVICE NAMING"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1449
+#: ../src/guestfs.pod:1514
 msgid ""
 "In the kernel there is now quite a profusion of schemata for naming block "
 "devices (in this context, by I<block device> I mean a physical or virtual "
@@ -2961,7 +3081,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1461
+#: ../src/guestfs.pod:1526
 msgid ""
 "As discussed above, libguestfs uses a qemu appliance running an embedded "
 "Linux kernel to access block devices.  We can run a variety of appliances "
@@ -2969,7 +3089,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1465
+#: ../src/guestfs.pod:1530
 msgid ""
 "This causes a problem for libguestfs because many API calls use device or "
 "partition names.  Working scripts and the recipe (example) scripts that we "
@@ -2977,7 +3097,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1470
+#: ../src/guestfs.pod:1535
 msgid ""
 "Therefore libguestfs defines C</dev/sd*> as the I<standard naming scheme>.  "
 "Internally C</dev/sd*> names are translated, if necessary, to other names as "
@@ -2986,7 +3106,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1476
+#: ../src/guestfs.pod:1541
 msgid ""
 "Note that this I<only> applies to parameters.  The L</guestfs_list_devices>, "
 "L</guestfs_list_partitions> and similar calls return the true names of the "
@@ -2994,12 +3114,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1481
+#: ../src/guestfs.pod:1546
 msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1483
+#: ../src/guestfs.pod:1548
 msgid ""
 "Usually this translation is transparent.  However in some (very rare)  cases "
 "you may need to know the exact algorithm.  Such cases include where you use "
@@ -3008,7 +3128,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1489
+#: ../src/guestfs.pod:1554
 msgid ""
 "The algorithm is applied only to I<parameters> which are known to be either "
 "device or partition names.  Return values from functions such as L</"
@@ -3016,54 +3136,54 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1497
+#: ../src/guestfs.pod:1562
 msgid "Is the string a parameter which is a device or partition name?"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1501
+#: ../src/guestfs.pod:1566
 msgid "Does the string begin with C</dev/sd>?"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1505
+#: ../src/guestfs.pod:1570
 msgid ""
 "Does the named device exist? If so, we use that device.  However if I<not> "
 "then we continue with this algorithm."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1510
+#: ../src/guestfs.pod:1575
 msgid "Replace initial C</dev/sd> string with C</dev/hd>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1512
+#: ../src/guestfs.pod:1577
 msgid "For example, change C</dev/sda2> to C</dev/hda2>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1514
+#: ../src/guestfs.pod:1579
 msgid "If that named device exists, use it.  If not, continue."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1518
+#: ../src/guestfs.pod:1583
 msgid "Replace initial C</dev/sd> string with C</dev/vd>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1520
+#: ../src/guestfs.pod:1585
 msgid "If that named device exists, use it.  If not, return an error."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1524
+#: ../src/guestfs.pod:1589
 msgid "PORTABILITY CONCERNS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1526
+#: ../src/guestfs.pod:1591
 msgid ""
 "Although the standard naming scheme and automatic translation is useful for "
 "simple programs and guestfish scripts, for larger programs it is best not to "
@@ -3071,51 +3191,51 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1530
+#: ../src/guestfs.pod:1595
 msgid ""
 "Where possible for maximum future portability programs using libguestfs "
 "should use these future-proof techniques:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1537
+#: ../src/guestfs.pod:1602
 msgid ""
 "Use L</guestfs_list_devices> or L</guestfs_list_partitions> to list actual "
 "device names, and then use those names directly."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1540
+#: ../src/guestfs.pod:1605
 msgid ""
 "Since those device names exist by definition, they will never be translated."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1545
+#: ../src/guestfs.pod:1610
 msgid ""
 "Use higher level ways to identify filesystems, such as LVM names, UUIDs and "
 "filesystem labels."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1550
+#: ../src/guestfs.pod:1615
 msgid "INTERNALS"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1552
+#: ../src/guestfs.pod:1617
 msgid "COMMUNICATION PROTOCOL"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1554
+#: ../src/guestfs.pod:1619
 msgid ""
 "Don't rely on using this protocol directly.  This section documents how it "
 "currently works, but it may change at any time."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1557
+#: ../src/guestfs.pod:1622
 msgid ""
 "The protocol used to talk between the library and the daemon running inside "
 "the qemu virtual machine is a simple RPC mechanism built on top of XDR (RFC "
@@ -3123,14 +3243,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1561
+#: ../src/guestfs.pod:1626
 msgid ""
 "The detailed format of structures is in C<src/guestfs_protocol.x> (note: "
 "this file is automatically generated)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1564
+#: ../src/guestfs.pod:1629
 msgid ""
 "There are two broad cases, ordinary functions that don't have any C<FileIn> "
 "and C<FileOut> parameters, which are handled with very simple request/reply "
@@ -3140,17 +3260,17 @@ msgid ""
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1571
+#: ../src/guestfs.pod:1636
 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1573
+#: ../src/guestfs.pod:1638
 msgid "For ordinary functions, the request message is:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1575
+#: ../src/guestfs.pod:1640
 #, no-wrap
 msgid ""
 " total length (header + arguments,\n"
@@ -3161,7 +3281,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1580
+#: ../src/guestfs.pod:1645
 msgid ""
 "The total length field allows the daemon to allocate a fixed size buffer "
 "into which it slurps the rest of the message.  As a result, the total length "
@@ -3170,26 +3290,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1586
+#: ../src/guestfs.pod:1651
 msgid ""
 "Note also that many functions don't take any arguments, in which case the "
 "C<guestfs_I<foo>_args> is completely omitted."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1589
+#: ../src/guestfs.pod:1654
 msgid ""
 "The header contains the procedure number (C<guestfs_proc>) which is how the "
 "receiver knows what type of args structure to expect, or none at all."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1593
+#: ../src/guestfs.pod:1658
 msgid "The reply message for ordinary functions is:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1595
+#: ../src/guestfs.pod:1660
 #, no-wrap
 msgid ""
 " total length (header + ret,\n"
@@ -3200,27 +3320,27 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1600
+#: ../src/guestfs.pod:1665
 msgid ""
 "As above the C<guestfs_I<foo>_ret> structure may be completely omitted for "
 "functions that return no formal return values."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1603
+#: ../src/guestfs.pod:1668
 msgid ""
 "As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1606
+#: ../src/guestfs.pod:1671
 msgid ""
 "In the case of an error, a flag is set in the header, and the reply message "
 "is slightly changed:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1609
+#: ../src/guestfs.pod:1674
 #, no-wrap
 msgid ""
 " total length (header + error,\n"
@@ -3231,19 +3351,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1614
+#: ../src/guestfs.pod:1679
 msgid ""
 "The C<guestfs_message_error> structure contains the error message as a "
 "string."
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1617
+#: ../src/guestfs.pod:1682
 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1619
+#: ../src/guestfs.pod:1684
 msgid ""
 "A C<FileIn> parameter indicates that we transfer a file I<into> the guest.  "
 "The normal request message is sent (see above).  However this is followed by "
@@ -3251,7 +3371,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1623
+#: ../src/guestfs.pod:1688
 #, no-wrap
 msgid ""
 " total length (header + arguments,\n"
@@ -3265,12 +3385,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1631
+#: ../src/guestfs.pod:1696
 msgid "The \"sequence of chunks\" is:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1633
+#: ../src/guestfs.pod:1698
 #, no-wrap
 msgid ""
 " length of chunk (not including length word itself)\n"
@@ -3284,7 +3404,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1641
+#: ../src/guestfs.pod:1706
 msgid ""
 "The final chunk has the C<data_len> field set to zero.  Additionally a flag "
 "is set in the final chunk to indicate either successful completion or early "
@@ -3292,7 +3412,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1645
+#: ../src/guestfs.pod:1710
 msgid ""
 "At time of writing there are no functions that have more than one FileIn "
 "parameter.  However this is (theoretically) supported, by sending the "
@@ -3301,7 +3421,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1650
+#: ../src/guestfs.pod:1715
 msgid ""
 "Both the library (sender) I<and> the daemon (receiver) may cancel the "
 "transfer.  The library does this by sending a chunk with a special flag set "
@@ -3310,7 +3430,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1656
+#: ../src/guestfs.pod:1721
 msgid ""
 "The daemon may also cancel.  It does this by writing a special word "
 "C<GUESTFS_CANCEL_FLAG> to the socket.  The library listens for this during "
@@ -3322,7 +3442,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1665
+#: ../src/guestfs.pod:1730
 msgid ""
 "This protocol allows the transfer of arbitrary sized files (no 32 bit "
 "limit), and also files where the size is not known in advance (eg. from "
@@ -3332,19 +3452,19 @@ msgid ""
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1671
+#: ../src/guestfs.pod:1736
 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1673
+#: ../src/guestfs.pod:1738
 msgid ""
 "The protocol for FileOut parameters is exactly the same as for FileIn "
 "parameters, but with the roles of daemon and library reversed."
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1676
+#: ../src/guestfs.pod:1741
 #, no-wrap
 msgid ""
 " total length (header + ret,\n"
@@ -3358,12 +3478,12 @@ msgid ""
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1684
+#: ../src/guestfs.pod:1749
 msgid "INITIAL MESSAGE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1686
+#: ../src/guestfs.pod:1751
 msgid ""
 "When the daemon launches it sends an initial word (C<GUESTFS_LAUNCH_FLAG>) "
 "which indicates that the guest and daemon is alive.  This is what L</"
@@ -3371,12 +3491,12 @@ msgid ""
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1690
+#: ../src/guestfs.pod:1755
 msgid "PROGRESS NOTIFICATION MESSAGES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1692
+#: ../src/guestfs.pod:1757
 msgid ""
 "The daemon may send progress notification messages at any time.  These are "
 "distinguished by the normal length word being replaced by "
@@ -3384,7 +3504,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1696
+#: ../src/guestfs.pod:1761
 msgid ""
 "The library turns them into progress callbacks (see "
 "C<guestfs_set_progress_callback>) if there is a callback registered, or "
@@ -3392,7 +3512,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1700
+#: ../src/guestfs.pod:1765
 msgid ""
 "The daemon self-limits the frequency of progress messages it sends (see "
 "C<daemon/proto.c:notify_progress>).  Not all calls generate progress "
@@ -3400,19 +3520,19 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1704
+#: ../src/guestfs.pod:1769
 msgid "MULTIPLE HANDLES AND MULTIPLE THREADS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1706
+#: ../src/guestfs.pod:1771
 msgid ""
 "All high-level libguestfs actions are synchronous.  If you want to use "
 "libguestfs asynchronously then you must create a thread."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1709
+#: ../src/guestfs.pod:1774
 msgid ""
 "Only use the handle from a single thread.  Either use the handle exclusively "
 "from one thread, or provide your own mutex so that two threads cannot issue "
@@ -3420,19 +3540,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1713
+#: ../src/guestfs.pod:1778
 msgid ""
 "See the graphical program guestfs-browser for one possible architecture for "
 "multithreaded programs using libvirt and libguestfs."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1716
+#: ../src/guestfs.pod:1781
 msgid "QEMU WRAPPERS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1718
+#: ../src/guestfs.pod:1783
 msgid ""
 "If you want to compile your own qemu, run qemu from a non-standard location, "
 "or pass extra arguments to qemu, then you can write a shell-script wrapper "
@@ -3440,7 +3560,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1722
+#: ../src/guestfs.pod:1787
 msgid ""
 "There is one important rule to remember: you I<must C<exec qemu>> as the "
 "last command in the shell script (so that qemu replaces the shell and "
@@ -3449,14 +3569,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1727
+#: ../src/guestfs.pod:1792
 msgid ""
 "Here is an example of a wrapper, where I have built my own copy of qemu from "
 "source:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1730
+#: ../src/guestfs.pod:1795
 #, no-wrap
 msgid ""
 " #!/bin/sh -\n"
@@ -3466,7 +3586,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1734
+#: ../src/guestfs.pod:1799
 msgid ""
 "Save this script as C</tmp/qemu.wrapper> (or wherever), C<chmod +x>, and "
 "then use it by setting the LIBGUESTFS_QEMU environment variable.  For "
@@ -3474,7 +3594,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1738
+#: ../src/guestfs.pod:1803
 #, no-wrap
 msgid ""
 " LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n"
@@ -3482,19 +3602,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1740
+#: ../src/guestfs.pod:1805
 msgid ""
 "Note that libguestfs also calls qemu with the -help and -version options in "
 "order to determine features."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1743
+#: ../src/guestfs.pod:1808
 msgid "LIBGUESTFS VERSION NUMBERS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1745
+#: ../src/guestfs.pod:1810
 msgid ""
 "Since April 2010, libguestfs has started to make separate development and "
 "stable releases, along with corresponding branches in our git repository.  "
@@ -3502,7 +3622,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1750
+#: ../src/guestfs.pod:1815
 #, no-wrap
 msgid ""
 "                 even numbers for stable: 1.2.x, 1.4.x, ...\n"
@@ -3519,12 +3639,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1761
+#: ../src/guestfs.pod:1826
 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1763
+#: ../src/guestfs.pod:1828
 msgid ""
 "As time passes we cherry pick fixes from the development branch and backport "
 "those into the stable branch, the effect being that the stable branch should "
@@ -3534,26 +3654,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1769
+#: ../src/guestfs.pod:1834
 msgid "Our criteria for backporting changes are:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1775
+#: ../src/guestfs.pod:1840
 msgid ""
 "Documentation changes which don't affect any code are backported unless the "
 "documentation refers to a future feature which is not in stable."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1781
+#: ../src/guestfs.pod:1846
 msgid ""
 "Bug fixes which are not controversial, fix obvious problems, and have been "
 "well tested are backported."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1786
+#: ../src/guestfs.pod:1851
 msgid ""
 "Simple rearrangements of code which shouldn't affect how it works get "
 "backported.  This is so that the code in the two branches doesn't get too "
@@ -3561,7 +3681,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1792
+#: ../src/guestfs.pod:1857
 msgid ""
 "We I<don't> backport new features, new APIs, new tools etc, except in one "
 "exceptional case: the new feature is required in order to implement an "
@@ -3569,7 +3689,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1798
+#: ../src/guestfs.pod:1863
 msgid ""
 "A new stable branch starts when we think the new features in development are "
 "substantial and compelling enough over the current stable branch to warrant "
@@ -3580,47 +3700,47 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1806 ../fish/guestfish.pod:867
+#: ../src/guestfs.pod:1871 ../fish/guestfish.pod:867
 #: ../test-tool/libguestfs-test-tool.pod:104 ../tools/virt-edit.pl:330
 #: ../tools/virt-rescue.pl:255
 msgid "ENVIRONMENT VARIABLES"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1810 ../fish/guestfish.pod:893
+#: ../src/guestfs.pod:1875 ../fish/guestfish.pod:893
 msgid "LIBGUESTFS_APPEND"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1812 ../fish/guestfish.pod:895
+#: ../src/guestfs.pod:1877 ../fish/guestfish.pod:895
 msgid "Pass additional options to the guest kernel."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1814 ../fish/guestfish.pod:897
+#: ../src/guestfs.pod:1879 ../fish/guestfish.pod:897
 msgid "LIBGUESTFS_DEBUG"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1816
+#: ../src/guestfs.pod:1881
 msgid ""
 "Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages.  This has the same "
 "effect as calling C<guestfs_set_verbose (g, 1)>."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1819 ../fish/guestfish.pod:902
+#: ../src/guestfs.pod:1884 ../fish/guestfish.pod:902
 msgid "LIBGUESTFS_MEMSIZE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1821 ../fish/guestfish.pod:904
+#: ../src/guestfs.pod:1886 ../fish/guestfish.pod:904
 msgid ""
 "Set the memory allocated to the qemu process, in megabytes.  For example:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1824 ../fish/guestfish.pod:907
+#: ../src/guestfs.pod:1889 ../fish/guestfish.pod:907
 #, no-wrap
 msgid ""
 " LIBGUESTFS_MEMSIZE=700\n"
@@ -3628,58 +3748,58 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1826 ../fish/guestfish.pod:909
+#: ../src/guestfs.pod:1891 ../fish/guestfish.pod:909
 msgid "LIBGUESTFS_PATH"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1828
+#: ../src/guestfs.pod:1893
 msgid ""
 "Set the path that libguestfs uses to search for kernel and initrd.img.  See "
 "the discussion of paths in section PATH above."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1831 ../fish/guestfish.pod:914
+#: ../src/guestfs.pod:1896 ../fish/guestfish.pod:914
 msgid "LIBGUESTFS_QEMU"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1833 ../fish/guestfish.pod:916
+#: ../src/guestfs.pod:1898 ../fish/guestfish.pod:916
 msgid ""
 "Set the default qemu binary that libguestfs uses.  If not set, then the qemu "
 "which was found at compile time by the configure script is used."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1837
+#: ../src/guestfs.pod:1902
 msgid "See also L</QEMU WRAPPERS> above."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1839 ../fish/guestfish.pod:920
+#: ../src/guestfs.pod:1904 ../fish/guestfish.pod:920
 msgid "LIBGUESTFS_TRACE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1841
+#: ../src/guestfs.pod:1906
 msgid ""
 "Set C<LIBGUESTFS_TRACE=1> to enable command traces.  This has the same "
 "effect as calling C<guestfs_set_trace (g, 1)>."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1844 ../fish/guestfish.pod:929
+#: ../src/guestfs.pod:1909 ../fish/guestfish.pod:929
 msgid "TMPDIR"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1846 ../fish/guestfish.pod:931
+#: ../src/guestfs.pod:1911 ../fish/guestfish.pod:931
 msgid "Location of temporary directory, defaults to C</tmp>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1848 ../fish/guestfish.pod:933
+#: ../src/guestfs.pod:1913 ../fish/guestfish.pod:933
 msgid ""
 "If libguestfs was compiled to use the supermin appliance then the real "
 "appliance is cached in this directory, shared between all handles belonging "
@@ -3688,7 +3808,7 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1856 ../fish/guestfish.pod:991
+#: ../src/guestfs.pod:1921 ../fish/guestfish.pod:991
 #: ../test-tool/libguestfs-test-tool.pod:109 ../fuse/guestmount.pod:214
 #: ../inspector/virt-inspector.pl:570 ../tools/virt-edit.pl:350
 #: ../tools/virt-win-reg.pl:484 ../tools/virt-df.pl:640
@@ -3700,7 +3820,7 @@ msgid "SEE ALSO"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1858
+#: ../src/guestfs.pod:1923
 msgid ""
 "L<guestfish(1)>, L<guestmount(1)>, L<virt-cat(1)>, L<virt-df(1)>, L<virt-edit"
 "(1)>, L<virt-inspector(1)>, L<virt-list-filesystems(1)>, L<virt-list-"
@@ -3710,84 +3830,84 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1876
+#: ../src/guestfs.pod:1941
 msgid ""
 "Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, L<lvm"
 "(8)>, L<disktype(1)>."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1883 ../tools/virt-win-reg.pl:499
+#: ../src/guestfs.pod:1948 ../tools/virt-win-reg.pl:499
 #: ../tools/virt-make-fs.pl:548
 msgid "BUGS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1885
+#: ../src/guestfs.pod:1950
 msgid "To get a list of bugs against libguestfs use this link:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1887
+#: ../src/guestfs.pod:1952
 msgid ""
 "L<https://bugzilla.redhat.com/buglist.cgi?"
 "component=libguestfs&product=Virtualization+Tools>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1889
+#: ../src/guestfs.pod:1954
 msgid "To report a new bug against libguestfs use this link:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1891
+#: ../src/guestfs.pod:1956
 msgid ""
 "L<https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1893
+#: ../src/guestfs.pod:1958
 msgid "When reporting a bug, please check:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1899
+#: ../src/guestfs.pod:1964
 msgid "That the bug hasn't been reported already."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1903
+#: ../src/guestfs.pod:1968
 msgid "That you are testing a recent version."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1907
+#: ../src/guestfs.pod:1972
 msgid "Describe the bug accurately, and give a way to reproduce it."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1911
+#: ../src/guestfs.pod:1976
 msgid ""
 "Run libguestfs-test-tool and paste the B<complete, unedited> output into the "
 "bug report."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1916 ../fish/guestfish.pod:1008
+#: ../src/guestfs.pod:1981 ../fish/guestfish.pod:1008
 #: ../test-tool/libguestfs-test-tool.pod:115 ../fuse/guestmount.pod:225
 #: ../inspector/virt-inspector.pl:580
 msgid "AUTHORS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1918 ../fish/guestfish.pod:1010
+#: ../src/guestfs.pod:1983 ../fish/guestfish.pod:1010
 #: ../test-tool/libguestfs-test-tool.pod:117 ../fuse/guestmount.pod:227
 msgid "Richard W.M. Jones (C<rjones at redhat dot com>)"
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1920 ../fish/guestfish.pod:1012
+#: ../src/guestfs.pod:1985 ../fish/guestfish.pod:1012
 #: ../test-tool/libguestfs-test-tool.pod:119 ../fuse/guestmount.pod:229
 #: ../inspector/virt-inspector.pl:594 ../tools/virt-edit.pl:366
 #: ../tools/virt-win-reg.pl:514 ../tools/virt-df.pl:653
@@ -3799,13 +3919,13 @@ msgid "COPYRIGHT"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1922 ../fish/guestfish.pod:1014
+#: ../src/guestfs.pod:1987 ../fish/guestfish.pod:1014
 #: ../fuse/guestmount.pod:231
 msgid "Copyright (C) 2009-2010 Red Hat Inc.  L<http://libguestfs.org/>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1925
+#: ../src/guestfs.pod:1990
 msgid ""
 "This library is free software; you can redistribute it and/or modify it "
 "under the terms of the GNU Lesser General Public License as published by the "
@@ -3814,7 +3934,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1930
+#: ../src/guestfs.pod:1995
 msgid ""
 "This library is distributed in the hope that it will be useful, but WITHOUT "
 "ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or "
@@ -3823,7 +3943,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1935
+#: ../src/guestfs.pod:2000
 msgid ""
 "You should have received a copy of the GNU Lesser General Public License "
 "along with this library; if not, write to the Free Software Foundation, "
@@ -3839,23 +3959,24 @@ msgstr ""
 #: ../src/guestfs-actions.pod:3
 #, no-wrap
 msgid ""
-" int guestfs_add_cdrom (guestfs_h *g,\n"
-"\t\tconst char *filename);\n"
+" int\n"
+" guestfs_add_cdrom (guestfs_h *g,\n"
+"                    const char *filename);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:6 ../fish/guestfish-actions.pod:5
+#: ../src/guestfs-actions.pod:7 ../fish/guestfish-actions.pod:5
 msgid "This function adds a virtual CD-ROM disk image to the guest."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:8 ../fish/guestfish-actions.pod:7
+#: ../src/guestfs-actions.pod:9 ../fish/guestfish-actions.pod:7
 msgid "This is equivalent to the qemu parameter C<-cdrom filename>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:16
+#: ../src/guestfs-actions.pod:17
 msgid ""
 "This call checks for the existence of C<filename>.  This stops you from "
 "specifying other types of drive which are supported by qemu such as C<nbd:> "
@@ -3864,7 +3985,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:23
+#: ../src/guestfs-actions.pod:24
 msgid ""
 "If you just want to add an ISO file (often you use this as an efficient way "
 "to transfer large files into the guest), then you should probably use "
@@ -3872,99 +3993,99 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:29 ../src/guestfs-actions.pod:54
-#: ../src/guestfs-actions.pod:112 ../src/guestfs-actions.pod:144
-#: ../src/guestfs-actions.pod:155 ../src/guestfs-actions.pod:173
-#: ../src/guestfs-actions.pod:190 ../src/guestfs-actions.pod:201
-#: ../src/guestfs-actions.pod:304 ../src/guestfs-actions.pod:321
-#: ../src/guestfs-actions.pod:332 ../src/guestfs-actions.pod:368
-#: ../src/guestfs-actions.pod:390 ../src/guestfs-actions.pod:405
-#: ../src/guestfs-actions.pod:469 ../src/guestfs-actions.pod:496
-#: ../src/guestfs-actions.pod:507 ../src/guestfs-actions.pod:519
-#: ../src/guestfs-actions.pod:600 ../src/guestfs-actions.pod:615
-#: ../src/guestfs-actions.pod:626 ../src/guestfs-actions.pod:637
-#: ../src/guestfs-actions.pod:783 ../src/guestfs-actions.pod:800
-#: ../src/guestfs-actions.pod:815 ../src/guestfs-actions.pod:890
-#: ../src/guestfs-actions.pod:905 ../src/guestfs-actions.pod:921
-#: ../src/guestfs-actions.pod:932 ../src/guestfs-actions.pod:949
-#: ../src/guestfs-actions.pod:982 ../src/guestfs-actions.pod:1040
-#: ../src/guestfs-actions.pod:1068 ../src/guestfs-actions.pod:1090
-#: ../src/guestfs-actions.pod:1121 ../src/guestfs-actions.pod:1209
-#: ../src/guestfs-actions.pod:1240 ../src/guestfs-actions.pod:1440
-#: ../src/guestfs-actions.pod:1459 ../src/guestfs-actions.pod:1540
-#: ../src/guestfs-actions.pod:1888 ../src/guestfs-actions.pod:2011
-#: ../src/guestfs-actions.pod:2066 ../src/guestfs-actions.pod:2096
-#: ../src/guestfs-actions.pod:2545 ../src/guestfs-actions.pod:2557
-#: ../src/guestfs-actions.pod:2574 ../src/guestfs-actions.pod:2682
-#: ../src/guestfs-actions.pod:2693 ../src/guestfs-actions.pod:2703
-#: ../src/guestfs-actions.pod:2714 ../src/guestfs-actions.pod:2726
-#: ../src/guestfs-actions.pod:2756 ../src/guestfs-actions.pod:2820
-#: ../src/guestfs-actions.pod:2837 ../src/guestfs-actions.pod:2851
-#: ../src/guestfs-actions.pod:2871 ../src/guestfs-actions.pod:2891
-#: ../src/guestfs-actions.pod:2920 ../src/guestfs-actions.pod:2936
-#: ../src/guestfs-actions.pod:2952 ../src/guestfs-actions.pod:2981
-#: ../src/guestfs-actions.pod:2990 ../src/guestfs-actions.pod:3023
-#: ../src/guestfs-actions.pod:3036 ../src/guestfs-actions.pod:3046
-#: ../src/guestfs-actions.pod:3058 ../src/guestfs-actions.pod:3072
-#: ../src/guestfs-actions.pod:3152 ../src/guestfs-actions.pod:3169
-#: ../src/guestfs-actions.pod:3179 ../src/guestfs-actions.pod:3224
-#: ../src/guestfs-actions.pod:3239 ../src/guestfs-actions.pod:3254
-#: ../src/guestfs-actions.pod:3267 ../src/guestfs-actions.pod:3278
-#: ../src/guestfs-actions.pod:3289 ../src/guestfs-actions.pod:3303
-#: ../src/guestfs-actions.pod:3315 ../src/guestfs-actions.pod:3332
-#: ../src/guestfs-actions.pod:3378 ../src/guestfs-actions.pod:3406
-#: ../src/guestfs-actions.pod:3422 ../src/guestfs-actions.pod:3438
-#: ../src/guestfs-actions.pod:3447 ../src/guestfs-actions.pod:3461
-#: ../src/guestfs-actions.pod:3471 ../src/guestfs-actions.pod:3483
-#: ../src/guestfs-actions.pod:3495 ../src/guestfs-actions.pod:3527
-#: ../src/guestfs-actions.pod:3539 ../src/guestfs-actions.pod:3556
-#: ../src/guestfs-actions.pod:3567 ../src/guestfs-actions.pod:3581
-#: ../src/guestfs-actions.pod:3621 ../src/guestfs-actions.pod:3652
-#: ../src/guestfs-actions.pod:3663 ../src/guestfs-actions.pod:3688
-#: ../src/guestfs-actions.pod:3702 ../src/guestfs-actions.pod:3717
-#: ../src/guestfs-actions.pod:3839 ../src/guestfs-actions.pod:3891
-#: ../src/guestfs-actions.pod:3910 ../src/guestfs-actions.pod:3925
-#: ../src/guestfs-actions.pod:3951 ../src/guestfs-actions.pod:4008
-#: ../src/guestfs-actions.pod:4022 ../src/guestfs-actions.pod:4032
-#: ../src/guestfs-actions.pod:4043 ../src/guestfs-actions.pod:4298
-#: ../src/guestfs-actions.pod:4314 ../src/guestfs-actions.pod:4325
-#: ../src/guestfs-actions.pod:4334 ../src/guestfs-actions.pod:4345
-#: ../src/guestfs-actions.pod:4354 ../src/guestfs-actions.pod:4365
-#: ../src/guestfs-actions.pod:4378 ../src/guestfs-actions.pod:4396
-#: ../src/guestfs-actions.pod:4412 ../src/guestfs-actions.pod:4428
-#: ../src/guestfs-actions.pod:4443 ../src/guestfs-actions.pod:4463
-#: ../src/guestfs-actions.pod:4478 ../src/guestfs-actions.pod:4494
-#: ../src/guestfs-actions.pod:4512 ../src/guestfs-actions.pod:4528
-#: ../src/guestfs-actions.pod:4542 ../src/guestfs-actions.pod:4567
-#: ../src/guestfs-actions.pod:4588 ../src/guestfs-actions.pod:4604
-#: ../src/guestfs-actions.pod:4625 ../src/guestfs-actions.pod:4637
-#: ../src/guestfs-actions.pod:4649 ../src/guestfs-actions.pod:4665
-#: ../src/guestfs-actions.pod:4699 ../src/guestfs-actions.pod:4719
-#: ../src/guestfs-actions.pod:4742 ../src/guestfs-actions.pod:4832
-#: ../src/guestfs-actions.pod:4938 ../src/guestfs-actions.pod:4947
-#: ../src/guestfs-actions.pod:4957 ../src/guestfs-actions.pod:4967
-#: ../src/guestfs-actions.pod:4986 ../src/guestfs-actions.pod:4996
-#: ../src/guestfs-actions.pod:5006 ../src/guestfs-actions.pod:5016
-#: ../src/guestfs-actions.pod:5028 ../src/guestfs-actions.pod:5078
-#: ../src/guestfs-actions.pod:5092 ../src/guestfs-actions.pod:5105
-#: ../src/guestfs-actions.pod:5118 ../src/guestfs-actions.pod:5132
-#: ../src/guestfs-actions.pod:5142 ../src/guestfs-actions.pod:5159
-#: ../src/guestfs-actions.pod:5189 ../src/guestfs-actions.pod:5200
-#: ../src/guestfs-actions.pod:5235 ../src/guestfs-actions.pod:5245
-#: ../src/guestfs-actions.pod:5260 ../src/guestfs-actions.pod:5286
-#: ../src/guestfs-actions.pod:5314 ../src/guestfs-actions.pod:5418
-#: ../src/guestfs-actions.pod:5433 ../src/guestfs-actions.pod:5444
-#: ../src/guestfs-actions.pod:5490 ../src/guestfs-actions.pod:5500
-#: ../src/guestfs-actions.pod:5537 ../src/guestfs-actions.pod:5564
-#: ../src/guestfs-actions.pod:5606 ../src/guestfs-actions.pod:5629
-#: ../src/guestfs-actions.pod:5686 ../src/guestfs-actions.pod:5702
-#: ../src/guestfs-actions.pod:5728
+#: ../src/guestfs-actions.pod:30 ../src/guestfs-actions.pod:56
+#: ../src/guestfs-actions.pod:115 ../src/guestfs-actions.pod:150
+#: ../src/guestfs-actions.pod:162 ../src/guestfs-actions.pod:181
+#: ../src/guestfs-actions.pod:199 ../src/guestfs-actions.pod:211
+#: ../src/guestfs-actions.pod:318 ../src/guestfs-actions.pod:336
+#: ../src/guestfs-actions.pod:348 ../src/guestfs-actions.pod:387
+#: ../src/guestfs-actions.pod:411 ../src/guestfs-actions.pod:427
+#: ../src/guestfs-actions.pod:492 ../src/guestfs-actions.pod:521
+#: ../src/guestfs-actions.pod:533 ../src/guestfs-actions.pod:546
+#: ../src/guestfs-actions.pod:633 ../src/guestfs-actions.pod:649
+#: ../src/guestfs-actions.pod:661 ../src/guestfs-actions.pod:673
+#: ../src/guestfs-actions.pod:824 ../src/guestfs-actions.pod:842
+#: ../src/guestfs-actions.pod:858 ../src/guestfs-actions.pod:936
+#: ../src/guestfs-actions.pod:952 ../src/guestfs-actions.pod:969
+#: ../src/guestfs-actions.pod:981 ../src/guestfs-actions.pod:999
+#: ../src/guestfs-actions.pod:1034 ../src/guestfs-actions.pod:1096
+#: ../src/guestfs-actions.pod:1125 ../src/guestfs-actions.pod:1148
+#: ../src/guestfs-actions.pod:1181 ../src/guestfs-actions.pod:1275
+#: ../src/guestfs-actions.pod:1307 ../src/guestfs-actions.pod:1513
+#: ../src/guestfs-actions.pod:1533 ../src/guestfs-actions.pod:1616
+#: ../src/guestfs-actions.pod:1989 ../src/guestfs-actions.pod:2119
+#: ../src/guestfs-actions.pod:2176 ../src/guestfs-actions.pod:2208
+#: ../src/guestfs-actions.pod:2680 ../src/guestfs-actions.pod:2693
+#: ../src/guestfs-actions.pod:2711 ../src/guestfs-actions.pod:2825
+#: ../src/guestfs-actions.pod:2837 ../src/guestfs-actions.pod:2848
+#: ../src/guestfs-actions.pod:2860 ../src/guestfs-actions.pod:2873
+#: ../src/guestfs-actions.pod:2905 ../src/guestfs-actions.pod:2972
+#: ../src/guestfs-actions.pod:2990 ../src/guestfs-actions.pod:3005
+#: ../src/guestfs-actions.pod:3026 ../src/guestfs-actions.pod:3047
+#: ../src/guestfs-actions.pod:3077 ../src/guestfs-actions.pod:3094
+#: ../src/guestfs-actions.pod:3111 ../src/guestfs-actions.pod:3142
+#: ../src/guestfs-actions.pod:3152 ../src/guestfs-actions.pod:3186
+#: ../src/guestfs-actions.pod:3200 ../src/guestfs-actions.pod:3211
+#: ../src/guestfs-actions.pod:3224 ../src/guestfs-actions.pod:3239
+#: ../src/guestfs-actions.pod:3324 ../src/guestfs-actions.pod:3342
+#: ../src/guestfs-actions.pod:3353 ../src/guestfs-actions.pod:3400
+#: ../src/guestfs-actions.pod:3416 ../src/guestfs-actions.pod:3432
+#: ../src/guestfs-actions.pod:3446 ../src/guestfs-actions.pod:3458
+#: ../src/guestfs-actions.pod:3470 ../src/guestfs-actions.pod:3485
+#: ../src/guestfs-actions.pod:3498 ../src/guestfs-actions.pod:3516
+#: ../src/guestfs-actions.pod:3563 ../src/guestfs-actions.pod:3592
+#: ../src/guestfs-actions.pod:3609 ../src/guestfs-actions.pod:3626
+#: ../src/guestfs-actions.pod:3636 ../src/guestfs-actions.pod:3651
+#: ../src/guestfs-actions.pod:3662 ../src/guestfs-actions.pod:3675
+#: ../src/guestfs-actions.pod:3688 ../src/guestfs-actions.pod:3721
+#: ../src/guestfs-actions.pod:3734 ../src/guestfs-actions.pod:3752
+#: ../src/guestfs-actions.pod:3764 ../src/guestfs-actions.pod:3779
+#: ../src/guestfs-actions.pod:3822 ../src/guestfs-actions.pod:3855
+#: ../src/guestfs-actions.pod:3867 ../src/guestfs-actions.pod:3893
+#: ../src/guestfs-actions.pod:3908 ../src/guestfs-actions.pod:3924
+#: ../src/guestfs-actions.pod:4050 ../src/guestfs-actions.pod:4104
+#: ../src/guestfs-actions.pod:4124 ../src/guestfs-actions.pod:4140
+#: ../src/guestfs-actions.pod:4168 ../src/guestfs-actions.pod:4228
+#: ../src/guestfs-actions.pod:4243 ../src/guestfs-actions.pod:4254
+#: ../src/guestfs-actions.pod:4266 ../src/guestfs-actions.pod:4533
+#: ../src/guestfs-actions.pod:4550 ../src/guestfs-actions.pod:4562
+#: ../src/guestfs-actions.pod:4572 ../src/guestfs-actions.pod:4584
+#: ../src/guestfs-actions.pod:4594 ../src/guestfs-actions.pod:4606
+#: ../src/guestfs-actions.pod:4620 ../src/guestfs-actions.pod:4639
+#: ../src/guestfs-actions.pod:4656 ../src/guestfs-actions.pod:4673
+#: ../src/guestfs-actions.pod:4689 ../src/guestfs-actions.pod:4710
+#: ../src/guestfs-actions.pod:4726 ../src/guestfs-actions.pod:4743
+#: ../src/guestfs-actions.pod:4762 ../src/guestfs-actions.pod:4779
+#: ../src/guestfs-actions.pod:4794 ../src/guestfs-actions.pod:4820
+#: ../src/guestfs-actions.pod:4842 ../src/guestfs-actions.pod:4859
+#: ../src/guestfs-actions.pod:4881 ../src/guestfs-actions.pod:4894
+#: ../src/guestfs-actions.pod:4907 ../src/guestfs-actions.pod:4924
+#: ../src/guestfs-actions.pod:4959 ../src/guestfs-actions.pod:4980
+#: ../src/guestfs-actions.pod:5004 ../src/guestfs-actions.pod:5100
+#: ../src/guestfs-actions.pod:5211 ../src/guestfs-actions.pod:5221
+#: ../src/guestfs-actions.pod:5232 ../src/guestfs-actions.pod:5243
+#: ../src/guestfs-actions.pod:5263 ../src/guestfs-actions.pod:5274
+#: ../src/guestfs-actions.pod:5285 ../src/guestfs-actions.pod:5296
+#: ../src/guestfs-actions.pod:5309 ../src/guestfs-actions.pod:5362
+#: ../src/guestfs-actions.pod:5377 ../src/guestfs-actions.pod:5391
+#: ../src/guestfs-actions.pod:5405 ../src/guestfs-actions.pod:5420
+#: ../src/guestfs-actions.pod:5431 ../src/guestfs-actions.pod:5449
+#: ../src/guestfs-actions.pod:5481 ../src/guestfs-actions.pod:5493
+#: ../src/guestfs-actions.pod:5530 ../src/guestfs-actions.pod:5541
+#: ../src/guestfs-actions.pod:5557 ../src/guestfs-actions.pod:5584
+#: ../src/guestfs-actions.pod:5613 ../src/guestfs-actions.pod:5722
+#: ../src/guestfs-actions.pod:5738 ../src/guestfs-actions.pod:5750
+#: ../src/guestfs-actions.pod:5799 ../src/guestfs-actions.pod:5810
+#: ../src/guestfs-actions.pod:5850 ../src/guestfs-actions.pod:5879
+#: ../src/guestfs-actions.pod:5925 ../src/guestfs-actions.pod:5949
+#: ../src/guestfs-actions.pod:6009 ../src/guestfs-actions.pod:6026
+#: ../src/guestfs-actions.pod:6053
 msgid "This function returns 0 on success or -1 on error."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:31 ../src/guestfs-actions.pod:157
-#: ../src/guestfs-actions.pod:175 ../fish/guestfish-actions.pod:28
+#: ../src/guestfs-actions.pod:32 ../src/guestfs-actions.pod:164
+#: ../src/guestfs-actions.pod:183 ../fish/guestfish-actions.pod:28
 #: ../fish/guestfish-actions.pod:117 ../fish/guestfish-actions.pod:131
 msgid ""
 "This function is deprecated.  In new code, use the C<add_drive_opts> call "
@@ -3972,10 +4093,10 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:34 ../src/guestfs-actions.pod:160
-#: ../src/guestfs-actions.pod:178 ../src/guestfs-actions.pod:1214
-#: ../src/guestfs-actions.pod:1649 ../src/guestfs-actions.pod:1667
-#: ../src/guestfs-actions.pod:5637 ../src/guestfs-actions.pod:5782
+#: ../src/guestfs-actions.pod:35 ../src/guestfs-actions.pod:167
+#: ../src/guestfs-actions.pod:186 ../src/guestfs-actions.pod:1280
+#: ../src/guestfs-actions.pod:1732 ../src/guestfs-actions.pod:1751
+#: ../src/guestfs-actions.pod:5957 ../src/guestfs-actions.pod:6110
 #: ../fish/guestfish-actions.pod:31 ../fish/guestfish-actions.pod:120
 #: ../fish/guestfish-actions.pod:134 ../fish/guestfish-actions.pod:940
 #: ../fish/guestfish-actions.pod:1297 ../fish/guestfish-actions.pod:1311
@@ -3987,21 +4108,22 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:38
+#: ../src/guestfs-actions.pod:39
 msgid "guestfs_add_drive"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:40
+#: ../src/guestfs-actions.pod:41
 #, no-wrap
 msgid ""
-" int guestfs_add_drive (guestfs_h *g,\n"
-"\t\tconst char *filename);\n"
+" int\n"
+" guestfs_add_drive (guestfs_h *g,\n"
+"                    const char *filename);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:43
+#: ../src/guestfs-actions.pod:45
 msgid ""
 "This function is the equivalent of calling C<guestfs_add_drive_opts> with no "
 "optional parameters, so the disk is added writable, with the format being "
@@ -4009,7 +4131,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:47
+#: ../src/guestfs-actions.pod:49
 msgid ""
 "Automatic detection of the format opens you up to a potential security hole "
 "when dealing with untrusted raw-format images.  See CVE-2010-3851 and "
@@ -4019,22 +4141,23 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:56
+#: ../src/guestfs-actions.pod:58
 msgid "guestfs_add_drive_opts"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:58
+#: ../src/guestfs-actions.pod:60
 #, no-wrap
 msgid ""
-" int guestfs_add_drive_opts (guestfs_h *g,\n"
-"\t\tconst char *filename,\n"
-"\t\t...);\n"
+" int\n"
+" guestfs_add_drive_opts (guestfs_h *g,\n"
+"                         const char *filename,\n"
+"                         ...);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:62
+#: ../src/guestfs-actions.pod:65
 msgid ""
 "You may supply a list of optional arguments to this call.  Use zero or more "
 "of the following pairs of parameters, and terminate the list with C<-1> on "
@@ -4042,7 +4165,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:67
+#: ../src/guestfs-actions.pod:70
 #, no-wrap
 msgid ""
 " GUESTFS_ADD_DRIVE_OPTS_READONLY, int readonly,\n"
@@ -4052,7 +4175,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:71 ../fish/guestfish-actions.pod:56
+#: ../src/guestfs-actions.pod:74 ../fish/guestfish-actions.pod:56
 msgid ""
 "This function adds a virtual machine disk image C<filename> to libguestfs.  "
 "The first time you call this function, the disk appears as C</dev/sda>, the "
@@ -4060,7 +4183,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:76 ../fish/guestfish-actions.pod:61
+#: ../src/guestfs-actions.pod:79 ../fish/guestfish-actions.pod:61
 msgid ""
 "You don't necessarily need to be root when using libguestfs.  However you "
 "obviously do need sufficient permissions to access the filename for whatever "
@@ -4069,22 +4192,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:82 ../fish/guestfish-actions.pod:67
+#: ../src/guestfs-actions.pod:85 ../fish/guestfish-actions.pod:67
 msgid "This call checks that C<filename> exists."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:84 ../fish/guestfish-actions.pod:69
+#: ../src/guestfs-actions.pod:87 ../fish/guestfish-actions.pod:69
 msgid "The optional arguments are:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:88 ../fish/guestfish-actions.pod:73
+#: ../src/guestfs-actions.pod:91 ../fish/guestfish-actions.pod:73
 msgid "C<readonly>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:90 ../fish/guestfish-actions.pod:75
+#: ../src/guestfs-actions.pod:93 ../fish/guestfish-actions.pod:75
 msgid ""
 "If true then the image is treated as read-only.  Writes are still allowed, "
 "but they are stored in a temporary snapshot overlay which is discarded at "
@@ -4092,12 +4215,12 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:94 ../fish/guestfish-actions.pod:79
+#: ../src/guestfs-actions.pod:97 ../fish/guestfish-actions.pod:79
 msgid "C<format>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:96
+#: ../src/guestfs-actions.pod:99
 msgid ""
 "This forces the image format.  If you omit this (or use C<guestfs_add_drive> "
 "or C<guestfs_add_drive_ro>) then the format is automatically detected.  "
@@ -4105,7 +4228,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:100 ../fish/guestfish-actions.pod:85
+#: ../src/guestfs-actions.pod:103 ../fish/guestfish-actions.pod:85
 msgid ""
 "Automatic detection of the format opens you up to a potential security hole "
 "when dealing with untrusted raw-format images.  See CVE-2010-3851 and "
@@ -4113,78 +4236,81 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:105 ../fish/guestfish-actions.pod:90
+#: ../src/guestfs-actions.pod:108 ../fish/guestfish-actions.pod:90
 msgid "C<iface>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:107
+#: ../src/guestfs-actions.pod:110
 msgid ""
 "This rarely-used option lets you emulate the behaviour of the deprecated "
 "C<guestfs_add_drive_with_if> call (q.v.)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:114
+#: ../src/guestfs-actions.pod:117
 msgid "guestfs_add_drive_opts_va"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:116
+#: ../src/guestfs-actions.pod:119
 #, no-wrap
 msgid ""
-" int guestfs_add_drive_opts_va (guestfs_h *g,\n"
-"\t\tconst char *filename,\n"
-"\t\tva_list args);\n"
+" int\n"
+"guestfs_add_drive_opts_va (guestfs_h *g,\n"
+"                        const char *filename,\n"
+"                        va_list args);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:120
+#: ../src/guestfs-actions.pod:124
 msgid "This is the \"va_list variant\" of L</guestfs_add_drive_opts>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:122 ../src/guestfs-actions.pod:132
+#: ../src/guestfs-actions.pod:126 ../src/guestfs-actions.pod:137
 msgid "See L</CALLS WITH OPTIONAL ARGUMENTS>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:124
+#: ../src/guestfs-actions.pod:128
 msgid "guestfs_add_drive_opts_argv"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:126
+#: ../src/guestfs-actions.pod:130
 #, no-wrap
 msgid ""
-" int guestfs_add_drive_opts_argv (guestfs_h *g,\n"
-"\t\tconst char *filename,\n"
-"\t\tconst struct guestfs_add_drive_opts_argv *optargs);\n"
+" int\n"
+"guestfs_add_drive_opts_argv (guestfs_h *g,\n"
+"                        const char *filename,\n"
+"                        const struct guestfs_add_drive_opts_argv *optargs);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:130
+#: ../src/guestfs-actions.pod:135
 msgid "This is the \"argv variant\" of L</guestfs_add_drive_opts>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:134
+#: ../src/guestfs-actions.pod:139
 msgid "guestfs_add_drive_ro"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:136
+#: ../src/guestfs-actions.pod:141
 #, no-wrap
 msgid ""
-" int guestfs_add_drive_ro (guestfs_h *g,\n"
-"\t\tconst char *filename);\n"
+" int\n"
+" guestfs_add_drive_ro (guestfs_h *g,\n"
+"                       const char *filename);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:139
+#: ../src/guestfs-actions.pod:145
 msgid ""
 "This function is the equivalent of calling C<guestfs_add_drive_opts> with "
 "the optional parameter C<GUESTFS_ADD_DRIVE_OPTS_READONLY> set to 1, so the "
@@ -4192,85 +4318,89 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:146
+#: ../src/guestfs-actions.pod:152
 msgid "guestfs_add_drive_ro_with_if"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:148
+#: ../src/guestfs-actions.pod:154
 #, no-wrap
 msgid ""
-" int guestfs_add_drive_ro_with_if (guestfs_h *g,\n"
-"\t\tconst char *filename,\n"
-"\t\tconst char *iface);\n"
+" int\n"
+" guestfs_add_drive_ro_with_if (guestfs_h *g,\n"
+"                               const char *filename,\n"
+"                               const char *iface);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:152
+#: ../src/guestfs-actions.pod:159
 msgid ""
 "This is the same as C<guestfs_add_drive_ro> but it allows you to specify the "
 "QEMU interface emulation to use at run time."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:164
+#: ../src/guestfs-actions.pod:171
 msgid "guestfs_add_drive_with_if"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:166
+#: ../src/guestfs-actions.pod:173
 #, no-wrap
 msgid ""
-" int guestfs_add_drive_with_if (guestfs_h *g,\n"
-"\t\tconst char *filename,\n"
-"\t\tconst char *iface);\n"
+" int\n"
+" guestfs_add_drive_with_if (guestfs_h *g,\n"
+"                            const char *filename,\n"
+"                            const char *iface);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:170
+#: ../src/guestfs-actions.pod:178
 msgid ""
 "This is the same as C<guestfs_add_drive> but it allows you to specify the "
 "QEMU interface emulation to use at run time."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:182
+#: ../src/guestfs-actions.pod:190
 msgid "guestfs_aug_clear"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:184
+#: ../src/guestfs-actions.pod:192
 #, no-wrap
 msgid ""
-" int guestfs_aug_clear (guestfs_h *g,\n"
-"\t\tconst char *augpath);\n"
+" int\n"
+" guestfs_aug_clear (guestfs_h *g,\n"
+"                    const char *augpath);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:187 ../fish/guestfish-actions.pod:142
+#: ../src/guestfs-actions.pod:196 ../fish/guestfish-actions.pod:142
 msgid ""
 "Set the value associated with C<path> to C<NULL>.  This is the same as the "
 "L<augtool(1)> C<clear> command."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:192
+#: ../src/guestfs-actions.pod:201
 msgid "guestfs_aug_close"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:194
+#: ../src/guestfs-actions.pod:203
 #, no-wrap
 msgid ""
-" int guestfs_aug_close (guestfs_h *g);\n"
+" int\n"
+" guestfs_aug_close (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:196
+#: ../src/guestfs-actions.pod:206
 msgid ""
 "Close the current Augeas handle and free up any resources used by it.  After "
 "calling this, you have to call C<guestfs_aug_init> again before you can use "
@@ -4278,29 +4408,30 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:203
+#: ../src/guestfs-actions.pod:213
 msgid "guestfs_aug_defnode"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:205
+#: ../src/guestfs-actions.pod:215
 #, no-wrap
 msgid ""
-" struct guestfs_int_bool *guestfs_aug_defnode (guestfs_h *g,\n"
-"\t\tconst char *name,\n"
-"\t\tconst char *expr,\n"
-"\t\tconst char *val);\n"
+" struct guestfs_int_bool *\n"
+" guestfs_aug_defnode (guestfs_h *g,\n"
+"                      const char *name,\n"
+"                      const char *expr,\n"
+"                      const char *val);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:210 ../fish/guestfish-actions.pod:158
+#: ../src/guestfs-actions.pod:221 ../fish/guestfish-actions.pod:158
 msgid ""
 "Defines a variable C<name> whose value is the result of evaluating C<expr>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:213
+#: ../src/guestfs-actions.pod:224
 msgid ""
 "If C<expr> evaluates to an empty nodeset, a node is created, equivalent to "
 "calling C<guestfs_aug_set> C<expr>, C<value>.  C<name> will be the nodeset "
@@ -4308,129 +4439,132 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:217 ../fish/guestfish-actions.pod:165
+#: ../src/guestfs-actions.pod:228 ../fish/guestfish-actions.pod:165
 msgid ""
 "On success this returns a pair containing the number of nodes in the "
 "nodeset, and a boolean flag if a node was created."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:221
+#: ../src/guestfs-actions.pod:232
 msgid ""
 "This function returns a C<struct guestfs_int_bool *>, or NULL if there was "
 "an error.  I<The caller must call C<guestfs_free_int_bool> after use>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:225
+#: ../src/guestfs-actions.pod:236
 msgid "guestfs_aug_defvar"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:227
+#: ../src/guestfs-actions.pod:238
 #, no-wrap
 msgid ""
-" int guestfs_aug_defvar (guestfs_h *g,\n"
-"\t\tconst char *name,\n"
-"\t\tconst char *expr);\n"
+" int\n"
+" guestfs_aug_defvar (guestfs_h *g,\n"
+"                     const char *name,\n"
+"                     const char *expr);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:231 ../fish/guestfish-actions.pod:173
+#: ../src/guestfs-actions.pod:243 ../fish/guestfish-actions.pod:173
 msgid ""
 "Defines an Augeas variable C<name> whose value is the result of evaluating "
 "C<expr>.  If C<expr> is NULL, then C<name> is undefined."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:235 ../fish/guestfish-actions.pod:177
+#: ../src/guestfs-actions.pod:247 ../fish/guestfish-actions.pod:177
 msgid ""
 "On success this returns the number of nodes in C<expr>, or C<0> if C<expr> "
 "evaluates to something which is not a nodeset."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:238 ../src/guestfs-actions.pod:379
-#: ../src/guestfs-actions.pod:533 ../src/guestfs-actions.pod:558
-#: ../src/guestfs-actions.pod:573 ../src/guestfs-actions.pod:589
-#: ../src/guestfs-actions.pod:1107 ../src/guestfs-actions.pod:1422
-#: ../src/guestfs-actions.pod:1604 ../src/guestfs-actions.pod:1685
-#: ../src/guestfs-actions.pod:1716 ../src/guestfs-actions.pod:1759
-#: ../src/guestfs-actions.pod:1776 ../src/guestfs-actions.pod:2001
-#: ../src/guestfs-actions.pod:2233 ../src/guestfs-actions.pod:2251
-#: ../src/guestfs-actions.pod:3641 ../src/guestfs-actions.pod:3748
-#: ../src/guestfs-actions.pod:4102 ../src/guestfs-actions.pod:4125
-#: ../src/guestfs-actions.pod:5224 ../src/guestfs-actions.pod:5574
-#: ../src/guestfs-actions.pod:5584 ../src/guestfs-actions.pod:5594
+#: ../src/guestfs-actions.pod:250 ../src/guestfs-actions.pod:399
+#: ../src/guestfs-actions.pod:561 ../src/guestfs-actions.pod:588
+#: ../src/guestfs-actions.pod:604 ../src/guestfs-actions.pod:621
+#: ../src/guestfs-actions.pod:1166 ../src/guestfs-actions.pod:1494
+#: ../src/guestfs-actions.pod:1683 ../src/guestfs-actions.pod:1770
+#: ../src/guestfs-actions.pod:1804 ../src/guestfs-actions.pod:1851
+#: ../src/guestfs-actions.pod:1870 ../src/guestfs-actions.pod:2108
+#: ../src/guestfs-actions.pod:2349 ../src/guestfs-actions.pod:2368
+#: ../src/guestfs-actions.pod:3843 ../src/guestfs-actions.pod:3957
+#: ../src/guestfs-actions.pod:4329 ../src/guestfs-actions.pod:4353
+#: ../src/guestfs-actions.pod:5518 ../src/guestfs-actions.pod:5890
+#: ../src/guestfs-actions.pod:5901 ../src/guestfs-actions.pod:5912
 msgid "On error this function returns -1."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:240
+#: ../src/guestfs-actions.pod:252
 msgid "guestfs_aug_get"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:242
+#: ../src/guestfs-actions.pod:254
 #, no-wrap
 msgid ""
-" char *guestfs_aug_get (guestfs_h *g,\n"
-"\t\tconst char *augpath);\n"
+" char *\n"
+" guestfs_aug_get (guestfs_h *g,\n"
+"                  const char *augpath);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:245 ../fish/guestfish-actions.pod:184
+#: ../src/guestfs-actions.pod:258 ../fish/guestfish-actions.pod:184
 msgid ""
 "Look up the value associated with C<path>.  If C<path> matches exactly one "
 "node, the C<value> is returned."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:248 ../src/guestfs-actions.pod:676
-#: ../src/guestfs-actions.pod:691 ../src/guestfs-actions.pod:748
-#: ../src/guestfs-actions.pod:761 ../src/guestfs-actions.pod:852
-#: ../src/guestfs-actions.pod:965 ../src/guestfs-actions.pod:994
-#: ../src/guestfs-actions.pod:1008 ../src/guestfs-actions.pod:1024
-#: ../src/guestfs-actions.pod:1135 ../src/guestfs-actions.pod:1299
-#: ../src/guestfs-actions.pod:1408 ../src/guestfs-actions.pod:1553
-#: ../src/guestfs-actions.pod:1567 ../src/guestfs-actions.pod:1643
-#: ../src/guestfs-actions.pod:1661 ../src/guestfs-actions.pod:1795
-#: ../src/guestfs-actions.pod:1934 ../src/guestfs-actions.pod:2115
-#: ../src/guestfs-actions.pod:2185 ../src/guestfs-actions.pod:2301
-#: ../src/guestfs-actions.pod:2336 ../src/guestfs-actions.pod:2356
-#: ../src/guestfs-actions.pod:2671 ../src/guestfs-actions.pod:2968
-#: ../src/guestfs-actions.pod:3109 ../src/guestfs-actions.pod:3205
-#: ../src/guestfs-actions.pod:3763 ../src/guestfs-actions.pod:3939
-#: ../src/guestfs-actions.pod:4080 ../src/guestfs-actions.pod:4241
-#: ../src/guestfs-actions.pod:4284 ../src/guestfs-actions.pod:4760
-#: ../src/guestfs-actions.pod:4773 ../src/guestfs-actions.pod:4787
-#: ../src/guestfs-actions.pod:4808 ../src/guestfs-actions.pod:5367
-#: ../src/guestfs-actions.pod:5383 ../src/guestfs-actions.pod:5398
-#: ../src/guestfs-actions.pod:5546 ../src/guestfs-actions.pod:5776
+#: ../src/guestfs-actions.pod:261 ../src/guestfs-actions.pod:713
+#: ../src/guestfs-actions.pod:729 ../src/guestfs-actions.pod:787
+#: ../src/guestfs-actions.pod:801 ../src/guestfs-actions.pod:896
+#: ../src/guestfs-actions.pod:1016 ../src/guestfs-actions.pod:1047
+#: ../src/guestfs-actions.pod:1062 ../src/guestfs-actions.pod:1079
+#: ../src/guestfs-actions.pod:1196 ../src/guestfs-actions.pod:1369
+#: ../src/guestfs-actions.pod:1479 ../src/guestfs-actions.pod:1630
+#: ../src/guestfs-actions.pod:1645 ../src/guestfs-actions.pod:1726
+#: ../src/guestfs-actions.pod:1745 ../src/guestfs-actions.pod:1891
+#: ../src/guestfs-actions.pod:2038 ../src/guestfs-actions.pod:2228
+#: ../src/guestfs-actions.pod:2299 ../src/guestfs-actions.pod:2420
+#: ../src/guestfs-actions.pod:2456 ../src/guestfs-actions.pod:2477
+#: ../src/guestfs-actions.pod:2813 ../src/guestfs-actions.pod:3128
+#: ../src/guestfs-actions.pod:3279 ../src/guestfs-actions.pod:3380
+#: ../src/guestfs-actions.pod:3973 ../src/guestfs-actions.pod:4155
+#: ../src/guestfs-actions.pod:4306 ../src/guestfs-actions.pod:4473
+#: ../src/guestfs-actions.pod:4518 ../src/guestfs-actions.pod:5023
+#: ../src/guestfs-actions.pod:5037 ../src/guestfs-actions.pod:5052
+#: ../src/guestfs-actions.pod:5074 ../src/guestfs-actions.pod:5668
+#: ../src/guestfs-actions.pod:5685 ../src/guestfs-actions.pod:5701
+#: ../src/guestfs-actions.pod:5860 ../src/guestfs-actions.pod:6104
 msgid ""
 "This function returns a string, or NULL on error.  I<The caller must free "
 "the returned string after use>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:251
+#: ../src/guestfs-actions.pod:264
 msgid "guestfs_aug_init"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:253
+#: ../src/guestfs-actions.pod:266
 #, no-wrap
 msgid ""
-" int guestfs_aug_init (guestfs_h *g,\n"
-"\t\tconst char *root,\n"
-"\t\tint flags);\n"
+" int\n"
+" guestfs_aug_init (guestfs_h *g,\n"
+"                   const char *root,\n"
+"                   int flags);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:257 ../fish/guestfish-actions.pod:191
+#: ../src/guestfs-actions.pod:271 ../fish/guestfish-actions.pod:191
 msgid ""
 "Create a new Augeas handle for editing configuration files.  If there was "
 "any previous Augeas handle associated with this guestfs session, then it is "
@@ -4438,190 +4572,193 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:261
+#: ../src/guestfs-actions.pod:275
 msgid "You must call this before using any other C<guestfs_aug_*> commands."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:264 ../fish/guestfish-actions.pod:198
+#: ../src/guestfs-actions.pod:278 ../fish/guestfish-actions.pod:198
 msgid ""
 "C<root> is the filesystem root.  C<root> must not be NULL, use C</> instead."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:267 ../fish/guestfish-actions.pod:201
+#: ../src/guestfs-actions.pod:281 ../fish/guestfish-actions.pod:201
 msgid ""
 "The flags are the same as the flags defined in E<lt>augeas.hE<gt>, the "
 "logical I<or> of the following integers:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:273 ../fish/guestfish-actions.pod:207
+#: ../src/guestfs-actions.pod:287 ../fish/guestfish-actions.pod:207
 msgid "C<AUG_SAVE_BACKUP> = 1"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:275 ../fish/guestfish-actions.pod:209
+#: ../src/guestfs-actions.pod:289 ../fish/guestfish-actions.pod:209
 msgid "Keep the original file with a C<.augsave> extension."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:277 ../fish/guestfish-actions.pod:211
+#: ../src/guestfs-actions.pod:291 ../fish/guestfish-actions.pod:211
 msgid "C<AUG_SAVE_NEWFILE> = 2"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:279 ../fish/guestfish-actions.pod:213
+#: ../src/guestfs-actions.pod:293 ../fish/guestfish-actions.pod:213
 msgid ""
 "Save changes into a file with extension C<.augnew>, and do not overwrite "
 "original.  Overrides C<AUG_SAVE_BACKUP>."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:282 ../fish/guestfish-actions.pod:216
+#: ../src/guestfs-actions.pod:296 ../fish/guestfish-actions.pod:216
 msgid "C<AUG_TYPE_CHECK> = 4"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:284 ../fish/guestfish-actions.pod:218
+#: ../src/guestfs-actions.pod:298 ../fish/guestfish-actions.pod:218
 msgid "Typecheck lenses (can be expensive)."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:286 ../fish/guestfish-actions.pod:220
+#: ../src/guestfs-actions.pod:300 ../fish/guestfish-actions.pod:220
 msgid "C<AUG_NO_STDINC> = 8"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:288 ../fish/guestfish-actions.pod:222
+#: ../src/guestfs-actions.pod:302 ../fish/guestfish-actions.pod:222
 msgid "Do not use standard load path for modules."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:290 ../fish/guestfish-actions.pod:224
+#: ../src/guestfs-actions.pod:304 ../fish/guestfish-actions.pod:224
 msgid "C<AUG_SAVE_NOOP> = 16"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:292 ../fish/guestfish-actions.pod:226
+#: ../src/guestfs-actions.pod:306 ../fish/guestfish-actions.pod:226
 msgid "Make save a no-op, just record what would have been changed."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:294 ../fish/guestfish-actions.pod:228
+#: ../src/guestfs-actions.pod:308 ../fish/guestfish-actions.pod:228
 msgid "C<AUG_NO_LOAD> = 32"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:296
+#: ../src/guestfs-actions.pod:310
 msgid "Do not load the tree in C<guestfs_aug_init>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:300
+#: ../src/guestfs-actions.pod:314
 msgid "To close the handle, you can call C<guestfs_aug_close>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:302 ../fish/guestfish-actions.pod:236
+#: ../src/guestfs-actions.pod:316 ../fish/guestfish-actions.pod:236
 msgid "To find out more about Augeas, see L<http://augeas.net/>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:306
+#: ../src/guestfs-actions.pod:320
 msgid "guestfs_aug_insert"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:308
+#: ../src/guestfs-actions.pod:322
 #, no-wrap
 msgid ""
-" int guestfs_aug_insert (guestfs_h *g,\n"
-"\t\tconst char *augpath,\n"
-"\t\tconst char *label,\n"
-"\t\tint before);\n"
+" int\n"
+" guestfs_aug_insert (guestfs_h *g,\n"
+"                     const char *augpath,\n"
+"                     const char *label,\n"
+"                     int before);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:313 ../fish/guestfish-actions.pod:242
+#: ../src/guestfs-actions.pod:328 ../fish/guestfish-actions.pod:242
 msgid ""
 "Create a new sibling C<label> for C<path>, inserting it into the tree before "
 "or after C<path> (depending on the boolean flag C<before>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:317 ../fish/guestfish-actions.pod:246
+#: ../src/guestfs-actions.pod:332 ../fish/guestfish-actions.pod:246
 msgid ""
 "C<path> must match exactly one existing node in the tree, and C<label> must "
 "be a label, ie. not contain C</>, C<*> or end with a bracketed index C<[N]>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:323
+#: ../src/guestfs-actions.pod:338
 msgid "guestfs_aug_load"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:325
+#: ../src/guestfs-actions.pod:340
 #, no-wrap
 msgid ""
-" int guestfs_aug_load (guestfs_h *g);\n"
+" int\n"
+" guestfs_aug_load (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:327 ../fish/guestfish-actions.pod:254
+#: ../src/guestfs-actions.pod:343 ../fish/guestfish-actions.pod:254
 msgid "Load files into the tree."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:329 ../fish/guestfish-actions.pod:256
+#: ../src/guestfs-actions.pod:345 ../fish/guestfish-actions.pod:256
 msgid "See C<aug_load> in the Augeas documentation for the full gory details."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:334
+#: ../src/guestfs-actions.pod:350
 msgid "guestfs_aug_ls"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:336
+#: ../src/guestfs-actions.pod:352
 #, no-wrap
 msgid ""
-" char **guestfs_aug_ls (guestfs_h *g,\n"
-"\t\tconst char *augpath);\n"
+" char **\n"
+" guestfs_aug_ls (guestfs_h *g,\n"
+"                 const char *augpath);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:339
+#: ../src/guestfs-actions.pod:356
 msgid ""
 "This is just a shortcut for listing C<guestfs_aug_match> C<path/*> and "
 "sorting the resulting nodes into alphabetical order."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:342 ../src/guestfs-actions.pod:355
-#: ../src/guestfs-actions.pod:483 ../src/guestfs-actions.pod:868
-#: ../src/guestfs-actions.pod:1147 ../src/guestfs-actions.pod:1163
-#: ../src/guestfs-actions.pod:1251 ../src/guestfs-actions.pod:1267
-#: ../src/guestfs-actions.pod:1498 ../src/guestfs-actions.pod:1832
-#: ../src/guestfs-actions.pod:1845 ../src/guestfs-actions.pod:1861
-#: ../src/guestfs-actions.pod:1898 ../src/guestfs-actions.pod:1919
-#: ../src/guestfs-actions.pod:1981 ../src/guestfs-actions.pod:2021
-#: ../src/guestfs-actions.pod:2207 ../src/guestfs-actions.pod:2395
-#: ../src/guestfs-actions.pod:2600 ../src/guestfs-actions.pod:2656
-#: ../src/guestfs-actions.pod:2740 ../src/guestfs-actions.pod:3086
-#: ../src/guestfs-actions.pod:3608 ../src/guestfs-actions.pod:4057
-#: ../src/guestfs-actions.pod:4166 ../src/guestfs-actions.pod:4272
-#: ../src/guestfs-actions.pod:4821 ../src/guestfs-actions.pod:4870
-#: ../src/guestfs-actions.pod:4922 ../src/guestfs-actions.pod:5038
-#: ../src/guestfs-actions.pod:5059 ../src/guestfs-actions.pod:5459
-#: ../src/guestfs-actions.pod:5476 ../src/guestfs-actions.pod:5514
-#: ../src/guestfs-actions.pod:5650 ../src/guestfs-actions.pod:5666
-#: ../src/guestfs-actions.pod:5739 ../src/guestfs-actions.pod:5755
-#: ../src/guestfs-actions.pod:5795 ../src/guestfs-actions.pod:5811
+#: ../src/guestfs-actions.pod:359 ../src/guestfs-actions.pod:373
+#: ../src/guestfs-actions.pod:507 ../src/guestfs-actions.pod:913
+#: ../src/guestfs-actions.pod:1209 ../src/guestfs-actions.pod:1226
+#: ../src/guestfs-actions.pod:1319 ../src/guestfs-actions.pod:1336
+#: ../src/guestfs-actions.pod:1573 ../src/guestfs-actions.pod:1930
+#: ../src/guestfs-actions.pod:1944 ../src/guestfs-actions.pod:1961
+#: ../src/guestfs-actions.pod:2000 ../src/guestfs-actions.pod:2022
+#: ../src/guestfs-actions.pod:2087 ../src/guestfs-actions.pod:2130
+#: ../src/guestfs-actions.pod:2322 ../src/guestfs-actions.pod:2517
+#: ../src/guestfs-actions.pod:2739 ../src/guestfs-actions.pod:2797
+#: ../src/guestfs-actions.pod:2888 ../src/guestfs-actions.pod:3254
+#: ../src/guestfs-actions.pod:3808 ../src/guestfs-actions.pod:4281
+#: ../src/guestfs-actions.pod:4396 ../src/guestfs-actions.pod:4505
+#: ../src/guestfs-actions.pod:5088 ../src/guestfs-actions.pod:5141
+#: ../src/guestfs-actions.pod:5194 ../src/guestfs-actions.pod:5320
+#: ../src/guestfs-actions.pod:5342 ../src/guestfs-actions.pod:5766
+#: ../src/guestfs-actions.pod:5784 ../src/guestfs-actions.pod:5825
+#: ../src/guestfs-actions.pod:5971 ../src/guestfs-actions.pod:5988
+#: ../src/guestfs-actions.pod:6065 ../src/guestfs-actions.pod:6082
+#: ../src/guestfs-actions.pod:6124 ../src/guestfs-actions.pod:6141
 msgid ""
 "This function returns a NULL-terminated array of strings (like L<environ(3)"
 ">), or NULL if there was an error.  I<The caller must free the strings and "
@@ -4629,21 +4766,22 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:346
+#: ../src/guestfs-actions.pod:363
 msgid "guestfs_aug_match"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:348
+#: ../src/guestfs-actions.pod:365
 #, no-wrap
 msgid ""
-" char **guestfs_aug_match (guestfs_h *g,\n"
-"\t\tconst char *augpath);\n"
+" char **\n"
+" guestfs_aug_match (guestfs_h *g,\n"
+"                    const char *augpath);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:351 ../fish/guestfish-actions.pod:270
+#: ../src/guestfs-actions.pod:369 ../fish/guestfish-actions.pod:270
 msgid ""
 "Returns a list of paths which match the path expression C<path>.  The "
 "returned paths are sufficiently qualified so that they match exactly one "
@@ -4651,98 +4789,102 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:359
+#: ../src/guestfs-actions.pod:377
 msgid "guestfs_aug_mv"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:361
+#: ../src/guestfs-actions.pod:379
 #, no-wrap
 msgid ""
-" int guestfs_aug_mv (guestfs_h *g,\n"
-"\t\tconst char *src,\n"
-"\t\tconst char *dest);\n"
+" int\n"
+" guestfs_aug_mv (guestfs_h *g,\n"
+"                 const char *src,\n"
+"                 const char *dest);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:365 ../fish/guestfish-actions.pod:278
+#: ../src/guestfs-actions.pod:384 ../fish/guestfish-actions.pod:278
 msgid ""
 "Move the node C<src> to C<dest>.  C<src> must match exactly one node.  "
 "C<dest> is overwritten if it exists."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:370
+#: ../src/guestfs-actions.pod:389
 msgid "guestfs_aug_rm"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:372
+#: ../src/guestfs-actions.pod:391
 #, no-wrap
 msgid ""
-" int guestfs_aug_rm (guestfs_h *g,\n"
-"\t\tconst char *augpath);\n"
+" int\n"
+" guestfs_aug_rm (guestfs_h *g,\n"
+"                 const char *augpath);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:375 ../fish/guestfish-actions.pod:285
+#: ../src/guestfs-actions.pod:395 ../fish/guestfish-actions.pod:285
 msgid "Remove C<path> and all of its children."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:377 ../fish/guestfish-actions.pod:287
+#: ../src/guestfs-actions.pod:397 ../fish/guestfish-actions.pod:287
 msgid "On success this returns the number of entries which were removed."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:381
+#: ../src/guestfs-actions.pod:401
 msgid "guestfs_aug_save"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:383
+#: ../src/guestfs-actions.pod:403
 #, no-wrap
 msgid ""
-" int guestfs_aug_save (guestfs_h *g);\n"
+" int\n"
+" guestfs_aug_save (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:385 ../fish/guestfish-actions.pod:293
+#: ../src/guestfs-actions.pod:406 ../fish/guestfish-actions.pod:293
 msgid "This writes all pending changes to disk."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:387
+#: ../src/guestfs-actions.pod:408
 msgid ""
 "The flags which were passed to C<guestfs_aug_init> affect exactly how files "
 "are saved."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:392
+#: ../src/guestfs-actions.pod:413
 msgid "guestfs_aug_set"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:394
+#: ../src/guestfs-actions.pod:415
 #, no-wrap
 msgid ""
-" int guestfs_aug_set (guestfs_h *g,\n"
-"\t\tconst char *augpath,\n"
-"\t\tconst char *val);\n"
+" int\n"
+" guestfs_aug_set (guestfs_h *g,\n"
+"                  const char *augpath,\n"
+"                  const char *val);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:398 ../fish/guestfish-actions.pod:302
+#: ../src/guestfs-actions.pod:420 ../fish/guestfish-actions.pod:302
 msgid "Set the value associated with C<path> to C<val>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:400
+#: ../src/guestfs-actions.pod:422
 msgid ""
 "In the Augeas API, it is possible to clear a node by setting the value to "
 "NULL.  Due to an oversight in the libguestfs API you cannot do that with "
@@ -4750,21 +4892,22 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:407
+#: ../src/guestfs-actions.pod:429
 msgid "guestfs_available"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:409
+#: ../src/guestfs-actions.pod:431
 #, no-wrap
 msgid ""
-" int guestfs_available (guestfs_h *g,\n"
-"\t\tchar *const *groups);\n"
+" int\n"
+" guestfs_available (guestfs_h *g,\n"
+"                    char *const *groups);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:412 ../fish/guestfish-actions.pod:313
+#: ../src/guestfs-actions.pod:435 ../fish/guestfish-actions.pod:313
 msgid ""
 "This command is used to check the availability of some groups of "
 "functionality in the appliance, which not all builds of the libguestfs "
@@ -4772,7 +4915,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:416
+#: ../src/guestfs-actions.pod:439
 msgid ""
 "The libguestfs groups, and the functions that those groups correspond to, "
 "are listed in L<guestfs(3)/AVAILABILITY>.  You can also fetch this list at "
@@ -4780,7 +4923,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:421 ../fish/guestfish-actions.pod:322
+#: ../src/guestfs-actions.pod:444 ../fish/guestfish-actions.pod:322
 msgid ""
 "The argument C<groups> is a list of group names, eg: C<[\"inotify\", \"augeas"
 "\"]> would check for the availability of the Linux inotify functions and "
@@ -4788,43 +4931,43 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:426 ../fish/guestfish-actions.pod:327
+#: ../src/guestfs-actions.pod:449 ../fish/guestfish-actions.pod:327
 msgid "The command returns no error if I<all> requested groups are available."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:428 ../fish/guestfish-actions.pod:329
+#: ../src/guestfs-actions.pod:451 ../fish/guestfish-actions.pod:329
 msgid ""
 "It fails with an error if one or more of the requested groups is unavailable "
 "in the appliance."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:431 ../fish/guestfish-actions.pod:332
+#: ../src/guestfs-actions.pod:454 ../fish/guestfish-actions.pod:332
 msgid ""
 "If an unknown group name is included in the list of groups then an error is "
 "always returned."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:434 ../fish/guestfish-actions.pod:335
+#: ../src/guestfs-actions.pod:457 ../fish/guestfish-actions.pod:335
 msgid "I<Notes:>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:440
+#: ../src/guestfs-actions.pod:463
 msgid "You must call C<guestfs_launch> before calling this function."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:442 ../fish/guestfish-actions.pod:343
+#: ../src/guestfs-actions.pod:465 ../fish/guestfish-actions.pod:343
 msgid ""
 "The reason is because we don't know what groups are supported by the "
 "appliance/daemon until it is running and can be queried."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:448 ../fish/guestfish-actions.pod:349
+#: ../src/guestfs-actions.pod:471 ../fish/guestfish-actions.pod:349
 msgid ""
 "If a group of functions is available, this does not necessarily mean that "
 "they will work.  You still have to check for errors when calling individual "
@@ -4832,7 +4975,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:455 ../fish/guestfish-actions.pod:356
+#: ../src/guestfs-actions.pod:478 ../fish/guestfish-actions.pod:356
 msgid ""
 "It is usually the job of distro packagers to build complete functionality "
 "into the libguestfs appliance.  Upstream libguestfs, if built from source "
@@ -4840,7 +4983,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:462
+#: ../src/guestfs-actions.pod:485
 msgid ""
 "This call was added in version C<1.0.80>.  In previous versions of "
 "libguestfs all you could do would be to speculatively execute a command to "
@@ -4848,20 +4991,21 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:471
+#: ../src/guestfs-actions.pod:494
 msgid "guestfs_available_all_groups"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:473
+#: ../src/guestfs-actions.pod:496
 #, no-wrap
 msgid ""
-" char **guestfs_available_all_groups (guestfs_h *g);\n"
+" char **\n"
+" guestfs_available_all_groups (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:475
+#: ../src/guestfs-actions.pod:499
 msgid ""
 "This command returns a list of all optional groups that this daemon knows "
 "about.  Note this returns both supported and unsupported groups.  To find "
@@ -4870,79 +5014,82 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:481
+#: ../src/guestfs-actions.pod:505
 msgid "See also C<guestfs_available> and L<guestfs(3)/AVAILABILITY>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:487
+#: ../src/guestfs-actions.pod:511
 msgid "guestfs_base64_in"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:489
+#: ../src/guestfs-actions.pod:513
 #, no-wrap
 msgid ""
-" int guestfs_base64_in (guestfs_h *g,\n"
-"\t\tconst char *base64file,\n"
-"\t\tconst char *filename);\n"
+" int\n"
+" guestfs_base64_in (guestfs_h *g,\n"
+"                    const char *base64file,\n"
+"                    const char *filename);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:493 ../fish/guestfish-actions.pod:386
+#: ../src/guestfs-actions.pod:518 ../fish/guestfish-actions.pod:386
 msgid ""
 "This command uploads base64-encoded data from C<base64file> to C<filename>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:498
+#: ../src/guestfs-actions.pod:523
 msgid "guestfs_base64_out"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:500
+#: ../src/guestfs-actions.pod:525
 #, no-wrap
 msgid ""
-" int guestfs_base64_out (guestfs_h *g,\n"
-"\t\tconst char *filename,\n"
-"\t\tconst char *base64file);\n"
+" int\n"
+" guestfs_base64_out (guestfs_h *g,\n"
+"                     const char *filename,\n"
+"                     const char *base64file);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:504 ../fish/guestfish-actions.pod:395
+#: ../src/guestfs-actions.pod:530 ../fish/guestfish-actions.pod:395
 msgid ""
 "This command downloads the contents of C<filename>, writing it out to local "
 "file C<base64file> encoded as base64."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:509
+#: ../src/guestfs-actions.pod:535
 msgid "guestfs_blockdev_flushbufs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:511
+#: ../src/guestfs-actions.pod:537
 #, no-wrap
 msgid ""
-" int guestfs_blockdev_flushbufs (guestfs_h *g,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_blockdev_flushbufs (guestfs_h *g,\n"
+"                             const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:514 ../fish/guestfish-actions.pod:404
+#: ../src/guestfs-actions.pod:541 ../fish/guestfish-actions.pod:404
 msgid ""
 "This tells the kernel to flush internal buffers associated with C<device>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:517 ../src/guestfs-actions.pod:531
-#: ../src/guestfs-actions.pod:543 ../src/guestfs-actions.pod:556
-#: ../src/guestfs-actions.pod:571 ../src/guestfs-actions.pod:587
-#: ../src/guestfs-actions.pod:598 ../src/guestfs-actions.pod:613
-#: ../src/guestfs-actions.pod:624 ../src/guestfs-actions.pod:635
+#: ../src/guestfs-actions.pod:544 ../src/guestfs-actions.pod:559
+#: ../src/guestfs-actions.pod:572 ../src/guestfs-actions.pod:586
+#: ../src/guestfs-actions.pod:602 ../src/guestfs-actions.pod:619
+#: ../src/guestfs-actions.pod:631 ../src/guestfs-actions.pod:647
+#: ../src/guestfs-actions.pod:659 ../src/guestfs-actions.pod:671
 #: ../fish/guestfish-actions.pod:407 ../fish/guestfish-actions.pod:418
 #: ../fish/guestfish-actions.pod:427 ../fish/guestfish-actions.pod:437
 #: ../fish/guestfish-actions.pod:449 ../fish/guestfish-actions.pod:462
@@ -4952,26 +5099,27 @@ msgid "This uses the L<blockdev(8)> command."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:521
+#: ../src/guestfs-actions.pod:548
 msgid "guestfs_blockdev_getbsz"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:523
+#: ../src/guestfs-actions.pod:550
 #, no-wrap
 msgid ""
-" int guestfs_blockdev_getbsz (guestfs_h *g,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_blockdev_getbsz (guestfs_h *g,\n"
+"                          const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:526 ../fish/guestfish-actions.pod:413
+#: ../src/guestfs-actions.pod:554 ../fish/guestfish-actions.pod:413
 msgid "This returns the block size of a device."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:528 ../src/guestfs-actions.pod:610
+#: ../src/guestfs-actions.pod:556 ../src/guestfs-actions.pod:644
 #: ../fish/guestfish-actions.pod:415 ../fish/guestfish-actions.pod:478
 msgid ""
 "(Note this is different from both I<size in blocks> and I<filesystem block "
@@ -4979,215 +5127,224 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:535
+#: ../src/guestfs-actions.pod:563
 msgid "guestfs_blockdev_getro"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:537
+#: ../src/guestfs-actions.pod:565
 #, no-wrap
 msgid ""
-" int guestfs_blockdev_getro (guestfs_h *g,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_blockdev_getro (guestfs_h *g,\n"
+"                         const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:540 ../fish/guestfish-actions.pod:424
+#: ../src/guestfs-actions.pod:569 ../fish/guestfish-actions.pod:424
 msgid ""
 "Returns a boolean indicating if the block device is read-only (true if read-"
 "only, false if not)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:545 ../src/guestfs-actions.pod:1181
-#: ../src/guestfs-actions.pod:1193 ../src/guestfs-actions.pod:1625
-#: ../src/guestfs-actions.pod:1633 ../src/guestfs-actions.pod:1693
-#: ../src/guestfs-actions.pod:1736 ../src/guestfs-actions.pod:1748
-#: ../src/guestfs-actions.pod:1767 ../src/guestfs-actions.pod:1784
-#: ../src/guestfs-actions.pod:2409 ../src/guestfs-actions.pod:2420
-#: ../src/guestfs-actions.pod:2432 ../src/guestfs-actions.pod:2443
-#: ../src/guestfs-actions.pod:2456 ../src/guestfs-actions.pod:2468
-#: ../src/guestfs-actions.pod:2481 ../src/guestfs-actions.pod:2492
-#: ../src/guestfs-actions.pod:2502 ../src/guestfs-actions.pod:2513
-#: ../src/guestfs-actions.pod:2525 ../src/guestfs-actions.pod:2537
-#: ../src/guestfs-actions.pod:3733
+#: ../src/guestfs-actions.pod:574 ../src/guestfs-actions.pod:1245
+#: ../src/guestfs-actions.pod:1258 ../src/guestfs-actions.pod:1706
+#: ../src/guestfs-actions.pod:1715 ../src/guestfs-actions.pod:1779
+#: ../src/guestfs-actions.pod:1826 ../src/guestfs-actions.pod:1839
+#: ../src/guestfs-actions.pod:1860 ../src/guestfs-actions.pod:1879
+#: ../src/guestfs-actions.pod:2532 ../src/guestfs-actions.pod:2544
+#: ../src/guestfs-actions.pod:2557 ../src/guestfs-actions.pod:2569
+#: ../src/guestfs-actions.pod:2583 ../src/guestfs-actions.pod:2596
+#: ../src/guestfs-actions.pod:2610 ../src/guestfs-actions.pod:2622
+#: ../src/guestfs-actions.pod:2633 ../src/guestfs-actions.pod:2645
+#: ../src/guestfs-actions.pod:2658 ../src/guestfs-actions.pod:2671
+#: ../src/guestfs-actions.pod:3941
 msgid "This function returns a C truth value on success or -1 on error."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:547
+#: ../src/guestfs-actions.pod:576
 msgid "guestfs_blockdev_getsize64"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:549
+#: ../src/guestfs-actions.pod:578
 #, no-wrap
 msgid ""
-" int64_t guestfs_blockdev_getsize64 (guestfs_h *g,\n"
-"\t\tconst char *device);\n"
+" int64_t\n"
+" guestfs_blockdev_getsize64 (guestfs_h *g,\n"
+"                             const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:552 ../fish/guestfish-actions.pod:433
+#: ../src/guestfs-actions.pod:582 ../fish/guestfish-actions.pod:433
 msgid "This returns the size of the device in bytes."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:554
+#: ../src/guestfs-actions.pod:584
 msgid "See also C<guestfs_blockdev_getsz>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:560
+#: ../src/guestfs-actions.pod:590
 msgid "guestfs_blockdev_getss"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:562
+#: ../src/guestfs-actions.pod:592
 #, no-wrap
 msgid ""
-" int guestfs_blockdev_getss (guestfs_h *g,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_blockdev_getss (guestfs_h *g,\n"
+"                         const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:565 ../fish/guestfish-actions.pod:443
+#: ../src/guestfs-actions.pod:596 ../fish/guestfish-actions.pod:443
 msgid ""
 "This returns the size of sectors on a block device.  Usually 512, but can be "
 "larger for modern devices."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:568
+#: ../src/guestfs-actions.pod:599
 msgid ""
 "(Note, this is not the size in sectors, use C<guestfs_blockdev_getsz> for "
 "that)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:575
+#: ../src/guestfs-actions.pod:606
 msgid "guestfs_blockdev_getsz"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:577
+#: ../src/guestfs-actions.pod:608
 #, no-wrap
 msgid ""
-" int64_t guestfs_blockdev_getsz (guestfs_h *g,\n"
-"\t\tconst char *device);\n"
+" int64_t\n"
+" guestfs_blockdev_getsz (guestfs_h *g,\n"
+"                         const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:580 ../fish/guestfish-actions.pod:455
+#: ../src/guestfs-actions.pod:612 ../fish/guestfish-actions.pod:455
 msgid ""
 "This returns the size of the device in units of 512-byte sectors (even if "
 "the sectorsize isn't 512 bytes ... weird)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:583
+#: ../src/guestfs-actions.pod:615
 msgid ""
 "See also C<guestfs_blockdev_getss> for the real sector size of the device, "
 "and C<guestfs_blockdev_getsize64> for the more useful I<size in bytes>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:591
+#: ../src/guestfs-actions.pod:623
 msgid "guestfs_blockdev_rereadpt"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:593
+#: ../src/guestfs-actions.pod:625
 #, no-wrap
 msgid ""
-" int guestfs_blockdev_rereadpt (guestfs_h *g,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_blockdev_rereadpt (guestfs_h *g,\n"
+"                            const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:596 ../fish/guestfish-actions.pod:468
+#: ../src/guestfs-actions.pod:629 ../fish/guestfish-actions.pod:468
 msgid "Reread the partition table on C<device>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:602
+#: ../src/guestfs-actions.pod:635
 msgid "guestfs_blockdev_setbsz"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:604
+#: ../src/guestfs-actions.pod:637
 #, no-wrap
 msgid ""
-" int guestfs_blockdev_setbsz (guestfs_h *g,\n"
-"\t\tconst char *device,\n"
-"\t\tint blocksize);\n"
+" int\n"
+" guestfs_blockdev_setbsz (guestfs_h *g,\n"
+"                          const char *device,\n"
+"                          int blocksize);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:608 ../fish/guestfish-actions.pod:476
+#: ../src/guestfs-actions.pod:642 ../fish/guestfish-actions.pod:476
 msgid "This sets the block size of a device."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:617
+#: ../src/guestfs-actions.pod:651
 msgid "guestfs_blockdev_setro"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:619
+#: ../src/guestfs-actions.pod:653
 #, no-wrap
 msgid ""
-" int guestfs_blockdev_setro (guestfs_h *g,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_blockdev_setro (guestfs_h *g,\n"
+"                         const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:622 ../fish/guestfish-actions.pod:487
+#: ../src/guestfs-actions.pod:657 ../fish/guestfish-actions.pod:487
 msgid "Sets the block device named C<device> to read-only."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:628
+#: ../src/guestfs-actions.pod:663
 msgid "guestfs_blockdev_setrw"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:630
+#: ../src/guestfs-actions.pod:665
 #, no-wrap
 msgid ""
-" int guestfs_blockdev_setrw (guestfs_h *g,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_blockdev_setrw (guestfs_h *g,\n"
+"                         const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:633 ../fish/guestfish-actions.pod:495
+#: ../src/guestfs-actions.pod:669 ../fish/guestfish-actions.pod:495
 msgid "Sets the block device named C<device> to read-write."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:639
+#: ../src/guestfs-actions.pod:675
 msgid "guestfs_case_sensitive_path"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:641
+#: ../src/guestfs-actions.pod:677
 #, no-wrap
 msgid ""
-" char *guestfs_case_sensitive_path (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" char *\n"
+" guestfs_case_sensitive_path (guestfs_h *g,\n"
+"                              const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:644 ../fish/guestfish-actions.pod:503
+#: ../src/guestfs-actions.pod:681 ../fish/guestfish-actions.pod:503
 msgid ""
 "This can be used to resolve case insensitive paths on a filesystem which is "
 "case sensitive.  The use case is to resolve paths which you have read from "
@@ -5195,7 +5352,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:649 ../fish/guestfish-actions.pod:508
+#: ../src/guestfs-actions.pod:686 ../fish/guestfish-actions.pod:508
 msgid ""
 "The command handles a peculiarity of the Linux ntfs-3g filesystem driver "
 "(and probably others), which is that although the underlying filesystem is "
@@ -5204,7 +5361,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:654 ../fish/guestfish-actions.pod:513
+#: ../src/guestfs-actions.pod:691 ../fish/guestfish-actions.pod:513
 msgid ""
 "One consequence of this is that special directories such as C<c:\\windows> "
 "may appear as C</WINDOWS> or C</windows> (or other things) depending on the "
@@ -5213,21 +5370,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:660 ../fish/guestfish-actions.pod:519
+#: ../src/guestfs-actions.pod:697 ../fish/guestfish-actions.pod:519
 msgid ""
 "Bug or feature? You decide: L<http://www.tuxera.com/community/ntfs-3g-faq/"
 "#posixfilenames1>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:663 ../fish/guestfish-actions.pod:522
+#: ../src/guestfs-actions.pod:700 ../fish/guestfish-actions.pod:522
 msgid ""
 "This function resolves the true case of each element in the path and returns "
 "the case-sensitive path."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:666
+#: ../src/guestfs-actions.pod:703
 msgid ""
 "Thus C<guestfs_case_sensitive_path> (\"/Windows/System32\")  might return C<"
 "\"/WINDOWS/system32\"> (the exact return value would depend on details of "
@@ -5235,37 +5392,38 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:671 ../fish/guestfish-actions.pod:530
+#: ../src/guestfs-actions.pod:708 ../fish/guestfish-actions.pod:530
 msgid "I<Note>: This function does not handle drive names, backslashes etc."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:674
+#: ../src/guestfs-actions.pod:711
 msgid "See also C<guestfs_realpath>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:679
+#: ../src/guestfs-actions.pod:716
 msgid "guestfs_cat"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:681
+#: ../src/guestfs-actions.pod:718
 #, no-wrap
 msgid ""
-" char *guestfs_cat (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" char *\n"
+" guestfs_cat (guestfs_h *g,\n"
+"              const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:684 ../src/guestfs-actions.pod:4156
+#: ../src/guestfs-actions.pod:722 ../src/guestfs-actions.pod:4386
 #: ../fish/guestfish-actions.pod:539 ../fish/guestfish-actions.pod:3197
 msgid "Return the contents of the file named C<path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:686
+#: ../src/guestfs-actions.pod:724
 msgid ""
 "Note that this function cannot correctly handle binary files (specifically, "
 "files containing C<\\0> character which is treated as end of string).  For "
@@ -5274,22 +5432,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:694 ../src/guestfs-actions.pod:855
-#: ../src/guestfs-actions.pod:872 ../src/guestfs-actions.pod:1151
-#: ../src/guestfs-actions.pod:1167 ../src/guestfs-actions.pod:1255
-#: ../src/guestfs-actions.pod:1271 ../src/guestfs-actions.pod:1502
-#: ../src/guestfs-actions.pod:1849 ../src/guestfs-actions.pod:1865
-#: ../src/guestfs-actions.pod:1902 ../src/guestfs-actions.pod:1923
-#: ../src/guestfs-actions.pod:1937 ../src/guestfs-actions.pod:1963
-#: ../src/guestfs-actions.pod:3973 ../src/guestfs-actions.pod:3996
-#: ../src/guestfs-actions.pod:4104 ../src/guestfs-actions.pod:4127
-#: ../src/guestfs-actions.pod:4148 ../src/guestfs-actions.pod:4874
-#: ../src/guestfs-actions.pod:4926 ../src/guestfs-actions.pod:5042
-#: ../src/guestfs-actions.pod:5063 ../src/guestfs-actions.pod:5608
-#: ../src/guestfs-actions.pod:5631 ../src/guestfs-actions.pod:5654
-#: ../src/guestfs-actions.pod:5670 ../src/guestfs-actions.pod:5743
-#: ../src/guestfs-actions.pod:5759 ../src/guestfs-actions.pod:5799
-#: ../src/guestfs-actions.pod:5815 ../fish/guestfish-actions.pod:546
+#: ../src/guestfs-actions.pod:732 ../src/guestfs-actions.pod:899
+#: ../src/guestfs-actions.pod:917 ../src/guestfs-actions.pod:1213
+#: ../src/guestfs-actions.pod:1230 ../src/guestfs-actions.pod:1323
+#: ../src/guestfs-actions.pod:1340 ../src/guestfs-actions.pod:1577
+#: ../src/guestfs-actions.pod:1948 ../src/guestfs-actions.pod:1965
+#: ../src/guestfs-actions.pod:2004 ../src/guestfs-actions.pod:2026
+#: ../src/guestfs-actions.pod:2041 ../src/guestfs-actions.pod:2068
+#: ../src/guestfs-actions.pod:4191 ../src/guestfs-actions.pod:4215
+#: ../src/guestfs-actions.pod:4331 ../src/guestfs-actions.pod:4355
+#: ../src/guestfs-actions.pod:4377 ../src/guestfs-actions.pod:5145
+#: ../src/guestfs-actions.pod:5198 ../src/guestfs-actions.pod:5324
+#: ../src/guestfs-actions.pod:5346 ../src/guestfs-actions.pod:5927
+#: ../src/guestfs-actions.pod:5951 ../src/guestfs-actions.pod:5975
+#: ../src/guestfs-actions.pod:5992 ../src/guestfs-actions.pod:6069
+#: ../src/guestfs-actions.pod:6086 ../src/guestfs-actions.pod:6128
+#: ../src/guestfs-actions.pod:6145 ../fish/guestfish-actions.pod:546
 #: ../fish/guestfish-actions.pod:681 ../fish/guestfish-actions.pod:693
 #: ../fish/guestfish-actions.pod:894 ../fish/guestfish-actions.pod:904
 #: ../fish/guestfish-actions.pod:971 ../fish/guestfish-actions.pod:981
@@ -5311,137 +5469,139 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:697
+#: ../src/guestfs-actions.pod:735
 msgid "guestfs_checksum"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:699
+#: ../src/guestfs-actions.pod:737
 #, no-wrap
 msgid ""
-" char *guestfs_checksum (guestfs_h *g,\n"
-"\t\tconst char *csumtype,\n"
-"\t\tconst char *path);\n"
+" char *\n"
+" guestfs_checksum (guestfs_h *g,\n"
+"                   const char *csumtype,\n"
+"                   const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:703 ../fish/guestfish-actions.pod:553
+#: ../src/guestfs-actions.pod:742 ../fish/guestfish-actions.pod:553
 msgid ""
 "This call computes the MD5, SHAx or CRC checksum of the file named C<path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:706 ../fish/guestfish-actions.pod:556
+#: ../src/guestfs-actions.pod:745 ../fish/guestfish-actions.pod:556
 msgid ""
 "The type of checksum to compute is given by the C<csumtype> parameter which "
 "must have one of the following values:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:711 ../fish/guestfish-actions.pod:561
+#: ../src/guestfs-actions.pod:750 ../fish/guestfish-actions.pod:561
 msgid "C<crc>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:713 ../fish/guestfish-actions.pod:563
+#: ../src/guestfs-actions.pod:752 ../fish/guestfish-actions.pod:563
 msgid ""
 "Compute the cyclic redundancy check (CRC) specified by POSIX for the "
 "C<cksum> command."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:716 ../fish/guestfish-actions.pod:566
+#: ../src/guestfs-actions.pod:755 ../fish/guestfish-actions.pod:566
 msgid "C<md5>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:718 ../fish/guestfish-actions.pod:568
+#: ../src/guestfs-actions.pod:757 ../fish/guestfish-actions.pod:568
 msgid "Compute the MD5 hash (using the C<md5sum> program)."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:720 ../fish/guestfish-actions.pod:570
+#: ../src/guestfs-actions.pod:759 ../fish/guestfish-actions.pod:570
 msgid "C<sha1>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:722 ../fish/guestfish-actions.pod:572
+#: ../src/guestfs-actions.pod:761 ../fish/guestfish-actions.pod:572
 msgid "Compute the SHA1 hash (using the C<sha1sum> program)."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:724 ../fish/guestfish-actions.pod:574
+#: ../src/guestfs-actions.pod:763 ../fish/guestfish-actions.pod:574
 msgid "C<sha224>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:726 ../fish/guestfish-actions.pod:576
+#: ../src/guestfs-actions.pod:765 ../fish/guestfish-actions.pod:576
 msgid "Compute the SHA224 hash (using the C<sha224sum> program)."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:728 ../fish/guestfish-actions.pod:578
+#: ../src/guestfs-actions.pod:767 ../fish/guestfish-actions.pod:578
 msgid "C<sha256>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:730 ../fish/guestfish-actions.pod:580
+#: ../src/guestfs-actions.pod:769 ../fish/guestfish-actions.pod:580
 msgid "Compute the SHA256 hash (using the C<sha256sum> program)."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:732 ../fish/guestfish-actions.pod:582
+#: ../src/guestfs-actions.pod:771 ../fish/guestfish-actions.pod:582
 msgid "C<sha384>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:734 ../fish/guestfish-actions.pod:584
+#: ../src/guestfs-actions.pod:773 ../fish/guestfish-actions.pod:584
 msgid "Compute the SHA384 hash (using the C<sha384sum> program)."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:736 ../fish/guestfish-actions.pod:586
+#: ../src/guestfs-actions.pod:775 ../fish/guestfish-actions.pod:586
 msgid "C<sha512>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:738 ../fish/guestfish-actions.pod:588
+#: ../src/guestfs-actions.pod:777 ../fish/guestfish-actions.pod:588
 msgid "Compute the SHA512 hash (using the C<sha512sum> program)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:742 ../fish/guestfish-actions.pod:592
+#: ../src/guestfs-actions.pod:781 ../fish/guestfish-actions.pod:592
 msgid "The checksum is returned as a printable string."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:744
+#: ../src/guestfs-actions.pod:783
 msgid "To get the checksum for a device, use C<guestfs_checksum_device>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:746
+#: ../src/guestfs-actions.pod:785
 msgid "To get the checksums for many files, use C<guestfs_checksums_out>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:751
+#: ../src/guestfs-actions.pod:790
 msgid "guestfs_checksum_device"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:753
+#: ../src/guestfs-actions.pod:792
 #, no-wrap
 msgid ""
-" char *guestfs_checksum_device (guestfs_h *g,\n"
-"\t\tconst char *csumtype,\n"
-"\t\tconst char *device);\n"
+" char *\n"
+" guestfs_checksum_device (guestfs_h *g,\n"
+"                          const char *csumtype,\n"
+"                          const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:757
+#: ../src/guestfs-actions.pod:797
 msgid ""
 "This call computes the MD5, SHAx or CRC checksum of the contents of the "
 "device named C<device>.  For the types of checksums supported see the "
@@ -5449,30 +5609,31 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:764
+#: ../src/guestfs-actions.pod:804
 msgid "guestfs_checksums_out"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:766
+#: ../src/guestfs-actions.pod:806
 #, no-wrap
 msgid ""
-" int guestfs_checksums_out (guestfs_h *g,\n"
-"\t\tconst char *csumtype,\n"
-"\t\tconst char *directory,\n"
-"\t\tconst char *sumsfile);\n"
+" int\n"
+" guestfs_checksums_out (guestfs_h *g,\n"
+"                        const char *csumtype,\n"
+"                        const char *directory,\n"
+"                        const char *sumsfile);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:771 ../fish/guestfish-actions.pod:610
+#: ../src/guestfs-actions.pod:812 ../fish/guestfish-actions.pod:610
 msgid ""
 "This command computes the checksums of all regular files in C<directory> and "
 "then emits a list of those checksums to the local output file C<sumsfile>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:775 ../fish/guestfish-actions.pod:614
+#: ../src/guestfs-actions.pod:816 ../fish/guestfish-actions.pod:614
 msgid ""
 "This can be used for verifying the integrity of a virtual machine.  However "
 "to be properly secure you should pay attention to the output of the checksum "
@@ -5482,29 +5643,30 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:785
+#: ../src/guestfs-actions.pod:826
 msgid "guestfs_chmod"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:787
+#: ../src/guestfs-actions.pod:828
 #, no-wrap
 msgid ""
-" int guestfs_chmod (guestfs_h *g,\n"
-"\t\tint mode,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_chmod (guestfs_h *g,\n"
+"                int mode,\n"
+"                const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:791 ../fish/guestfish-actions.pod:628
+#: ../src/guestfs-actions.pod:833 ../fish/guestfish-actions.pod:628
 msgid ""
 "Change the mode (permissions) of C<path> to C<mode>.  Only numeric modes are "
 "supported."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:794 ../fish/guestfish-actions.pod:631
+#: ../src/guestfs-actions.pod:836 ../fish/guestfish-actions.pod:631
 msgid ""
 "I<Note>: When using this command from guestfish, C<mode> by default would be "
 "decimal, unless you prefix it with C<0> to get octal, ie. use C<0700> not "
@@ -5512,37 +5674,38 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:798 ../src/guestfs-actions.pod:3301
-#: ../src/guestfs-actions.pod:3404 ../src/guestfs-actions.pod:3420
-#: ../src/guestfs-actions.pod:3436 ../fish/guestfish-actions.pod:635
+#: ../src/guestfs-actions.pod:840 ../src/guestfs-actions.pod:3483
+#: ../src/guestfs-actions.pod:3590 ../src/guestfs-actions.pod:3607
+#: ../src/guestfs-actions.pod:3624 ../fish/guestfish-actions.pod:635
 #: ../fish/guestfish-actions.pod:2557 ../fish/guestfish-actions.pod:2642
 #: ../fish/guestfish-actions.pod:2652 ../fish/guestfish-actions.pod:2662
 msgid "The mode actually set is affected by the umask."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:802
+#: ../src/guestfs-actions.pod:844
 msgid "guestfs_chown"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:804
+#: ../src/guestfs-actions.pod:846
 #, no-wrap
 msgid ""
-" int guestfs_chown (guestfs_h *g,\n"
-"\t\tint owner,\n"
-"\t\tint group,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_chown (guestfs_h *g,\n"
+"                int owner,\n"
+"                int group,\n"
+"                const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:809 ../fish/guestfish-actions.pod:641
+#: ../src/guestfs-actions.pod:852 ../fish/guestfish-actions.pod:641
 msgid "Change the file owner to C<owner> and group to C<group>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:811 ../src/guestfs-actions.pod:2570
+#: ../src/guestfs-actions.pod:854 ../src/guestfs-actions.pod:2707
 #: ../fish/guestfish-actions.pod:643 ../fish/guestfish-actions.pod:2035
 msgid ""
 "Only numeric uid and gid are supported.  If you want to use names, you will "
@@ -5551,21 +5714,22 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:817
+#: ../src/guestfs-actions.pod:860
 msgid "guestfs_command"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:819
+#: ../src/guestfs-actions.pod:862
 #, no-wrap
 msgid ""
-" char *guestfs_command (guestfs_h *g,\n"
-"\t\tchar *const *arguments);\n"
+" char *\n"
+" guestfs_command (guestfs_h *g,\n"
+"                  char *const *arguments);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:822 ../fish/guestfish-actions.pod:651
+#: ../src/guestfs-actions.pod:866 ../fish/guestfish-actions.pod:651
 msgid ""
 "This call runs a command from the guest filesystem.  The filesystem must be "
 "mounted, and must contain a compatible operating system (ie. something "
@@ -5573,7 +5737,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:827
+#: ../src/guestfs-actions.pod:871
 msgid ""
 "The single parameter is an argv-style list of arguments.  The first element "
 "is the name of the program to run.  Subsequent elements are parameters.  The "
@@ -5583,12 +5747,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:834 ../fish/guestfish-actions.pod:663
+#: ../src/guestfs-actions.pod:878 ../fish/guestfish-actions.pod:663
 msgid "The return value is anything printed to I<stdout> by the command."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:837 ../fish/guestfish-actions.pod:666
+#: ../src/guestfs-actions.pod:881 ../fish/guestfish-actions.pod:666
 msgid ""
 "If the command returns a non-zero exit status, then this function returns an "
 "error message.  The error message string is the content of I<stderr> from "
@@ -5596,7 +5760,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:841 ../fish/guestfish-actions.pod:670
+#: ../src/guestfs-actions.pod:885 ../fish/guestfish-actions.pod:670
 msgid ""
 "The C<$PATH> environment variable will contain at least C</usr/bin> and C</"
 "bin>.  If you require a program from another location, you should provide "
@@ -5604,7 +5768,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:846 ../fish/guestfish-actions.pod:675
+#: ../src/guestfs-actions.pod:890 ../fish/guestfish-actions.pod:675
 msgid ""
 "Shared libraries and data files required by the program must be available on "
 "filesystems which are mounted in the correct places.  It is the caller's "
@@ -5613,48 +5777,50 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:858
+#: ../src/guestfs-actions.pod:902
 msgid "guestfs_command_lines"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:860
+#: ../src/guestfs-actions.pod:904
 #, no-wrap
 msgid ""
-" char **guestfs_command_lines (guestfs_h *g,\n"
-"\t\tchar *const *arguments);\n"
+" char **\n"
+" guestfs_command_lines (guestfs_h *g,\n"
+"                        char *const *arguments);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:863
+#: ../src/guestfs-actions.pod:908
 msgid ""
 "This is the same as C<guestfs_command>, but splits the result into a list of "
 "lines."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:866
+#: ../src/guestfs-actions.pod:911
 msgid "See also: C<guestfs_sh_lines>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:875
+#: ../src/guestfs-actions.pod:920
 msgid "guestfs_config"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:877
+#: ../src/guestfs-actions.pod:922
 #, no-wrap
 msgid ""
-" int guestfs_config (guestfs_h *g,\n"
-"\t\tconst char *qemuparam,\n"
-"\t\tconst char *qemuvalue);\n"
+" int\n"
+" guestfs_config (guestfs_h *g,\n"
+"                 const char *qemuparam,\n"
+"                 const char *qemuvalue);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:881 ../fish/guestfish-actions.pod:700
+#: ../src/guestfs-actions.pod:927 ../fish/guestfish-actions.pod:700
 msgid ""
 "This can be used to add arbitrary qemu command line parameters of the form "
 "C<-param value>.  Actually it's not quite arbitrary - we prevent you from "
@@ -5662,50 +5828,51 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:886 ../fish/guestfish-actions.pod:705
+#: ../src/guestfs-actions.pod:932 ../fish/guestfish-actions.pod:705
 msgid "The first character of C<param> string must be a C<-> (dash)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:888 ../fish/guestfish-actions.pod:707
+#: ../src/guestfs-actions.pod:934 ../fish/guestfish-actions.pod:707
 msgid "C<value> can be NULL."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:892
+#: ../src/guestfs-actions.pod:938
 msgid "guestfs_copy_size"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:894
+#: ../src/guestfs-actions.pod:940
 #, no-wrap
 msgid ""
-" int guestfs_copy_size (guestfs_h *g,\n"
-"\t\tconst char *src,\n"
-"\t\tconst char *dest,\n"
-"\t\tint64_t size);\n"
+" int\n"
+" guestfs_copy_size (guestfs_h *g,\n"
+"                    const char *src,\n"
+"                    const char *dest,\n"
+"                    int64_t size);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:899 ../fish/guestfish-actions.pod:713
+#: ../src/guestfs-actions.pod:946 ../fish/guestfish-actions.pod:713
 msgid ""
 "This command copies exactly C<size> bytes from one source device or file "
 "C<src> to another destination device or file C<dest>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:902 ../fish/guestfish-actions.pod:716
+#: ../src/guestfs-actions.pod:949 ../fish/guestfish-actions.pod:716
 msgid ""
 "Note this will fail if the source is too short or if the destination is not "
 "large enough."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:907 ../src/guestfs-actions.pod:1042
-#: ../src/guestfs-actions.pod:1070 ../src/guestfs-actions.pod:1442
-#: ../src/guestfs-actions.pod:1461 ../src/guestfs-actions.pod:5688
-#: ../src/guestfs-actions.pod:5704
+#: ../src/guestfs-actions.pod:954 ../src/guestfs-actions.pod:1098
+#: ../src/guestfs-actions.pod:1127 ../src/guestfs-actions.pod:1515
+#: ../src/guestfs-actions.pod:1535 ../src/guestfs-actions.pod:6011
+#: ../src/guestfs-actions.pod:6028
 msgid ""
 "This long-running command can generate progress notification messages so "
 "that the caller can display a progress bar or indicator.  To receive these "
@@ -5714,66 +5881,69 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:912
+#: ../src/guestfs-actions.pod:959
 msgid "guestfs_cp"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:914
+#: ../src/guestfs-actions.pod:961
 #, no-wrap
 msgid ""
-" int guestfs_cp (guestfs_h *g,\n"
-"\t\tconst char *src,\n"
-"\t\tconst char *dest);\n"
+" int\n"
+" guestfs_cp (guestfs_h *g,\n"
+"             const char *src,\n"
+"             const char *dest);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:918 ../fish/guestfish-actions.pod:723
+#: ../src/guestfs-actions.pod:966 ../fish/guestfish-actions.pod:723
 msgid ""
 "This copies a file from C<src> to C<dest> where C<dest> is either a "
 "destination filename or destination directory."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:923
+#: ../src/guestfs-actions.pod:971
 msgid "guestfs_cp_a"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:925
+#: ../src/guestfs-actions.pod:973
 #, no-wrap
 msgid ""
-" int guestfs_cp_a (guestfs_h *g,\n"
-"\t\tconst char *src,\n"
-"\t\tconst char *dest);\n"
+" int\n"
+" guestfs_cp_a (guestfs_h *g,\n"
+"               const char *src,\n"
+"               const char *dest);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:929 ../fish/guestfish-actions.pod:730
+#: ../src/guestfs-actions.pod:978 ../fish/guestfish-actions.pod:730
 msgid ""
 "This copies a file or directory from C<src> to C<dest> recursively using the "
 "C<cp -a> command."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:934
+#: ../src/guestfs-actions.pod:983
 msgid "guestfs_dd"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:936
+#: ../src/guestfs-actions.pod:985
 #, no-wrap
 msgid ""
-" int guestfs_dd (guestfs_h *g,\n"
-"\t\tconst char *src,\n"
-"\t\tconst char *dest);\n"
+" int\n"
+" guestfs_dd (guestfs_h *g,\n"
+"             const char *src,\n"
+"             const char *dest);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:940 ../fish/guestfish-actions.pod:737
+#: ../src/guestfs-actions.pod:990 ../fish/guestfish-actions.pod:737
 msgid ""
 "This command copies from one source device or file C<src> to another "
 "destination device or file C<dest>.  Normally you would use this to copy to "
@@ -5781,7 +5951,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:945
+#: ../src/guestfs-actions.pod:995
 msgid ""
 "If the destination is a device, it must be as large or larger than the "
 "source file or device, otherwise the copy will fail.  This command cannot do "
@@ -5789,84 +5959,87 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:951
+#: ../src/guestfs-actions.pod:1001
 msgid "guestfs_debug"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:953
+#: ../src/guestfs-actions.pod:1003
 #, no-wrap
 msgid ""
-" char *guestfs_debug (guestfs_h *g,\n"
-"\t\tconst char *subcmd,\n"
-"\t\tchar *const *extraargs);\n"
+" char *\n"
+" guestfs_debug (guestfs_h *g,\n"
+"                const char *subcmd,\n"
+"                char *const *extraargs);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:957
+#: ../src/guestfs-actions.pod:1008
 msgid ""
 "The C<guestfs_debug> command exposes some internals of C<guestfsd> (the "
 "guestfs daemon) that runs inside the qemu subprocess."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:961 ../fish/guestfish-actions.pod:754
+#: ../src/guestfs-actions.pod:1012 ../fish/guestfish-actions.pod:754
 msgid ""
 "There is no comprehensive help for this command.  You have to look at the "
 "file C<daemon/debug.c> in the libguestfs source to find out what you can do."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:968
+#: ../src/guestfs-actions.pod:1019
 msgid "guestfs_debug_upload"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:970
+#: ../src/guestfs-actions.pod:1021
 #, no-wrap
 msgid ""
-" int guestfs_debug_upload (guestfs_h *g,\n"
-"\t\tconst char *filename,\n"
-"\t\tconst char *tmpname,\n"
-"\t\tint mode);\n"
+" int\n"
+" guestfs_debug_upload (guestfs_h *g,\n"
+"                       const char *filename,\n"
+"                       const char *tmpname,\n"
+"                       int mode);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:975
+#: ../src/guestfs-actions.pod:1027
 msgid ""
 "The C<guestfs_debug_upload> command uploads a file to the libguestfs "
 "appliance."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:978 ../fish/guestfish-actions.pod:765
+#: ../src/guestfs-actions.pod:1030 ../fish/guestfish-actions.pod:765
 msgid ""
 "There is no comprehensive help for this command.  You have to look at the "
 "file C<daemon/debug.c> in the libguestfs source to find out what it is for."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:984
+#: ../src/guestfs-actions.pod:1036
 msgid "guestfs_df"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:986
+#: ../src/guestfs-actions.pod:1038
 #, no-wrap
 msgid ""
-" char *guestfs_df (guestfs_h *g);\n"
+" char *\n"
+" guestfs_df (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:988 ../fish/guestfish-actions.pod:775
+#: ../src/guestfs-actions.pod:1041 ../fish/guestfish-actions.pod:775
 msgid "This command runs the C<df> command to report disk space used."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:990 ../src/guestfs-actions.pod:1004
+#: ../src/guestfs-actions.pod:1043 ../src/guestfs-actions.pod:1058
 #: ../fish/guestfish-actions.pod:777 ../fish/guestfish-actions.pod:788
 msgid ""
 "This command is mostly useful for interactive sessions.  It is I<not> "
@@ -5875,47 +6048,49 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:997
+#: ../src/guestfs-actions.pod:1050
 msgid "guestfs_df_h"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:999
+#: ../src/guestfs-actions.pod:1052
 #, no-wrap
 msgid ""
-" char *guestfs_df_h (guestfs_h *g);\n"
+" char *\n"
+" guestfs_df_h (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1001 ../fish/guestfish-actions.pod:785
+#: ../src/guestfs-actions.pod:1055 ../fish/guestfish-actions.pod:785
 msgid ""
 "This command runs the C<df -h> command to report disk space used in human-"
 "readable format."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1011
+#: ../src/guestfs-actions.pod:1065
 msgid "guestfs_dmesg"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1013
+#: ../src/guestfs-actions.pod:1067
 #, no-wrap
 msgid ""
-" char *guestfs_dmesg (guestfs_h *g);\n"
+" char *\n"
+" guestfs_dmesg (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1015 ../fish/guestfish-actions.pod:796
+#: ../src/guestfs-actions.pod:1070 ../fish/guestfish-actions.pod:796
 msgid ""
 "This returns the kernel messages (C<dmesg> output) from the guest kernel.  "
 "This is sometimes useful for extended debugging of problems."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1019
+#: ../src/guestfs-actions.pod:1074
 msgid ""
 "Another way to get the same information is to enable verbose messages with "
 "C<guestfs_set_verbose> or by setting the environment variable "
@@ -5923,22 +6098,23 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1027
+#: ../src/guestfs-actions.pod:1082
 msgid "guestfs_download"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1029
+#: ../src/guestfs-actions.pod:1084
 #, no-wrap
 msgid ""
-" int guestfs_download (guestfs_h *g,\n"
-"\t\tconst char *remotefilename,\n"
-"\t\tconst char *filename);\n"
+" int\n"
+" guestfs_download (guestfs_h *g,\n"
+"                   const char *remotefilename,\n"
+"                   const char *filename);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1033 ../src/guestfs-actions.pod:1055
+#: ../src/guestfs-actions.pod:1089 ../src/guestfs-actions.pod:1112
 #: ../fish/guestfish-actions.pod:809 ../fish/guestfish-actions.pod:822
 msgid ""
 "Download file C<remotefilename> and save it as C<filename> on the local "
@@ -5946,42 +6122,43 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1036 ../src/guestfs-actions.pod:5256
+#: ../src/guestfs-actions.pod:1092 ../src/guestfs-actions.pod:5553
 #: ../fish/guestfish-actions.pod:812 ../fish/guestfish-actions.pod:4077
 msgid "C<filename> can also be a named pipe."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1038
+#: ../src/guestfs-actions.pod:1094
 msgid "See also C<guestfs_upload>, C<guestfs_cat>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1047
+#: ../src/guestfs-actions.pod:1103
 msgid "guestfs_download_offset"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1049
+#: ../src/guestfs-actions.pod:1105
 #, no-wrap
 msgid ""
-" int guestfs_download_offset (guestfs_h *g,\n"
-"\t\tconst char *remotefilename,\n"
-"\t\tconst char *filename,\n"
-"\t\tint64_t offset,\n"
-"\t\tint64_t size);\n"
+" int\n"
+" guestfs_download_offset (guestfs_h *g,\n"
+"                          const char *remotefilename,\n"
+"                          const char *filename,\n"
+"                          int64_t offset,\n"
+"                          int64_t size);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1058 ../fish/guestfish-actions.pod:825
+#: ../src/guestfs-actions.pod:1115 ../fish/guestfish-actions.pod:825
 msgid ""
 "C<remotefilename> is read for C<size> bytes starting at C<offset> (this "
 "region must be within the file or device)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1061
+#: ../src/guestfs-actions.pod:1118
 msgid ""
 "Note that there is no limit on the amount of data that can be downloaded "
 "with this call, unlike with C<guestfs_pread>, and this call always reads the "
@@ -5989,26 +6166,27 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1066
+#: ../src/guestfs-actions.pod:1123
 msgid "See also C<guestfs_download>, C<guestfs_pread>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1075
+#: ../src/guestfs-actions.pod:1132
 msgid "guestfs_drop_caches"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1077
+#: ../src/guestfs-actions.pod:1134
 #, no-wrap
 msgid ""
-" int guestfs_drop_caches (guestfs_h *g,\n"
-"\t\tint whattodrop);\n"
+" int\n"
+" guestfs_drop_caches (guestfs_h *g,\n"
+"                      int whattodrop);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1080 ../fish/guestfish-actions.pod:841
+#: ../src/guestfs-actions.pod:1138 ../fish/guestfish-actions.pod:841
 msgid ""
 "This instructs the guest kernel to drop its page cache, and/or dentries and "
 "inode caches.  The parameter C<whattodrop> tells the kernel what precisely "
@@ -6016,40 +6194,41 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1085 ../fish/guestfish-actions.pod:846
+#: ../src/guestfs-actions.pod:1143 ../fish/guestfish-actions.pod:846
 msgid "Setting C<whattodrop> to 3 should drop everything."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1087 ../fish/guestfish-actions.pod:848
+#: ../src/guestfs-actions.pod:1145 ../fish/guestfish-actions.pod:848
 msgid ""
 "This automatically calls L<sync(2)> before the operation, so that the "
 "maximum guest memory is freed."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1092
+#: ../src/guestfs-actions.pod:1150
 msgid "guestfs_du"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1094
+#: ../src/guestfs-actions.pod:1152
 #, no-wrap
 msgid ""
-" int64_t guestfs_du (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" int64_t\n"
+" guestfs_du (guestfs_h *g,\n"
+"             const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1097 ../fish/guestfish-actions.pod:855
+#: ../src/guestfs-actions.pod:1156 ../fish/guestfish-actions.pod:855
 msgid ""
 "This command runs the C<du -s> command to estimate file space usage for "
 "C<path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1100 ../fish/guestfish-actions.pod:858
+#: ../src/guestfs-actions.pod:1159 ../fish/guestfish-actions.pod:858
 msgid ""
 "C<path> can be a file or a directory.  If C<path> is a directory then the "
 "estimate includes the contents of the directory and all subdirectories "
@@ -6057,27 +6236,28 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1104 ../fish/guestfish-actions.pod:862
+#: ../src/guestfs-actions.pod:1163 ../fish/guestfish-actions.pod:862
 msgid ""
 "The result is the estimated size in I<kilobytes> (ie. units of 1024 bytes)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1109
+#: ../src/guestfs-actions.pod:1168
 msgid "guestfs_e2fsck_f"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1111
+#: ../src/guestfs-actions.pod:1170
 #, no-wrap
 msgid ""
-" int guestfs_e2fsck_f (guestfs_h *g,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_e2fsck_f (guestfs_h *g,\n"
+"                   const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1114 ../fish/guestfish-actions.pod:869
+#: ../src/guestfs-actions.pod:1174 ../fish/guestfish-actions.pod:869
 msgid ""
 "This runs C<e2fsck -p -f device>, ie. runs the ext2/ext3 filesystem checker "
 "on C<device>, noninteractively (C<-p>), even if the filesystem appears to be "
@@ -6085,155 +6265,161 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1118
+#: ../src/guestfs-actions.pod:1178
 msgid ""
 "This command is only needed because of C<guestfs_resize2fs> (q.v.).  "
 "Normally you should use C<guestfs_fsck>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1123
+#: ../src/guestfs-actions.pod:1183
 msgid "guestfs_echo_daemon"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1125
+#: ../src/guestfs-actions.pod:1185
 #, no-wrap
 msgid ""
-" char *guestfs_echo_daemon (guestfs_h *g,\n"
-"\t\tchar *const *words);\n"
+" char *\n"
+" guestfs_echo_daemon (guestfs_h *g,\n"
+"                      char *const *words);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1128 ../fish/guestfish-actions.pod:880
+#: ../src/guestfs-actions.pod:1189 ../fish/guestfish-actions.pod:880
 msgid ""
 "This command concatenates the list of C<words> passed with single spaces "
 "between them and returns the resulting string."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1131 ../fish/guestfish-actions.pod:883
+#: ../src/guestfs-actions.pod:1192 ../fish/guestfish-actions.pod:883
 msgid "You can use this command to test the connection through to the daemon."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1133
+#: ../src/guestfs-actions.pod:1194
 msgid "See also C<guestfs_ping_daemon>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1138
+#: ../src/guestfs-actions.pod:1199
 msgid "guestfs_egrep"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1140
+#: ../src/guestfs-actions.pod:1201
 #, no-wrap
 msgid ""
-" char **guestfs_egrep (guestfs_h *g,\n"
-"\t\tconst char *regex,\n"
-"\t\tconst char *path);\n"
+" char **\n"
+" guestfs_egrep (guestfs_h *g,\n"
+"                const char *regex,\n"
+"                const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1144 ../fish/guestfish-actions.pod:891
+#: ../src/guestfs-actions.pod:1206 ../fish/guestfish-actions.pod:891
 msgid ""
 "This calls the external C<egrep> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1154
+#: ../src/guestfs-actions.pod:1216
 msgid "guestfs_egrepi"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1156
+#: ../src/guestfs-actions.pod:1218
 #, no-wrap
 msgid ""
-" char **guestfs_egrepi (guestfs_h *g,\n"
-"\t\tconst char *regex,\n"
-"\t\tconst char *path);\n"
+" char **\n"
+" guestfs_egrepi (guestfs_h *g,\n"
+"                 const char *regex,\n"
+"                 const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1160 ../fish/guestfish-actions.pod:901
+#: ../src/guestfs-actions.pod:1223 ../fish/guestfish-actions.pod:901
 msgid ""
 "This calls the external C<egrep -i> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1170
+#: ../src/guestfs-actions.pod:1233
 msgid "guestfs_equal"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1172
+#: ../src/guestfs-actions.pod:1235
 #, no-wrap
 msgid ""
-" int guestfs_equal (guestfs_h *g,\n"
-"\t\tconst char *file1,\n"
-"\t\tconst char *file2);\n"
+" int\n"
+" guestfs_equal (guestfs_h *g,\n"
+"                const char *file1,\n"
+"                const char *file2);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1176 ../fish/guestfish-actions.pod:911
+#: ../src/guestfs-actions.pod:1240 ../fish/guestfish-actions.pod:911
 msgid ""
 "This compares the two files C<file1> and C<file2> and returns true if their "
 "content is exactly equal, or false otherwise."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1179 ../fish/guestfish-actions.pod:914
+#: ../src/guestfs-actions.pod:1243 ../fish/guestfish-actions.pod:914
 msgid "The external L<cmp(1)> program is used for the comparison."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1183
+#: ../src/guestfs-actions.pod:1247
 msgid "guestfs_exists"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1185
+#: ../src/guestfs-actions.pod:1249
 #, no-wrap
 msgid ""
-" int guestfs_exists (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_exists (guestfs_h *g,\n"
+"                 const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1188 ../fish/guestfish-actions.pod:920
+#: ../src/guestfs-actions.pod:1253 ../fish/guestfish-actions.pod:920
 msgid ""
 "This returns C<true> if and only if there is a file, directory (or anything) "
 "with the given C<path> name."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1191
+#: ../src/guestfs-actions.pod:1256
 msgid "See also C<guestfs_is_file>, C<guestfs_is_dir>, C<guestfs_stat>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1195
+#: ../src/guestfs-actions.pod:1260
 msgid "guestfs_fallocate"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1197
+#: ../src/guestfs-actions.pod:1262
 #, no-wrap
 msgid ""
-" int guestfs_fallocate (guestfs_h *g,\n"
-"\t\tconst char *path,\n"
-"\t\tint len);\n"
+" int\n"
+" guestfs_fallocate (guestfs_h *g,\n"
+"                    const char *path,\n"
+"                    int len);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1201 ../src/guestfs-actions.pod:1224
+#: ../src/guestfs-actions.pod:1267 ../src/guestfs-actions.pod:1291
 #: ../fish/guestfish-actions.pod:929 ../fish/guestfish-actions.pod:948
 msgid ""
 "This command preallocates a file (containing zero bytes) named C<path> of "
@@ -6241,43 +6427,44 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1205 ../fish/guestfish-actions.pod:933
+#: ../src/guestfs-actions.pod:1271 ../fish/guestfish-actions.pod:933
 msgid ""
 "Do not confuse this with the guestfish-specific C<alloc> command which "
 "allocates a file in the host and attaches it as a device."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1211 ../fish/guestfish-actions.pod:937
+#: ../src/guestfs-actions.pod:1277 ../fish/guestfish-actions.pod:937
 msgid ""
 "This function is deprecated.  In new code, use the C<fallocate64> call "
 "instead."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1218
+#: ../src/guestfs-actions.pod:1284
 msgid "guestfs_fallocate64"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1220
+#: ../src/guestfs-actions.pod:1286
 #, no-wrap
 msgid ""
-" int guestfs_fallocate64 (guestfs_h *g,\n"
-"\t\tconst char *path,\n"
-"\t\tint64_t len);\n"
+" int\n"
+" guestfs_fallocate64 (guestfs_h *g,\n"
+"                      const char *path,\n"
+"                      int64_t len);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1228
+#: ../src/guestfs-actions.pod:1295
 msgid ""
 "Note that this call allocates disk blocks for the file.  To create a sparse "
 "file use C<guestfs_truncate_size> instead."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1231
+#: ../src/guestfs-actions.pod:1298
 msgid ""
 "The deprecated call C<guestfs_fallocate> does the same, but owing to an "
 "oversight it only allowed 30 bit lengths to be specified, effectively "
@@ -6285,91 +6472,94 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1236 ../fish/guestfish-actions.pod:960
+#: ../src/guestfs-actions.pod:1303 ../fish/guestfish-actions.pod:960
 msgid ""
 "Do not confuse this with the guestfish-specific C<alloc> and C<sparse> "
 "commands which create a file in the host and attach it as a device."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1242
+#: ../src/guestfs-actions.pod:1309
 msgid "guestfs_fgrep"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1244
+#: ../src/guestfs-actions.pod:1311
 #, no-wrap
 msgid ""
-" char **guestfs_fgrep (guestfs_h *g,\n"
-"\t\tconst char *pattern,\n"
-"\t\tconst char *path);\n"
+" char **\n"
+" guestfs_fgrep (guestfs_h *g,\n"
+"                const char *pattern,\n"
+"                const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1248 ../fish/guestfish-actions.pod:968
+#: ../src/guestfs-actions.pod:1316 ../fish/guestfish-actions.pod:968
 msgid ""
 "This calls the external C<fgrep> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1258
+#: ../src/guestfs-actions.pod:1326
 msgid "guestfs_fgrepi"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1260
+#: ../src/guestfs-actions.pod:1328
 #, no-wrap
 msgid ""
-" char **guestfs_fgrepi (guestfs_h *g,\n"
-"\t\tconst char *pattern,\n"
-"\t\tconst char *path);\n"
+" char **\n"
+" guestfs_fgrepi (guestfs_h *g,\n"
+"                 const char *pattern,\n"
+"                 const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1264 ../fish/guestfish-actions.pod:978
+#: ../src/guestfs-actions.pod:1333 ../fish/guestfish-actions.pod:978
 msgid ""
 "This calls the external C<fgrep -i> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1274
+#: ../src/guestfs-actions.pod:1343
 msgid "guestfs_file"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1276
+#: ../src/guestfs-actions.pod:1345
 #, no-wrap
 msgid ""
-" char *guestfs_file (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" char *\n"
+" guestfs_file (guestfs_h *g,\n"
+"               const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1279 ../fish/guestfish-actions.pod:988
+#: ../src/guestfs-actions.pod:1349 ../fish/guestfish-actions.pod:988
 msgid ""
 "This call uses the standard L<file(1)> command to determine the type or "
 "contents of the file."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1282 ../fish/guestfish-actions.pod:991
+#: ../src/guestfs-actions.pod:1352 ../fish/guestfish-actions.pod:991
 msgid ""
 "This call will also transparently look inside various types of compressed "
 "file."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1285 ../fish/guestfish-actions.pod:994
+#: ../src/guestfs-actions.pod:1355 ../fish/guestfish-actions.pod:994
 msgid ""
 "The exact command which runs is C<file -zb path>.  Note in particular that "
 "the filename is not prepended to the output (the C<-b> option)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1289
+#: ../src/guestfs-actions.pod:1359
 msgid ""
 "This command can also be used on C</dev/> devices (and partitions, LV "
 "names).  You can for example use this to determine if a device contains a "
@@ -6377,7 +6567,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1294 ../fish/guestfish-actions.pod:1003
+#: ../src/guestfs-actions.pod:1364 ../fish/guestfish-actions.pod:1003
 msgid ""
 "If the C<path> does not begin with C</dev/> then this command only works for "
 "the content of regular files.  For other file types (directory, symbolic "
@@ -6385,180 +6575,181 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1302
+#: ../src/guestfs-actions.pod:1372
 msgid "guestfs_file_architecture"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1304
+#: ../src/guestfs-actions.pod:1374
 #, no-wrap
 msgid ""
-" char *guestfs_file_architecture (guestfs_h *g,\n"
-"\t\tconst char *filename);\n"
+" char *\n"
+" guestfs_file_architecture (guestfs_h *g,\n"
+"                            const char *filename);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1307 ../fish/guestfish-actions.pod:1012
+#: ../src/guestfs-actions.pod:1378 ../fish/guestfish-actions.pod:1012
 msgid ""
 "This detects the architecture of the binary C<filename>, and returns it if "
 "known."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1310 ../fish/guestfish-actions.pod:1015
+#: ../src/guestfs-actions.pod:1381 ../fish/guestfish-actions.pod:1015
 msgid "Currently defined architectures are:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:1314 ../fish/guestfish-actions.pod:1019
+#: ../src/guestfs-actions.pod:1385 ../fish/guestfish-actions.pod:1019
 msgid "\"i386\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1316 ../fish/guestfish-actions.pod:1021
+#: ../src/guestfs-actions.pod:1387 ../fish/guestfish-actions.pod:1021
 msgid ""
 "This string is returned for all 32 bit i386, i486, i586, i686 binaries "
 "irrespective of the precise processor requirements of the binary."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:1319 ../fish/guestfish-actions.pod:1024
+#: ../src/guestfs-actions.pod:1390 ../fish/guestfish-actions.pod:1024
 msgid "\"x86_64\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1321 ../fish/guestfish-actions.pod:1026
+#: ../src/guestfs-actions.pod:1392 ../fish/guestfish-actions.pod:1026
 msgid "64 bit x86-64."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:1323 ../fish/guestfish-actions.pod:1028
+#: ../src/guestfs-actions.pod:1394 ../fish/guestfish-actions.pod:1028
 msgid "\"sparc\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1325 ../fish/guestfish-actions.pod:1030
+#: ../src/guestfs-actions.pod:1396 ../fish/guestfish-actions.pod:1030
 msgid "32 bit SPARC."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:1327 ../fish/guestfish-actions.pod:1032
+#: ../src/guestfs-actions.pod:1398 ../fish/guestfish-actions.pod:1032
 msgid "\"sparc64\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1329 ../fish/guestfish-actions.pod:1034
+#: ../src/guestfs-actions.pod:1400 ../fish/guestfish-actions.pod:1034
 msgid "64 bit SPARC V9 and above."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:1331 ../fish/guestfish-actions.pod:1036
+#: ../src/guestfs-actions.pod:1402 ../fish/guestfish-actions.pod:1036
 msgid "\"ia64\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1333 ../fish/guestfish-actions.pod:1038
+#: ../src/guestfs-actions.pod:1404 ../fish/guestfish-actions.pod:1038
 msgid "Intel Itanium."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:1335 ../fish/guestfish-actions.pod:1040
+#: ../src/guestfs-actions.pod:1406 ../fish/guestfish-actions.pod:1040
 msgid "\"ppc\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1337 ../fish/guestfish-actions.pod:1042
+#: ../src/guestfs-actions.pod:1408 ../fish/guestfish-actions.pod:1042
 msgid "32 bit Power PC."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:1339 ../fish/guestfish-actions.pod:1044
+#: ../src/guestfs-actions.pod:1410 ../fish/guestfish-actions.pod:1044
 msgid "\"ppc64\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1341 ../fish/guestfish-actions.pod:1046
+#: ../src/guestfs-actions.pod:1412 ../fish/guestfish-actions.pod:1046
 msgid "64 bit Power PC."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1345 ../fish/guestfish-actions.pod:1050
+#: ../src/guestfs-actions.pod:1416 ../fish/guestfish-actions.pod:1050
 msgid "Libguestfs may return other architecture strings in future."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1347 ../fish/guestfish-actions.pod:1052
+#: ../src/guestfs-actions.pod:1418 ../fish/guestfish-actions.pod:1052
 msgid "The function works on at least the following types of files:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1353 ../fish/guestfish-actions.pod:1058
+#: ../src/guestfs-actions.pod:1424 ../fish/guestfish-actions.pod:1058
 msgid "many types of Un*x and Linux binary"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1357 ../fish/guestfish-actions.pod:1062
+#: ../src/guestfs-actions.pod:1428 ../fish/guestfish-actions.pod:1062
 msgid "many types of Un*x and Linux shared library"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1361 ../fish/guestfish-actions.pod:1066
+#: ../src/guestfs-actions.pod:1432 ../fish/guestfish-actions.pod:1066
 msgid "Windows Win32 and Win64 binaries"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1365 ../fish/guestfish-actions.pod:1070
+#: ../src/guestfs-actions.pod:1436 ../fish/guestfish-actions.pod:1070
 msgid "Windows Win32 and Win64 DLLs"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1367 ../fish/guestfish-actions.pod:1072
+#: ../src/guestfs-actions.pod:1438 ../fish/guestfish-actions.pod:1072
 msgid "Win32 binaries and DLLs return C<i386>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1369 ../fish/guestfish-actions.pod:1074
+#: ../src/guestfs-actions.pod:1440 ../fish/guestfish-actions.pod:1074
 msgid "Win64 binaries and DLLs return C<x86_64>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1373 ../fish/guestfish-actions.pod:1078
+#: ../src/guestfs-actions.pod:1444 ../fish/guestfish-actions.pod:1078
 msgid "Linux kernel modules"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1377 ../fish/guestfish-actions.pod:1082
+#: ../src/guestfs-actions.pod:1448 ../fish/guestfish-actions.pod:1082
 msgid "Linux new-style initrd images"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1381 ../fish/guestfish-actions.pod:1086
+#: ../src/guestfs-actions.pod:1452 ../fish/guestfish-actions.pod:1086
 msgid "some non-x86 Linux vmlinuz kernels"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1385 ../fish/guestfish-actions.pod:1090
+#: ../src/guestfs-actions.pod:1456 ../fish/guestfish-actions.pod:1090
 msgid "What it can't do currently:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1391 ../fish/guestfish-actions.pod:1096
+#: ../src/guestfs-actions.pod:1462 ../fish/guestfish-actions.pod:1096
 msgid "static libraries (libfoo.a)"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1395 ../fish/guestfish-actions.pod:1100
+#: ../src/guestfs-actions.pod:1466 ../fish/guestfish-actions.pod:1100
 msgid "Linux old-style initrd as compressed ext2 filesystem (RHEL 3)"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1399 ../fish/guestfish-actions.pod:1104
+#: ../src/guestfs-actions.pod:1470 ../fish/guestfish-actions.pod:1104
 msgid "x86 Linux vmlinuz kernels"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1401 ../fish/guestfish-actions.pod:1106
+#: ../src/guestfs-actions.pod:1472 ../fish/guestfish-actions.pod:1106
 msgid ""
 "x86 vmlinuz images (bzImage format) consist of a mix of 16-, 32- and "
 "compressed code, and are horribly hard to unpack.  If you want to find the "
@@ -6567,26 +6758,27 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1411
+#: ../src/guestfs-actions.pod:1482
 msgid "guestfs_filesize"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1413
+#: ../src/guestfs-actions.pod:1484
 #, no-wrap
 msgid ""
-" int64_t guestfs_filesize (guestfs_h *g,\n"
-"\t\tconst char *file);\n"
+" int64_t\n"
+" guestfs_filesize (guestfs_h *g,\n"
+"                   const char *file);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1416 ../fish/guestfish-actions.pod:1117
+#: ../src/guestfs-actions.pod:1488 ../fish/guestfish-actions.pod:1117
 msgid "This command returns the size of C<file> in bytes."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1418
+#: ../src/guestfs-actions.pod:1490
 msgid ""
 "To get other stats about a file, use C<guestfs_stat>, C<guestfs_lstat>, "
 "C<guestfs_is_dir>, C<guestfs_is_file> etc.  To get the size of block "
@@ -6594,23 +6786,24 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1424
+#: ../src/guestfs-actions.pod:1496
 msgid "guestfs_fill"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1426
+#: ../src/guestfs-actions.pod:1498
 #, no-wrap
 msgid ""
-" int guestfs_fill (guestfs_h *g,\n"
-"\t\tint c,\n"
-"\t\tint len,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_fill (guestfs_h *g,\n"
+"               int c,\n"
+"               int len,\n"
+"               const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1431 ../fish/guestfish-actions.pod:1127
+#: ../src/guestfs-actions.pod:1504 ../fish/guestfish-actions.pod:1127
 msgid ""
 "This command creates a new file called C<path>.  The initial content of the "
 "file is C<len> octets of C<c>, where C<c> must be a number in the range C<"
@@ -6618,7 +6811,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1435
+#: ../src/guestfs-actions.pod:1508
 msgid ""
 "To fill a file with zero bytes (sparsely), it is much more efficient to use "
 "C<guestfs_truncate_size>.  To create a file with a pattern of repeating "
@@ -6626,23 +6819,24 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1447
+#: ../src/guestfs-actions.pod:1520
 msgid "guestfs_fill_pattern"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1449
+#: ../src/guestfs-actions.pod:1522
 #, no-wrap
 msgid ""
-" int guestfs_fill_pattern (guestfs_h *g,\n"
-"\t\tconst char *pattern,\n"
-"\t\tint len,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_fill_pattern (guestfs_h *g,\n"
+"                       const char *pattern,\n"
+"                       int len,\n"
+"                       const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1454
+#: ../src/guestfs-actions.pod:1528
 msgid ""
 "This function is like C<guestfs_fill> except that it creates a new file of "
 "length C<len> containing the repeating pattern of bytes in C<pattern>.  The "
@@ -6651,21 +6845,22 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1466
+#: ../src/guestfs-actions.pod:1540
 msgid "guestfs_find"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1468
+#: ../src/guestfs-actions.pod:1542
 #, no-wrap
 msgid ""
-" char **guestfs_find (guestfs_h *g,\n"
-"\t\tconst char *directory);\n"
+" char **\n"
+" guestfs_find (guestfs_h *g,\n"
+"               const char *directory);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1471 ../fish/guestfish-actions.pod:1149
+#: ../src/guestfs-actions.pod:1546 ../fish/guestfish-actions.pod:1149
 msgid ""
 "This command lists out all files and directories, recursively, starting at "
 "C<directory>.  It is essentially equivalent to running the shell command "
@@ -6674,14 +6869,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1476 ../fish/guestfish-actions.pod:1154
+#: ../src/guestfs-actions.pod:1551 ../fish/guestfish-actions.pod:1154
 msgid ""
 "This returns a list of strings I<without any prefix>.  Thus if the directory "
 "structure was:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1479 ../fish/guestfish-actions.pod:1157
+#: ../src/guestfs-actions.pod:1554 ../fish/guestfish-actions.pod:1157
 #, no-wrap
 msgid ""
 " /tmp/a\n"
@@ -6691,13 +6886,13 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1483
+#: ../src/guestfs-actions.pod:1558
 msgid ""
 "then the returned list from C<guestfs_find> C</tmp> would be 4 elements:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1486 ../fish/guestfish-actions.pod:1164
+#: ../src/guestfs-actions.pod:1561 ../fish/guestfish-actions.pod:1164
 #, no-wrap
 msgid ""
 " a\n"
@@ -6708,37 +6903,38 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1491 ../fish/guestfish-actions.pod:1169
+#: ../src/guestfs-actions.pod:1566 ../fish/guestfish-actions.pod:1169
 msgid "If C<directory> is not a directory, then this command returns an error."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1494 ../fish/guestfish-actions.pod:1172
+#: ../src/guestfs-actions.pod:1569 ../fish/guestfish-actions.pod:1172
 msgid "The returned list is sorted."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1496
+#: ../src/guestfs-actions.pod:1571
 msgid "See also C<guestfs_find0>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1505
+#: ../src/guestfs-actions.pod:1580
 msgid "guestfs_find0"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1507
+#: ../src/guestfs-actions.pod:1582
 #, no-wrap
 msgid ""
-" int guestfs_find0 (guestfs_h *g,\n"
-"\t\tconst char *directory,\n"
-"\t\tconst char *files);\n"
+" int\n"
+" guestfs_find0 (guestfs_h *g,\n"
+"                const char *directory,\n"
+"                const char *files);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1511 ../fish/guestfish-actions.pod:1183
+#: ../src/guestfs-actions.pod:1587 ../fish/guestfish-actions.pod:1183
 msgid ""
 "This command lists out all files and directories, recursively, starting at "
 "C<directory>, placing the resulting list in the external file called "
@@ -6746,165 +6942,169 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1515
+#: ../src/guestfs-actions.pod:1591
 msgid ""
 "This command works the same way as C<guestfs_find> with the following "
 "exceptions:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1522 ../fish/guestfish-actions.pod:1194
+#: ../src/guestfs-actions.pod:1598 ../fish/guestfish-actions.pod:1194
 msgid "The resulting list is written to an external file."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1526 ../fish/guestfish-actions.pod:1198
+#: ../src/guestfs-actions.pod:1602 ../fish/guestfish-actions.pod:1198
 msgid ""
 "Items (filenames) in the result are separated by C<\\0> characters.  See "
 "L<find(1)> option I<-print0>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1531 ../fish/guestfish-actions.pod:1203
+#: ../src/guestfs-actions.pod:1607 ../fish/guestfish-actions.pod:1203
 msgid "This command is not limited in the number of names that it can return."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1536 ../fish/guestfish-actions.pod:1208
+#: ../src/guestfs-actions.pod:1612 ../fish/guestfish-actions.pod:1208
 msgid "The result list is not sorted."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1542
+#: ../src/guestfs-actions.pod:1618
 msgid "guestfs_findfs_label"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1544
+#: ../src/guestfs-actions.pod:1620
 #, no-wrap
 msgid ""
-" char *guestfs_findfs_label (guestfs_h *g,\n"
-"\t\tconst char *label);\n"
+" char *\n"
+" guestfs_findfs_label (guestfs_h *g,\n"
+"                       const char *label);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1547 ../fish/guestfish-actions.pod:1218
+#: ../src/guestfs-actions.pod:1624 ../fish/guestfish-actions.pod:1218
 msgid ""
 "This command searches the filesystems and returns the one which has the "
 "given label.  An error is returned if no such filesystem can be found."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1551
+#: ../src/guestfs-actions.pod:1628
 msgid "To find the label of a filesystem, use C<guestfs_vfs_label>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1556
+#: ../src/guestfs-actions.pod:1633
 msgid "guestfs_findfs_uuid"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1558
+#: ../src/guestfs-actions.pod:1635
 #, no-wrap
 msgid ""
-" char *guestfs_findfs_uuid (guestfs_h *g,\n"
-"\t\tconst char *uuid);\n"
+" char *\n"
+" guestfs_findfs_uuid (guestfs_h *g,\n"
+"                      const char *uuid);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1561 ../fish/guestfish-actions.pod:1228
+#: ../src/guestfs-actions.pod:1639 ../fish/guestfish-actions.pod:1228
 msgid ""
 "This command searches the filesystems and returns the one which has the "
 "given UUID.  An error is returned if no such filesystem can be found."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1565
+#: ../src/guestfs-actions.pod:1643
 msgid "To find the UUID of a filesystem, use C<guestfs_vfs_uuid>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1570
+#: ../src/guestfs-actions.pod:1648
 msgid "guestfs_fsck"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1572
+#: ../src/guestfs-actions.pod:1650
 #, no-wrap
 msgid ""
-" int guestfs_fsck (guestfs_h *g,\n"
-"\t\tconst char *fstype,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_fsck (guestfs_h *g,\n"
+"               const char *fstype,\n"
+"               const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1576 ../fish/guestfish-actions.pod:1238
+#: ../src/guestfs-actions.pod:1655 ../fish/guestfish-actions.pod:1238
 msgid ""
 "This runs the filesystem checker (fsck) on C<device> which should have "
 "filesystem type C<fstype>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1579 ../fish/guestfish-actions.pod:1241
+#: ../src/guestfs-actions.pod:1658 ../fish/guestfish-actions.pod:1241
 msgid ""
 "The returned integer is the status.  See L<fsck(8)> for the list of status "
 "codes from C<fsck>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1588 ../fish/guestfish-actions.pod:1250
+#: ../src/guestfs-actions.pod:1667 ../fish/guestfish-actions.pod:1250
 msgid "Multiple status codes can be summed together."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1592 ../fish/guestfish-actions.pod:1254
+#: ../src/guestfs-actions.pod:1671 ../fish/guestfish-actions.pod:1254
 msgid ""
 "A non-zero return code can mean \"success\", for example if errors have been "
 "corrected on the filesystem."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1597 ../fish/guestfish-actions.pod:1259
+#: ../src/guestfs-actions.pod:1676 ../fish/guestfish-actions.pod:1259
 msgid "Checking or repairing NTFS volumes is not supported (by linux-ntfs)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1602 ../fish/guestfish-actions.pod:1264
+#: ../src/guestfs-actions.pod:1681 ../fish/guestfish-actions.pod:1264
 msgid ""
 "This command is entirely equivalent to running C<fsck -a -t fstype device>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1606
+#: ../src/guestfs-actions.pod:1685
 msgid "guestfs_get_append"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1608
+#: ../src/guestfs-actions.pod:1687
 #, no-wrap
 msgid ""
-" const char *guestfs_get_append (guestfs_h *g);\n"
+" const char *\n"
+" guestfs_get_append (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1610 ../fish/guestfish-actions.pod:1270
+#: ../src/guestfs-actions.pod:1690 ../fish/guestfish-actions.pod:1270
 msgid ""
 "Return the additional kernel options which are added to the guest kernel "
 "command line."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1613 ../fish/guestfish-actions.pod:1273
+#: ../src/guestfs-actions.pod:1693 ../fish/guestfish-actions.pod:1273
 msgid "If C<NULL> then no options are added."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1615
+#: ../src/guestfs-actions.pod:1695
 msgid ""
 "This function returns a string which may be NULL.  There is no way to return "
 "an error from this function.  The string is owned by the guest handle and "
@@ -6912,114 +7112,119 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1619
+#: ../src/guestfs-actions.pod:1699
 msgid "guestfs_get_autosync"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1621
+#: ../src/guestfs-actions.pod:1701
 #, no-wrap
 msgid ""
-" int guestfs_get_autosync (guestfs_h *g);\n"
+" int\n"
+" guestfs_get_autosync (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1623 ../fish/guestfish-actions.pod:1279
+#: ../src/guestfs-actions.pod:1704 ../fish/guestfish-actions.pod:1279
 msgid "Get the autosync flag."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1627
+#: ../src/guestfs-actions.pod:1708
 msgid "guestfs_get_direct"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1629
+#: ../src/guestfs-actions.pod:1710
 #, no-wrap
 msgid ""
-" int guestfs_get_direct (guestfs_h *g);\n"
+" int\n"
+" guestfs_get_direct (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1631 ../fish/guestfish-actions.pod:1285
+#: ../src/guestfs-actions.pod:1713 ../fish/guestfish-actions.pod:1285
 msgid "Return the direct appliance mode flag."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1635
+#: ../src/guestfs-actions.pod:1717
 msgid "guestfs_get_e2label"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1637
+#: ../src/guestfs-actions.pod:1719
 #, no-wrap
 msgid ""
-" char *guestfs_get_e2label (guestfs_h *g,\n"
-"\t\tconst char *device);\n"
+" char *\n"
+" guestfs_get_e2label (guestfs_h *g,\n"
+"                      const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1640 ../fish/guestfish-actions.pod:1291
+#: ../src/guestfs-actions.pod:1723 ../fish/guestfish-actions.pod:1291
 msgid ""
 "This returns the ext2/3/4 filesystem label of the filesystem on C<device>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1646 ../fish/guestfish-actions.pod:1294
+#: ../src/guestfs-actions.pod:1729 ../fish/guestfish-actions.pod:1294
 msgid ""
 "This function is deprecated.  In new code, use the C<vfs_label> call instead."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1653
+#: ../src/guestfs-actions.pod:1736
 msgid "guestfs_get_e2uuid"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1655
+#: ../src/guestfs-actions.pod:1738
 #, no-wrap
 msgid ""
-" char *guestfs_get_e2uuid (guestfs_h *g,\n"
-"\t\tconst char *device);\n"
+" char *\n"
+" guestfs_get_e2uuid (guestfs_h *g,\n"
+"                     const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1658 ../fish/guestfish-actions.pod:1305
+#: ../src/guestfs-actions.pod:1742 ../fish/guestfish-actions.pod:1305
 msgid ""
 "This returns the ext2/3/4 filesystem UUID of the filesystem on C<device>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1664 ../fish/guestfish-actions.pod:1308
+#: ../src/guestfs-actions.pod:1748 ../fish/guestfish-actions.pod:1308
 msgid ""
 "This function is deprecated.  In new code, use the C<vfs_uuid> call instead."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1671
+#: ../src/guestfs-actions.pod:1755
 msgid "guestfs_get_memsize"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1673
+#: ../src/guestfs-actions.pod:1757
 #, no-wrap
 msgid ""
-" int guestfs_get_memsize (guestfs_h *g);\n"
+" int\n"
+" guestfs_get_memsize (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1675 ../fish/guestfish-actions.pod:1319
+#: ../src/guestfs-actions.pod:1760 ../fish/guestfish-actions.pod:1319
 msgid ""
 "This gets the memory size in megabytes allocated to the qemu subprocess."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1678
+#: ../src/guestfs-actions.pod:1763
 msgid ""
 "If C<guestfs_set_memsize> was not called on this handle, and if "
 "C<LIBGUESTFS_MEMSIZE> was not set, then this returns the compiled-in default "
@@ -7027,8 +7232,8 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1682 ../src/guestfs-actions.pod:1745
-#: ../src/guestfs-actions.pod:4509 ../src/guestfs-actions.pod:4601
+#: ../src/guestfs-actions.pod:1767 ../src/guestfs-actions.pod:1836
+#: ../src/guestfs-actions.pod:4759 ../src/guestfs-actions.pod:4856
 #: ../fish/guestfish-actions.pod:1326 ../fish/guestfish-actions.pod:1377
 #: ../fish/guestfish-actions.pod:3484 ../fish/guestfish-actions.pod:3571
 msgid ""
@@ -7036,287 +7241,299 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1687
+#: ../src/guestfs-actions.pod:1772
 msgid "guestfs_get_network"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1689
+#: ../src/guestfs-actions.pod:1774
 #, no-wrap
 msgid ""
-" int guestfs_get_network (guestfs_h *g);\n"
+" int\n"
+" guestfs_get_network (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1691 ../fish/guestfish-actions.pod:1333
+#: ../src/guestfs-actions.pod:1777 ../fish/guestfish-actions.pod:1333
 msgid "This returns the enable network flag."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1695
+#: ../src/guestfs-actions.pod:1781
 msgid "guestfs_get_path"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1697
+#: ../src/guestfs-actions.pod:1783
 #, no-wrap
 msgid ""
-" const char *guestfs_get_path (guestfs_h *g);\n"
+" const char *\n"
+" guestfs_get_path (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1699 ../fish/guestfish-actions.pod:1339
+#: ../src/guestfs-actions.pod:1786 ../fish/guestfish-actions.pod:1339
 msgid "Return the current search path."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1701 ../fish/guestfish-actions.pod:1341
+#: ../src/guestfs-actions.pod:1788 ../fish/guestfish-actions.pod:1341
 msgid ""
 "This is always non-NULL.  If it wasn't set already, then this will return "
 "the default path."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1704 ../src/guestfs-actions.pod:1727
+#: ../src/guestfs-actions.pod:1791 ../src/guestfs-actions.pod:1816
 msgid ""
 "This function returns a string, or NULL on error.  The string is owned by "
 "the guest handle and must I<not> be freed."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1707
+#: ../src/guestfs-actions.pod:1794
 msgid "guestfs_get_pid"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1709
+#: ../src/guestfs-actions.pod:1796
 #, no-wrap
 msgid ""
-" int guestfs_get_pid (guestfs_h *g);\n"
+" int\n"
+" guestfs_get_pid (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1711 ../fish/guestfish-actions.pod:1350
+#: ../src/guestfs-actions.pod:1799 ../fish/guestfish-actions.pod:1350
 msgid ""
 "Return the process ID of the qemu subprocess.  If there is no qemu "
 "subprocess, then this will return an error."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1714 ../fish/guestfish-actions.pod:1353
+#: ../src/guestfs-actions.pod:1802 ../fish/guestfish-actions.pod:1353
 msgid "This is an internal call used for debugging and testing."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1718
+#: ../src/guestfs-actions.pod:1806
 msgid "guestfs_get_qemu"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1720
+#: ../src/guestfs-actions.pod:1808
 #, no-wrap
 msgid ""
-" const char *guestfs_get_qemu (guestfs_h *g);\n"
+" const char *\n"
+" guestfs_get_qemu (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1722 ../fish/guestfish-actions.pod:1359
+#: ../src/guestfs-actions.pod:1811 ../fish/guestfish-actions.pod:1359
 msgid "Return the current qemu binary."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1724 ../fish/guestfish-actions.pod:1361
+#: ../src/guestfs-actions.pod:1813 ../fish/guestfish-actions.pod:1361
 msgid ""
 "This is always non-NULL.  If it wasn't set already, then this will return "
 "the default qemu binary name."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1730
+#: ../src/guestfs-actions.pod:1819
 msgid "guestfs_get_recovery_proc"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1732
+#: ../src/guestfs-actions.pod:1821
 #, no-wrap
 msgid ""
-" int guestfs_get_recovery_proc (guestfs_h *g);\n"
+" int\n"
+" guestfs_get_recovery_proc (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1734 ../fish/guestfish-actions.pod:1368
+#: ../src/guestfs-actions.pod:1824 ../fish/guestfish-actions.pod:1368
 msgid "Return the recovery process enabled flag."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1738
+#: ../src/guestfs-actions.pod:1828
 msgid "guestfs_get_selinux"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1740
+#: ../src/guestfs-actions.pod:1830
 #, no-wrap
 msgid ""
-" int guestfs_get_selinux (guestfs_h *g);\n"
+" int\n"
+" guestfs_get_selinux (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1742
+#: ../src/guestfs-actions.pod:1833
 msgid ""
 "This returns the current setting of the selinux flag which is passed to the "
 "appliance at boot time.  See C<guestfs_set_selinux>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1750
+#: ../src/guestfs-actions.pod:1841
 msgid "guestfs_get_state"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1752
+#: ../src/guestfs-actions.pod:1843
 #, no-wrap
 msgid ""
-" int guestfs_get_state (guestfs_h *g);\n"
+" int\n"
+" guestfs_get_state (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1754 ../fish/guestfish-actions.pod:1384
+#: ../src/guestfs-actions.pod:1846 ../fish/guestfish-actions.pod:1384
 msgid ""
 "This returns the current state as an opaque integer.  This is only useful "
 "for printing debug and internal error messages."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1757 ../src/guestfs-actions.pod:2418
-#: ../src/guestfs-actions.pod:2441 ../src/guestfs-actions.pod:2490
-#: ../src/guestfs-actions.pod:2511 ../fish/guestfish-actions.pod:1387
+#: ../src/guestfs-actions.pod:1849 ../src/guestfs-actions.pod:2542
+#: ../src/guestfs-actions.pod:2567 ../src/guestfs-actions.pod:2620
+#: ../src/guestfs-actions.pod:2643 ../fish/guestfish-actions.pod:1387
 #: ../fish/guestfish-actions.pod:1917 ../fish/guestfish-actions.pod:1935
 #: ../fish/guestfish-actions.pod:1973 ../fish/guestfish-actions.pod:1989
 msgid "For more information on states, see L<guestfs(3)>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1761
+#: ../src/guestfs-actions.pod:1853
 msgid "guestfs_get_trace"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1763
+#: ../src/guestfs-actions.pod:1855
 #, no-wrap
 msgid ""
-" int guestfs_get_trace (guestfs_h *g);\n"
+" int\n"
+" guestfs_get_trace (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1765 ../fish/guestfish-actions.pod:1393
+#: ../src/guestfs-actions.pod:1858 ../fish/guestfish-actions.pod:1393
 msgid "Return the command trace flag."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1769
+#: ../src/guestfs-actions.pod:1862
 msgid "guestfs_get_umask"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1771
+#: ../src/guestfs-actions.pod:1864
 #, no-wrap
 msgid ""
-" int guestfs_get_umask (guestfs_h *g);\n"
+" int\n"
+" guestfs_get_umask (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1773
+#: ../src/guestfs-actions.pod:1867
 msgid ""
 "Return the current umask.  By default the umask is C<022> unless it has been "
 "set by calling C<guestfs_umask>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1778
+#: ../src/guestfs-actions.pod:1872
 msgid "guestfs_get_verbose"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1780
+#: ../src/guestfs-actions.pod:1874
 #, no-wrap
 msgid ""
-" int guestfs_get_verbose (guestfs_h *g);\n"
+" int\n"
+" guestfs_get_verbose (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1782 ../fish/guestfish-actions.pod:1406
+#: ../src/guestfs-actions.pod:1877 ../fish/guestfish-actions.pod:1406
 msgid "This returns the verbose messages flag."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1786
+#: ../src/guestfs-actions.pod:1881
 msgid "guestfs_getcon"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1788
+#: ../src/guestfs-actions.pod:1883
 #, no-wrap
 msgid ""
-" char *guestfs_getcon (guestfs_h *g);\n"
+" char *\n"
+" guestfs_getcon (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1790 ../fish/guestfish-actions.pod:1412
+#: ../src/guestfs-actions.pod:1886 ../fish/guestfish-actions.pod:1412
 msgid "This gets the SELinux security context of the daemon."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1792
+#: ../src/guestfs-actions.pod:1888
 msgid ""
 "See the documentation about SELINUX in L<guestfs(3)>, and C<guestfs_setcon>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1798
+#: ../src/guestfs-actions.pod:1894
 msgid "guestfs_getxattrs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1800
+#: ../src/guestfs-actions.pod:1896
 #, no-wrap
 msgid ""
-" struct guestfs_xattr_list *guestfs_getxattrs (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" struct guestfs_xattr_list *\n"
+" guestfs_getxattrs (guestfs_h *g,\n"
+"                    const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1803 ../fish/guestfish-actions.pod:1421
+#: ../src/guestfs-actions.pod:1900 ../fish/guestfish-actions.pod:1421
 msgid ""
 "This call lists the extended attributes of the file or directory C<path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1806 ../fish/guestfish-actions.pod:1424
+#: ../src/guestfs-actions.pod:1903 ../fish/guestfish-actions.pod:1424
 msgid ""
 "At the system call level, this is a combination of the L<listxattr(2)> and "
 "L<getxattr(2)> calls."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1809
+#: ../src/guestfs-actions.pod:1906
 msgid "See also: C<guestfs_lgetxattrs>, L<attr(5)>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1811 ../src/guestfs-actions.pod:2585
-#: ../src/guestfs-actions.pod:3140
+#: ../src/guestfs-actions.pod:1908 ../src/guestfs-actions.pod:2723
+#: ../src/guestfs-actions.pod:3311
 msgid ""
 "This function returns a C<struct guestfs_xattr_list *> (see E<lt>guestfs-"
 "structs.hE<gt>), or NULL if there was an error.  I<The caller must call "
@@ -7324,104 +7541,108 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1816
+#: ../src/guestfs-actions.pod:1913
 msgid "guestfs_glob_expand"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1818
+#: ../src/guestfs-actions.pod:1915
 #, no-wrap
 msgid ""
-" char **guestfs_glob_expand (guestfs_h *g,\n"
-"\t\tconst char *pattern);\n"
+" char **\n"
+" guestfs_glob_expand (guestfs_h *g,\n"
+"                      const char *pattern);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1821 ../fish/guestfish-actions.pod:1433
+#: ../src/guestfs-actions.pod:1919 ../fish/guestfish-actions.pod:1433
 msgid ""
 "This command searches for all the pathnames matching C<pattern> according to "
 "the wildcard expansion rules used by the shell."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1825 ../fish/guestfish-actions.pod:1437
+#: ../src/guestfs-actions.pod:1923 ../fish/guestfish-actions.pod:1437
 msgid ""
 "If no paths match, then this returns an empty list (note: not an error)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1828 ../fish/guestfish-actions.pod:1440
+#: ../src/guestfs-actions.pod:1926 ../fish/guestfish-actions.pod:1440
 msgid ""
 "It is just a wrapper around the C L<glob(3)> function with flags C<GLOB_MARK|"
 "GLOB_BRACE>.  See that manual page for more details."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1836
+#: ../src/guestfs-actions.pod:1934
 msgid "guestfs_grep"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1838
+#: ../src/guestfs-actions.pod:1936
 #, no-wrap
 msgid ""
-" char **guestfs_grep (guestfs_h *g,\n"
-"\t\tconst char *regex,\n"
-"\t\tconst char *path);\n"
+" char **\n"
+" guestfs_grep (guestfs_h *g,\n"
+"               const char *regex,\n"
+"               const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1842 ../fish/guestfish-actions.pod:1448
+#: ../src/guestfs-actions.pod:1941 ../fish/guestfish-actions.pod:1448
 msgid "This calls the external C<grep> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1852
+#: ../src/guestfs-actions.pod:1951
 msgid "guestfs_grepi"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1854
+#: ../src/guestfs-actions.pod:1953
 #, no-wrap
 msgid ""
-" char **guestfs_grepi (guestfs_h *g,\n"
-"\t\tconst char *regex,\n"
-"\t\tconst char *path);\n"
+" char **\n"
+" guestfs_grepi (guestfs_h *g,\n"
+"                const char *regex,\n"
+"                const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1858 ../fish/guestfish-actions.pod:1458
+#: ../src/guestfs-actions.pod:1958 ../fish/guestfish-actions.pod:1458
 msgid ""
 "This calls the external C<grep -i> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1868
+#: ../src/guestfs-actions.pod:1968
 msgid "guestfs_grub_install"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1870
+#: ../src/guestfs-actions.pod:1970
 #, no-wrap
 msgid ""
-" int guestfs_grub_install (guestfs_h *g,\n"
-"\t\tconst char *root,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_grub_install (guestfs_h *g,\n"
+"                       const char *root,\n"
+"                       const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1874 ../fish/guestfish-actions.pod:1468
+#: ../src/guestfs-actions.pod:1975 ../fish/guestfish-actions.pod:1468
 msgid ""
 "This command installs GRUB (the Grand Unified Bootloader) on C<device>, with "
 "the root directory being C<root>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1877 ../fish/guestfish-actions.pod:1471
+#: ../src/guestfs-actions.pod:1978 ../fish/guestfish-actions.pod:1471
 msgid ""
 "Note: If grub-install reports the error \"No suitable drive was found in the "
 "generated device map.\" it may be that you need to create a C</boot/grub/"
@@ -7431,7 +7652,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1884 ../fish/guestfish-actions.pod:1478
+#: ../src/guestfs-actions.pod:1985 ../fish/guestfish-actions.pod:1478
 #, no-wrap
 msgid ""
 " (hd0) /dev/vda\n"
@@ -7439,104 +7660,108 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1886 ../fish/guestfish-actions.pod:1480
+#: ../src/guestfs-actions.pod:1987 ../fish/guestfish-actions.pod:1480
 msgid "replacing C</dev/vda> with the name of the installation device."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1890
+#: ../src/guestfs-actions.pod:1991
 msgid "guestfs_head"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1892
+#: ../src/guestfs-actions.pod:1993
 #, no-wrap
 msgid ""
-" char **guestfs_head (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" char **\n"
+" guestfs_head (guestfs_h *g,\n"
+"               const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1895 ../fish/guestfish-actions.pod:1486
+#: ../src/guestfs-actions.pod:1997 ../fish/guestfish-actions.pod:1486
 msgid ""
 "This command returns up to the first 10 lines of a file as a list of strings."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1905
+#: ../src/guestfs-actions.pod:2007
 msgid "guestfs_head_n"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1907
+#: ../src/guestfs-actions.pod:2009
 #, no-wrap
 msgid ""
-" char **guestfs_head_n (guestfs_h *g,\n"
-"\t\tint nrlines,\n"
-"\t\tconst char *path);\n"
+" char **\n"
+" guestfs_head_n (guestfs_h *g,\n"
+"                 int nrlines,\n"
+"                 const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1911 ../fish/guestfish-actions.pod:1496
+#: ../src/guestfs-actions.pod:2014 ../fish/guestfish-actions.pod:1496
 msgid ""
 "If the parameter C<nrlines> is a positive number, this returns the first "
 "C<nrlines> lines of the file C<path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1914 ../fish/guestfish-actions.pod:1499
+#: ../src/guestfs-actions.pod:2017 ../fish/guestfish-actions.pod:1499
 msgid ""
 "If the parameter C<nrlines> is a negative number, this returns lines from "
 "the file C<path>, excluding the last C<nrlines> lines."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1917 ../src/guestfs-actions.pod:5057
+#: ../src/guestfs-actions.pod:2020 ../src/guestfs-actions.pod:5340
 #: ../fish/guestfish-actions.pod:1502 ../fish/guestfish-actions.pod:3917
 msgid "If the parameter C<nrlines> is zero, this returns an empty list."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1926
+#: ../src/guestfs-actions.pod:2029
 msgid "guestfs_hexdump"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1928
+#: ../src/guestfs-actions.pod:2031
 #, no-wrap
 msgid ""
-" char *guestfs_hexdump (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" char *\n"
+" guestfs_hexdump (guestfs_h *g,\n"
+"                  const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1931 ../fish/guestfish-actions.pod:1511
+#: ../src/guestfs-actions.pod:2035 ../fish/guestfish-actions.pod:1511
 msgid ""
 "This runs C<hexdump -C> on the given C<path>.  The result is the human-"
 "readable, canonical hex dump of the file."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1940
+#: ../src/guestfs-actions.pod:2044
 msgid "guestfs_initrd_cat"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1942
+#: ../src/guestfs-actions.pod:2046
 #, no-wrap
 msgid ""
-" char *guestfs_initrd_cat (guestfs_h *g,\n"
-"\t\tconst char *initrdpath,\n"
-"\t\tconst char *filename,\n"
-"\t\tsize_t *size_r);\n"
+" char *\n"
+" guestfs_initrd_cat (guestfs_h *g,\n"
+"                     const char *initrdpath,\n"
+"                     const char *filename,\n"
+"                     size_t *size_r);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1947 ../fish/guestfish-actions.pod:1521
+#: ../src/guestfs-actions.pod:2052 ../fish/guestfish-actions.pod:1521
 msgid ""
 "This command unpacks the file C<filename> from the initrd file called "
 "C<initrdpath>.  The filename must be given I<without> the initial C</> "
@@ -7544,7 +7769,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1951 ../fish/guestfish-actions.pod:1525
+#: ../src/guestfs-actions.pod:2056 ../fish/guestfish-actions.pod:1525
 msgid ""
 "For example, in guestfish you could use the following command to examine the "
 "boot script (usually called C</init>)  contained in a Linux initrd or "
@@ -7552,7 +7777,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1955 ../fish/guestfish-actions.pod:1529
+#: ../src/guestfs-actions.pod:2060 ../fish/guestfish-actions.pod:1529
 #, no-wrap
 msgid ""
 " initrd-cat /boot/initrd-<version>.img init\n"
@@ -7560,13 +7785,13 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1957
+#: ../src/guestfs-actions.pod:2062
 msgid "See also C<guestfs_initrd_list>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1959 ../src/guestfs-actions.pod:3969
-#: ../src/guestfs-actions.pod:3992 ../src/guestfs-actions.pod:4144
+#: ../src/guestfs-actions.pod:2064 ../src/guestfs-actions.pod:4187
+#: ../src/guestfs-actions.pod:4211 ../src/guestfs-actions.pod:4373
 msgid ""
 "This function returns a buffer, or NULL on error.  The size of the returned "
 "buffer is written to C<*size_r>.  I<The caller must free the returned buffer "
@@ -7574,26 +7799,27 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1966
+#: ../src/guestfs-actions.pod:2071
 msgid "guestfs_initrd_list"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1968
+#: ../src/guestfs-actions.pod:2073
 #, no-wrap
 msgid ""
-" char **guestfs_initrd_list (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" char **\n"
+" guestfs_initrd_list (guestfs_h *g,\n"
+"                      const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1971 ../fish/guestfish-actions.pod:1540
+#: ../src/guestfs-actions.pod:2077 ../fish/guestfish-actions.pod:1540
 msgid "This command lists out files contained in an initrd."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1973 ../fish/guestfish-actions.pod:1542
+#: ../src/guestfs-actions.pod:2079 ../fish/guestfish-actions.pod:1542
 msgid ""
 "The files are listed without any initial C</> character.  The files are "
 "listed in the order they appear (not necessarily alphabetical).  Directory "
@@ -7601,7 +7827,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1977 ../fish/guestfish-actions.pod:1546
+#: ../src/guestfs-actions.pod:2083 ../fish/guestfish-actions.pod:1546
 msgid ""
 "Old Linux kernels (2.4 and earlier) used a compressed ext2 filesystem as "
 "initrd.  We I<only> support the newer initramfs format (compressed cpio "
@@ -7609,54 +7835,56 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1985
+#: ../src/guestfs-actions.pod:2091
 msgid "guestfs_inotify_add_watch"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1987
+#: ../src/guestfs-actions.pod:2093
 #, no-wrap
 msgid ""
-" int64_t guestfs_inotify_add_watch (guestfs_h *g,\n"
-"\t\tconst char *path,\n"
-"\t\tint mask);\n"
+" int64_t\n"
+" guestfs_inotify_add_watch (guestfs_h *g,\n"
+"                            const char *path,\n"
+"                            int mask);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1991 ../fish/guestfish-actions.pod:1554
+#: ../src/guestfs-actions.pod:2098 ../fish/guestfish-actions.pod:1554
 msgid "Watch C<path> for the events listed in C<mask>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1993 ../fish/guestfish-actions.pod:1556
+#: ../src/guestfs-actions.pod:2100 ../fish/guestfish-actions.pod:1556
 msgid ""
 "Note that if C<path> is a directory then events within that directory are "
 "watched, but this does I<not> happen recursively (in subdirectories)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1997 ../fish/guestfish-actions.pod:1560
+#: ../src/guestfs-actions.pod:2104 ../fish/guestfish-actions.pod:1560
 msgid ""
 "Note for non-C or non-Linux callers: the inotify events are defined by the "
 "Linux kernel ABI and are listed in C</usr/include/sys/inotify.h>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2003
+#: ../src/guestfs-actions.pod:2110
 msgid "guestfs_inotify_close"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2005
+#: ../src/guestfs-actions.pod:2112
 #, no-wrap
 msgid ""
-" int guestfs_inotify_close (guestfs_h *g);\n"
+" int\n"
+" guestfs_inotify_close (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2007 ../fish/guestfish-actions.pod:1568
+#: ../src/guestfs-actions.pod:2115 ../fish/guestfish-actions.pod:1568
 msgid ""
 "This closes the inotify handle which was previously opened by inotify_init.  "
 "It removes all watches, throws away any pending events, and deallocates all "
@@ -7664,20 +7892,21 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2013
+#: ../src/guestfs-actions.pod:2121
 msgid "guestfs_inotify_files"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2015
+#: ../src/guestfs-actions.pod:2123
 #, no-wrap
 msgid ""
-" char **guestfs_inotify_files (guestfs_h *g);\n"
+" char **\n"
+" guestfs_inotify_files (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2017
+#: ../src/guestfs-actions.pod:2126
 msgid ""
 "This function is a helpful wrapper around C<guestfs_inotify_read> which just "
 "returns a list of pathnames of objects that were touched.  The returned "
@@ -7685,28 +7914,29 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2025
+#: ../src/guestfs-actions.pod:2134
 msgid "guestfs_inotify_init"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2027
+#: ../src/guestfs-actions.pod:2136
 #, no-wrap
 msgid ""
-" int guestfs_inotify_init (guestfs_h *g,\n"
-"\t\tint maxevents);\n"
+" int\n"
+" guestfs_inotify_init (guestfs_h *g,\n"
+"                       int maxevents);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2030 ../fish/guestfish-actions.pod:1584
+#: ../src/guestfs-actions.pod:2140 ../fish/guestfish-actions.pod:1584
 msgid ""
 "This command creates a new inotify handle.  The inotify subsystem can be "
 "used to notify events which happen to objects in the guest filesystem."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2034
+#: ../src/guestfs-actions.pod:2144
 msgid ""
 "C<maxevents> is the maximum number of events which will be queued up between "
 "calls to C<guestfs_inotify_read> or C<guestfs_inotify_files>.  If this is "
@@ -7718,7 +7948,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2044
+#: ../src/guestfs-actions.pod:2154
 msgid ""
 "Before any events are generated, you have to add some watches to the "
 "internal watch list.  See: C<guestfs_inotify_add_watch>, "
@@ -7726,7 +7956,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2050
+#: ../src/guestfs-actions.pod:2160
 msgid ""
 "Queued up events should be read periodically by calling "
 "C<guestfs_inotify_read> (or C<guestfs_inotify_files> which is just a helpful "
@@ -7735,14 +7965,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2057
+#: ../src/guestfs-actions.pod:2167
 msgid ""
 "The handle should be closed after use by calling C<guestfs_inotify_close>.  "
 "This also removes any watches automatically."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2061 ../fish/guestfish-actions.pod:1615
+#: ../src/guestfs-actions.pod:2171 ../fish/guestfish-actions.pod:1615
 msgid ""
 "See also L<inotify(7)> for an overview of the inotify interface as exposed "
 "by the Linux kernel, which is roughly what we expose via libguestfs.  Note "
@@ -7750,32 +7980,33 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2068
+#: ../src/guestfs-actions.pod:2178
 msgid "guestfs_inotify_read"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2070
+#: ../src/guestfs-actions.pod:2180
 #, no-wrap
 msgid ""
-" struct guestfs_inotify_event_list *guestfs_inotify_read (guestfs_h *g);\n"
+" struct guestfs_inotify_event_list *\n"
+" guestfs_inotify_read (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2072 ../fish/guestfish-actions.pod:1624
+#: ../src/guestfs-actions.pod:2183 ../fish/guestfish-actions.pod:1624
 msgid ""
 "Return the complete queue of events that have happened since the previous "
 "read call."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2075 ../fish/guestfish-actions.pod:1627
+#: ../src/guestfs-actions.pod:2186 ../fish/guestfish-actions.pod:1627
 msgid "If no events have happened, this returns an empty list."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2077 ../fish/guestfish-actions.pod:1629
+#: ../src/guestfs-actions.pod:2188 ../fish/guestfish-actions.pod:1629
 msgid ""
 "I<Note>: In order to make sure that all events have been read, you must call "
 "this function repeatedly until it returns an empty list.  The reason is that "
@@ -7784,7 +8015,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2083
+#: ../src/guestfs-actions.pod:2194
 msgid ""
 "This function returns a C<struct guestfs_inotify_event_list *> (see "
 "E<lt>guestfs-structs.hE<gt>), or NULL if there was an error.  I<The caller "
@@ -7792,69 +8023,71 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2088
+#: ../src/guestfs-actions.pod:2199
 msgid "guestfs_inotify_rm_watch"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2090
+#: ../src/guestfs-actions.pod:2201
 #, no-wrap
 msgid ""
-" int guestfs_inotify_rm_watch (guestfs_h *g,\n"
-"\t\tint wd);\n"
+" int\n"
+" guestfs_inotify_rm_watch (guestfs_h *g,\n"
+"                           int wd);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2093
+#: ../src/guestfs-actions.pod:2205
 msgid ""
 "Remove a previously defined inotify watch.  See C<guestfs_inotify_add_watch>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2098
+#: ../src/guestfs-actions.pod:2210
 msgid "guestfs_inspect_get_arch"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2100
+#: ../src/guestfs-actions.pod:2212
 #, no-wrap
 msgid ""
-" char *guestfs_inspect_get_arch (guestfs_h *g,\n"
-"\t\tconst char *root);\n"
+" char *\n"
+" guestfs_inspect_get_arch (guestfs_h *g,\n"
+"                           const char *root);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2103 ../src/guestfs-actions.pod:2123
-#: ../src/guestfs-actions.pod:2193 ../src/guestfs-actions.pod:2216
-#: ../src/guestfs-actions.pod:2240 ../src/guestfs-actions.pod:2258
-#: ../src/guestfs-actions.pod:2288 ../src/guestfs-actions.pod:2309
-#: ../src/guestfs-actions.pod:2344
+#: ../src/guestfs-actions.pod:2216 ../src/guestfs-actions.pod:2237
+#: ../src/guestfs-actions.pod:2308 ../src/guestfs-actions.pod:2332
+#: ../src/guestfs-actions.pod:2357 ../src/guestfs-actions.pod:2376
+#: ../src/guestfs-actions.pod:2407 ../src/guestfs-actions.pod:2429
+#: ../src/guestfs-actions.pod:2465
 msgid ""
 "This function should only be called with a root device string as returned by "
 "C<guestfs_inspect_os>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2106
+#: ../src/guestfs-actions.pod:2219
 msgid ""
 "This returns the architecture of the inspected operating system.  The "
 "possible return values are listed under C<guestfs_file_architecture>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2110 ../fish/guestfish-actions.pod:1653
+#: ../src/guestfs-actions.pod:2223 ../fish/guestfish-actions.pod:1653
 msgid ""
 "If the architecture could not be determined, then the string C<unknown> is "
 "returned."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2113 ../src/guestfs-actions.pod:2183
-#: ../src/guestfs-actions.pod:2231 ../src/guestfs-actions.pod:2299
-#: ../src/guestfs-actions.pod:2334 ../src/guestfs-actions.pod:2354
-#: ../src/guestfs-actions.pod:2391 ../fish/guestfish-actions.pod:1656
+#: ../src/guestfs-actions.pod:2226 ../src/guestfs-actions.pod:2297
+#: ../src/guestfs-actions.pod:2347 ../src/guestfs-actions.pod:2418
+#: ../src/guestfs-actions.pod:2454 ../src/guestfs-actions.pod:2475
+#: ../src/guestfs-actions.pod:2513 ../fish/guestfish-actions.pod:1656
 #: ../fish/guestfish-actions.pod:1722 ../fish/guestfish-actions.pod:1761
 #: ../fish/guestfish-actions.pod:1816 ../fish/guestfish-actions.pod:1847
 #: ../fish/guestfish-actions.pod:1863 ../fish/guestfish-actions.pod:1897
@@ -7862,146 +8095,147 @@ msgid "Please read L<guestfs(3)/INSPECTION> for more details."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2118
+#: ../src/guestfs-actions.pod:2231
 msgid "guestfs_inspect_get_distro"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2120
+#: ../src/guestfs-actions.pod:2233
 #, no-wrap
 msgid ""
-" char *guestfs_inspect_get_distro (guestfs_h *g,\n"
-"\t\tconst char *root);\n"
+" char *\n"
+" guestfs_inspect_get_distro (guestfs_h *g,\n"
+"                             const char *root);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2126 ../fish/guestfish-actions.pod:1665
+#: ../src/guestfs-actions.pod:2240 ../fish/guestfish-actions.pod:1665
 msgid ""
 "This returns the distro (distribution) of the inspected operating system."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2129 ../fish/guestfish-actions.pod:1668
+#: ../src/guestfs-actions.pod:2243 ../fish/guestfish-actions.pod:1668
 msgid "Currently defined distros are:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2133 ../fish/guestfish-actions.pod:1672
+#: ../src/guestfs-actions.pod:2247 ../fish/guestfish-actions.pod:1672
 msgid "\"archlinux\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2135 ../fish/guestfish-actions.pod:1674
+#: ../src/guestfs-actions.pod:2249 ../fish/guestfish-actions.pod:1674
 msgid "Arch Linux."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2137 ../fish/guestfish-actions.pod:1676
+#: ../src/guestfs-actions.pod:2251 ../fish/guestfish-actions.pod:1676
 msgid "\"debian\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2139 ../fish/guestfish-actions.pod:1678
+#: ../src/guestfs-actions.pod:2253 ../fish/guestfish-actions.pod:1678
 msgid "Debian or a Debian-derived distro such as Ubuntu."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2141 ../fish/guestfish-actions.pod:1680
+#: ../src/guestfs-actions.pod:2255 ../fish/guestfish-actions.pod:1680
 msgid "\"fedora\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2143 ../fish/guestfish-actions.pod:1682
+#: ../src/guestfs-actions.pod:2257 ../fish/guestfish-actions.pod:1682
 msgid "Fedora."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2145 ../fish/guestfish-actions.pod:1684
+#: ../src/guestfs-actions.pod:2259 ../fish/guestfish-actions.pod:1684
 msgid "\"gentoo\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2147 ../fish/guestfish-actions.pod:1686
+#: ../src/guestfs-actions.pod:2261 ../fish/guestfish-actions.pod:1686
 msgid "Gentoo."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2149 ../fish/guestfish-actions.pod:1688
+#: ../src/guestfs-actions.pod:2263 ../fish/guestfish-actions.pod:1688
 msgid "\"meego\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2151 ../fish/guestfish-actions.pod:1690
+#: ../src/guestfs-actions.pod:2265 ../fish/guestfish-actions.pod:1690
 msgid "MeeGo."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2153 ../fish/guestfish-actions.pod:1692
+#: ../src/guestfs-actions.pod:2267 ../fish/guestfish-actions.pod:1692
 msgid "\"pardus\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2155 ../fish/guestfish-actions.pod:1694
+#: ../src/guestfs-actions.pod:2269 ../fish/guestfish-actions.pod:1694
 msgid "Pardus."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2157 ../fish/guestfish-actions.pod:1696
+#: ../src/guestfs-actions.pod:2271 ../fish/guestfish-actions.pod:1696
 msgid "\"redhat-based\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2159 ../fish/guestfish-actions.pod:1698
+#: ../src/guestfs-actions.pod:2273 ../fish/guestfish-actions.pod:1698
 msgid "Some Red Hat-derived distro."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2161 ../fish/guestfish-actions.pod:1700
+#: ../src/guestfs-actions.pod:2275 ../fish/guestfish-actions.pod:1700
 msgid "\"rhel\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2163 ../fish/guestfish-actions.pod:1702
+#: ../src/guestfs-actions.pod:2277 ../fish/guestfish-actions.pod:1702
 msgid "Red Hat Enterprise Linux and some derivatives."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2165 ../src/guestfs-actions.pod:2321
+#: ../src/guestfs-actions.pod:2279 ../src/guestfs-actions.pod:2441
 #: ../fish/guestfish-actions.pod:1704 ../fish/guestfish-actions.pod:1834
 msgid "\"windows\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2167 ../fish/guestfish-actions.pod:1706
+#: ../src/guestfs-actions.pod:2281 ../fish/guestfish-actions.pod:1706
 msgid ""
 "Windows does not have distributions.  This string is returned if the OS type "
 "is Windows."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2170 ../fish/guestfish-actions.pod:1709
+#: ../src/guestfs-actions.pod:2284 ../fish/guestfish-actions.pod:1709
 msgid "\"ubuntu\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2172 ../fish/guestfish-actions.pod:1711
+#: ../src/guestfs-actions.pod:2286 ../fish/guestfish-actions.pod:1711
 msgid "Ubuntu."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2174 ../src/guestfs-actions.pod:2325
+#: ../src/guestfs-actions.pod:2288 ../src/guestfs-actions.pod:2445
 #: ../fish/guestfish-actions.pod:1713 ../fish/guestfish-actions.pod:1838
 msgid "\"unknown\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2176 ../fish/guestfish-actions.pod:1715
+#: ../src/guestfs-actions.pod:2290 ../fish/guestfish-actions.pod:1715
 msgid "The distro could not be determined."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2180 ../src/guestfs-actions.pod:2331
+#: ../src/guestfs-actions.pod:2294 ../src/guestfs-actions.pod:2451
 #: ../fish/guestfish-actions.pod:1719 ../fish/guestfish-actions.pod:1844
 msgid ""
 "Future versions of libguestfs may return other strings here.  The caller "
@@ -8009,21 +8243,22 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2188
+#: ../src/guestfs-actions.pod:2302
 msgid "guestfs_inspect_get_filesystems"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2190
+#: ../src/guestfs-actions.pod:2304
 #, no-wrap
 msgid ""
-" char **guestfs_inspect_get_filesystems (guestfs_h *g,\n"
-"\t\tconst char *root);\n"
+" char **\n"
+" guestfs_inspect_get_filesystems (guestfs_h *g,\n"
+"                                  const char *root);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2196 ../fish/guestfish-actions.pod:1731
+#: ../src/guestfs-actions.pod:2311 ../fish/guestfish-actions.pod:1731
 msgid ""
 "This returns a list of all the filesystems that we think are associated with "
 "this operating system.  This includes the root filesystem, other ordinary "
@@ -8031,41 +8266,42 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2201 ../fish/guestfish-actions.pod:1736
+#: ../src/guestfs-actions.pod:2316 ../fish/guestfish-actions.pod:1736
 msgid ""
 "In the case of a multi-boot virtual machine, it is possible for a filesystem "
 "to be shared between operating systems."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2204
+#: ../src/guestfs-actions.pod:2319
 msgid ""
 "Please read L<guestfs(3)/INSPECTION> for more details.  See also "
 "C<guestfs_inspect_get_mountpoints>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2211
+#: ../src/guestfs-actions.pod:2326
 msgid "guestfs_inspect_get_major_version"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2213
+#: ../src/guestfs-actions.pod:2328
 #, no-wrap
 msgid ""
-" int guestfs_inspect_get_major_version (guestfs_h *g,\n"
-"\t\tconst char *root);\n"
+" int\n"
+" guestfs_inspect_get_major_version (guestfs_h *g,\n"
+"                                    const char *root);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2219 ../fish/guestfish-actions.pod:1749
+#: ../src/guestfs-actions.pod:2335 ../fish/guestfish-actions.pod:1749
 msgid ""
 "This returns the major version number of the inspected operating system."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2222 ../fish/guestfish-actions.pod:1752
+#: ../src/guestfs-actions.pod:2338 ../fish/guestfish-actions.pod:1752
 msgid ""
 "Windows uses a consistent versioning scheme which is I<not> reflected in the "
 "popular public names used by the operating system.  Notably the operating "
@@ -8075,54 +8311,56 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2229 ../src/guestfs-actions.pod:2246
+#: ../src/guestfs-actions.pod:2345 ../src/guestfs-actions.pod:2363
 #: ../fish/guestfish-actions.pod:1759 ../fish/guestfish-actions.pod:1773
 msgid "If the version could not be determined, then C<0> is returned."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2235
+#: ../src/guestfs-actions.pod:2351
 msgid "guestfs_inspect_get_minor_version"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2237
+#: ../src/guestfs-actions.pod:2353
 #, no-wrap
 msgid ""
-" int guestfs_inspect_get_minor_version (guestfs_h *g,\n"
-"\t\tconst char *root);\n"
+" int\n"
+" guestfs_inspect_get_minor_version (guestfs_h *g,\n"
+"                                    const char *root);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2243 ../fish/guestfish-actions.pod:1770
+#: ../src/guestfs-actions.pod:2360 ../fish/guestfish-actions.pod:1770
 msgid ""
 "This returns the minor version number of the inspected operating system."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2248
+#: ../src/guestfs-actions.pod:2365
 msgid ""
 "Please read L<guestfs(3)/INSPECTION> for more details.  See also "
 "C<guestfs_inspect_get_major_version>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2253
+#: ../src/guestfs-actions.pod:2370
 msgid "guestfs_inspect_get_mountpoints"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2255
+#: ../src/guestfs-actions.pod:2372
 #, no-wrap
 msgid ""
-" char **guestfs_inspect_get_mountpoints (guestfs_h *g,\n"
-"\t\tconst char *root);\n"
+" char **\n"
+" guestfs_inspect_get_mountpoints (guestfs_h *g,\n"
+"                                  const char *root);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2261 ../fish/guestfish-actions.pod:1785
+#: ../src/guestfs-actions.pod:2379 ../fish/guestfish-actions.pod:1785
 msgid ""
 "This returns a hash of where we think the filesystems associated with this "
 "operating system should be mounted.  Callers should note that this is at "
@@ -8131,7 +8369,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2266 ../fish/guestfish-actions.pod:1790
+#: ../src/guestfs-actions.pod:2384 ../fish/guestfish-actions.pod:1790
 msgid ""
 "Each element in the returned hashtable has a key which is the path of the "
 "mountpoint (eg. C</boot>) and a value which is the filesystem that would be "
@@ -8139,21 +8377,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2271 ../fish/guestfish-actions.pod:1795
+#: ../src/guestfs-actions.pod:2389 ../fish/guestfish-actions.pod:1795
 msgid ""
 "Non-mounted devices such as swap devices are I<not> returned in this list."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2274
+#: ../src/guestfs-actions.pod:2392
 msgid ""
 "Please read L<guestfs(3)/INSPECTION> for more details.  See also "
 "C<guestfs_inspect_get_filesystems>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2277 ../src/guestfs-actions.pod:2637
-#: ../src/guestfs-actions.pod:3591 ../src/guestfs-actions.pod:5174
+#: ../src/guestfs-actions.pod:2395 ../src/guestfs-actions.pod:2777
+#: ../src/guestfs-actions.pod:3790 ../src/guestfs-actions.pod:5465
 msgid ""
 "This function returns a NULL-terminated array of strings, or NULL if there "
 "was an error.  The array of strings will always have length C<2n+1>, where "
@@ -8162,21 +8400,22 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2283
+#: ../src/guestfs-actions.pod:2401
 msgid "guestfs_inspect_get_product_name"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2285
+#: ../src/guestfs-actions.pod:2403
 #, no-wrap
 msgid ""
-" char *guestfs_inspect_get_product_name (guestfs_h *g,\n"
-"\t\tconst char *root);\n"
+" char *\n"
+" guestfs_inspect_get_product_name (guestfs_h *g,\n"
+"                                   const char *root);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2291 ../fish/guestfish-actions.pod:1808
+#: ../src/guestfs-actions.pod:2410 ../fish/guestfish-actions.pod:1808
 msgid ""
 "This returns the product name of the inspected operating system.  The "
 "product name is generally some freeform string which can be displayed to the "
@@ -8184,96 +8423,99 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2296 ../fish/guestfish-actions.pod:1813
+#: ../src/guestfs-actions.pod:2415 ../fish/guestfish-actions.pod:1813
 msgid ""
 "If the product name could not be determined, then the string C<unknown> is "
 "returned."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2304
+#: ../src/guestfs-actions.pod:2423
 msgid "guestfs_inspect_get_type"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2306
+#: ../src/guestfs-actions.pod:2425
 #, no-wrap
 msgid ""
-" char *guestfs_inspect_get_type (guestfs_h *g,\n"
-"\t\tconst char *root);\n"
+" char *\n"
+" guestfs_inspect_get_type (guestfs_h *g,\n"
+"                           const char *root);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2312 ../fish/guestfish-actions.pod:1825
+#: ../src/guestfs-actions.pod:2432 ../fish/guestfish-actions.pod:1825
 msgid ""
 "This returns the type of the inspected operating system.  Currently defined "
 "types are:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2317 ../fish/guestfish-actions.pod:1830
+#: ../src/guestfs-actions.pod:2437 ../fish/guestfish-actions.pod:1830
 msgid "\"linux\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2319 ../fish/guestfish-actions.pod:1832
+#: ../src/guestfs-actions.pod:2439 ../fish/guestfish-actions.pod:1832
 msgid "Any Linux-based operating system."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2323 ../fish/guestfish-actions.pod:1836
+#: ../src/guestfs-actions.pod:2443 ../fish/guestfish-actions.pod:1836
 msgid "Any Microsoft Windows operating system."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2327 ../fish/guestfish-actions.pod:1840
+#: ../src/guestfs-actions.pod:2447 ../fish/guestfish-actions.pod:1840
 msgid "The operating system type could not be determined."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2339
+#: ../src/guestfs-actions.pod:2459
 msgid "guestfs_inspect_get_windows_systemroot"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2341
+#: ../src/guestfs-actions.pod:2461
 #, no-wrap
 msgid ""
-" char *guestfs_inspect_get_windows_systemroot (guestfs_h *g,\n"
-"\t\tconst char *root);\n"
+" char *\n"
+" guestfs_inspect_get_windows_systemroot (guestfs_h *g,\n"
+"                                         const char *root);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2347 ../fish/guestfish-actions.pod:1856
+#: ../src/guestfs-actions.pod:2468 ../fish/guestfish-actions.pod:1856
 msgid ""
 "This returns the Windows systemroot of the inspected guest.  The systemroot "
 "is a directory path such as C</WINDOWS>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2350 ../fish/guestfish-actions.pod:1859
+#: ../src/guestfs-actions.pod:2471 ../fish/guestfish-actions.pod:1859
 msgid ""
 "This call assumes that the guest is Windows and that the systemroot could be "
 "determined by inspection.  If this is not the case then an error is returned."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2359
+#: ../src/guestfs-actions.pod:2480
 msgid "guestfs_inspect_os"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2361
+#: ../src/guestfs-actions.pod:2482
 #, no-wrap
 msgid ""
-" char **guestfs_inspect_os (guestfs_h *g);\n"
+" char **\n"
+" guestfs_inspect_os (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2363 ../fish/guestfish-actions.pod:1869
+#: ../src/guestfs-actions.pod:2485 ../fish/guestfish-actions.pod:1869
 msgid ""
 "This function uses other libguestfs functions and certain heuristics to "
 "inspect the disk(s) (usually disks belonging to a virtual machine), looking "
@@ -8281,12 +8523,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2367 ../fish/guestfish-actions.pod:1873
+#: ../src/guestfs-actions.pod:2489 ../fish/guestfish-actions.pod:1873
 msgid "The list returned is empty if no operating systems were found."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2369 ../fish/guestfish-actions.pod:1875
+#: ../src/guestfs-actions.pod:2491 ../fish/guestfish-actions.pod:1875
 msgid ""
 "If one operating system was found, then this returns a list with a single "
 "element, which is the name of the root filesystem of this operating system.  "
@@ -8296,7 +8538,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2376
+#: ../src/guestfs-actions.pod:2498
 msgid ""
 "You can pass the root string(s) returned to other C<guestfs_inspect_get_*> "
 "functions in order to query further information about each operating system, "
@@ -8304,7 +8546,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2381
+#: ../src/guestfs-actions.pod:2503
 msgid ""
 "This function uses other libguestfs features such as C<guestfs_mount_ro> and "
 "C<guestfs_umount_all> in order to mount and unmount filesystems and look at "
@@ -8313,337 +8555,352 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2387 ../fish/guestfish-actions.pod:1893
+#: ../src/guestfs-actions.pod:2509 ../fish/guestfish-actions.pod:1893
 msgid ""
 "This function cannot decrypt encrypted disks.  The caller must do that first "
 "(supplying the necessary keys) if the disk is encrypted."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2393 ../src/guestfs-actions.pod:2598
-#: ../src/guestfs-actions.pod:2654
+#: ../src/guestfs-actions.pod:2515 ../src/guestfs-actions.pod:2737
+#: ../src/guestfs-actions.pod:2795
 msgid "See also C<guestfs_list_filesystems>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2399
+#: ../src/guestfs-actions.pod:2521
 msgid "guestfs_is_blockdev"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2401
+#: ../src/guestfs-actions.pod:2523
 #, no-wrap
 msgid ""
-" int guestfs_is_blockdev (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_is_blockdev (guestfs_h *g,\n"
+"                      const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2404 ../fish/guestfish-actions.pod:1905
+#: ../src/guestfs-actions.pod:2527 ../fish/guestfish-actions.pod:1905
 msgid ""
 "This returns C<true> if and only if there is a block device with the given "
 "C<path> name."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2407 ../src/guestfs-actions.pod:2430
-#: ../src/guestfs-actions.pod:2454 ../src/guestfs-actions.pod:2466
-#: ../src/guestfs-actions.pod:2479 ../src/guestfs-actions.pod:2523
-#: ../src/guestfs-actions.pod:2535
+#: ../src/guestfs-actions.pod:2530 ../src/guestfs-actions.pod:2555
+#: ../src/guestfs-actions.pod:2581 ../src/guestfs-actions.pod:2594
+#: ../src/guestfs-actions.pod:2608 ../src/guestfs-actions.pod:2656
+#: ../src/guestfs-actions.pod:2669
 msgid "See also C<guestfs_stat>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2411
+#: ../src/guestfs-actions.pod:2534
 msgid "guestfs_is_busy"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2413
+#: ../src/guestfs-actions.pod:2536
 #, no-wrap
 msgid ""
-" int guestfs_is_busy (guestfs_h *g);\n"
+" int\n"
+" guestfs_is_busy (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2415 ../fish/guestfish-actions.pod:1914
+#: ../src/guestfs-actions.pod:2539 ../fish/guestfish-actions.pod:1914
 msgid ""
 "This returns true iff this handle is busy processing a command (in the "
 "C<BUSY> state)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2422
+#: ../src/guestfs-actions.pod:2546
 msgid "guestfs_is_chardev"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2424
+#: ../src/guestfs-actions.pod:2548
 #, no-wrap
 msgid ""
-" int guestfs_is_chardev (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_is_chardev (guestfs_h *g,\n"
+"                     const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2427 ../fish/guestfish-actions.pod:1923
+#: ../src/guestfs-actions.pod:2552 ../fish/guestfish-actions.pod:1923
 msgid ""
 "This returns C<true> if and only if there is a character device with the "
 "given C<path> name."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2434
+#: ../src/guestfs-actions.pod:2559
 msgid "guestfs_is_config"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2436
+#: ../src/guestfs-actions.pod:2561
 #, no-wrap
 msgid ""
-" int guestfs_is_config (guestfs_h *g);\n"
+" int\n"
+" guestfs_is_config (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2438 ../fish/guestfish-actions.pod:1932
+#: ../src/guestfs-actions.pod:2564 ../fish/guestfish-actions.pod:1932
 msgid ""
 "This returns true iff this handle is being configured (in the C<CONFIG> "
 "state)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2445
+#: ../src/guestfs-actions.pod:2571
 msgid "guestfs_is_dir"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2447
+#: ../src/guestfs-actions.pod:2573
 #, no-wrap
 msgid ""
-" int guestfs_is_dir (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_is_dir (guestfs_h *g,\n"
+"                 const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2450 ../fish/guestfish-actions.pod:1941
+#: ../src/guestfs-actions.pod:2577 ../fish/guestfish-actions.pod:1941
 msgid ""
 "This returns C<true> if and only if there is a directory with the given "
 "C<path> name.  Note that it returns false for other objects like files."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2458
+#: ../src/guestfs-actions.pod:2585
 msgid "guestfs_is_fifo"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2460
+#: ../src/guestfs-actions.pod:2587
 #, no-wrap
 msgid ""
-" int guestfs_is_fifo (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_is_fifo (guestfs_h *g,\n"
+"                  const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2463 ../fish/guestfish-actions.pod:1951
+#: ../src/guestfs-actions.pod:2591 ../fish/guestfish-actions.pod:1951
 msgid ""
 "This returns C<true> if and only if there is a FIFO (named pipe)  with the "
 "given C<path> name."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2470
+#: ../src/guestfs-actions.pod:2598
 msgid "guestfs_is_file"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2472
+#: ../src/guestfs-actions.pod:2600
 #, no-wrap
 msgid ""
-" int guestfs_is_file (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_is_file (guestfs_h *g,\n"
+"                  const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2475 ../fish/guestfish-actions.pod:1960
+#: ../src/guestfs-actions.pod:2604 ../fish/guestfish-actions.pod:1960
 msgid ""
 "This returns C<true> if and only if there is a regular file with the given "
 "C<path> name.  Note that it returns false for other objects like directories."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2483
+#: ../src/guestfs-actions.pod:2612
 msgid "guestfs_is_launching"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2485
+#: ../src/guestfs-actions.pod:2614
 #, no-wrap
 msgid ""
-" int guestfs_is_launching (guestfs_h *g);\n"
+" int\n"
+" guestfs_is_launching (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2487 ../fish/guestfish-actions.pod:1970
+#: ../src/guestfs-actions.pod:2617 ../fish/guestfish-actions.pod:1970
 msgid ""
 "This returns true iff this handle is launching the subprocess (in the "
 "C<LAUNCHING> state)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2494
+#: ../src/guestfs-actions.pod:2624
 msgid "guestfs_is_lv"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2496
+#: ../src/guestfs-actions.pod:2626
 #, no-wrap
 msgid ""
-" int guestfs_is_lv (guestfs_h *g,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_is_lv (guestfs_h *g,\n"
+"                const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2499 ../fish/guestfish-actions.pod:1979
+#: ../src/guestfs-actions.pod:2630 ../fish/guestfish-actions.pod:1979
 msgid ""
 "This command tests whether C<device> is a logical volume, and returns true "
 "iff this is the case."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2504
+#: ../src/guestfs-actions.pod:2635
 msgid "guestfs_is_ready"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2506
+#: ../src/guestfs-actions.pod:2637
 #, no-wrap
 msgid ""
-" int guestfs_is_ready (guestfs_h *g);\n"
+" int\n"
+" guestfs_is_ready (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2508 ../fish/guestfish-actions.pod:1986
+#: ../src/guestfs-actions.pod:2640 ../fish/guestfish-actions.pod:1986
 msgid ""
 "This returns true iff this handle is ready to accept commands (in the "
 "C<READY> state)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2515
+#: ../src/guestfs-actions.pod:2647
 msgid "guestfs_is_socket"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2517
+#: ../src/guestfs-actions.pod:2649
 #, no-wrap
 msgid ""
-" int guestfs_is_socket (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_is_socket (guestfs_h *g,\n"
+"                    const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2520 ../fish/guestfish-actions.pod:1995
+#: ../src/guestfs-actions.pod:2653 ../fish/guestfish-actions.pod:1995
 msgid ""
 "This returns C<true> if and only if there is a Unix domain socket with the "
 "given C<path> name."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2527
+#: ../src/guestfs-actions.pod:2660
 msgid "guestfs_is_symlink"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2529
+#: ../src/guestfs-actions.pod:2662
 #, no-wrap
 msgid ""
-" int guestfs_is_symlink (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_is_symlink (guestfs_h *g,\n"
+"                     const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2532 ../fish/guestfish-actions.pod:2004
+#: ../src/guestfs-actions.pod:2666 ../fish/guestfish-actions.pod:2004
 msgid ""
 "This returns C<true> if and only if there is a symbolic link with the given "
 "C<path> name."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2539
+#: ../src/guestfs-actions.pod:2673
 msgid "guestfs_kill_subprocess"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2541
+#: ../src/guestfs-actions.pod:2675
 #, no-wrap
 msgid ""
-" int guestfs_kill_subprocess (guestfs_h *g);\n"
+" int\n"
+" guestfs_kill_subprocess (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2543 ../fish/guestfish-actions.pod:2013
+#: ../src/guestfs-actions.pod:2678 ../fish/guestfish-actions.pod:2013
 msgid "This kills the qemu subprocess.  You should never need to call this."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2547
+#: ../src/guestfs-actions.pod:2682
 msgid "guestfs_launch"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2549
+#: ../src/guestfs-actions.pod:2684
 #, no-wrap
 msgid ""
-" int guestfs_launch (guestfs_h *g);\n"
+" int\n"
+" guestfs_launch (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2551 ../fish/guestfish-actions.pod:2021
+#: ../src/guestfs-actions.pod:2687 ../fish/guestfish-actions.pod:2021
 msgid ""
 "Internally libguestfs is implemented by running a virtual machine using "
 "L<qemu(1)>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2554 ../fish/guestfish-actions.pod:2024
+#: ../src/guestfs-actions.pod:2690 ../fish/guestfish-actions.pod:2024
 msgid ""
 "You should call this after configuring the handle (eg. adding drives) but "
 "before performing any actions."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2559
+#: ../src/guestfs-actions.pod:2695
 msgid "guestfs_lchown"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2561
+#: ../src/guestfs-actions.pod:2697
 #, no-wrap
 msgid ""
-" int guestfs_lchown (guestfs_h *g,\n"
-"\t\tint owner,\n"
-"\t\tint group,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_lchown (guestfs_h *g,\n"
+"                 int owner,\n"
+"                 int group,\n"
+"                 const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2566
+#: ../src/guestfs-actions.pod:2703
 msgid ""
 "Change the file owner to C<owner> and group to C<group>.  This is like "
 "C<guestfs_chown> but if C<path> is a symlink then the link itself is "
@@ -8651,64 +8908,67 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2576
+#: ../src/guestfs-actions.pod:2713
 msgid "guestfs_lgetxattrs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2578
+#: ../src/guestfs-actions.pod:2715
 #, no-wrap
 msgid ""
-" struct guestfs_xattr_list *guestfs_lgetxattrs (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" struct guestfs_xattr_list *\n"
+" guestfs_lgetxattrs (guestfs_h *g,\n"
+"                     const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2581
+#: ../src/guestfs-actions.pod:2719
 msgid ""
 "This is the same as C<guestfs_getxattrs>, but if C<path> is a symbolic link, "
 "then it returns the extended attributes of the link itself."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2590
+#: ../src/guestfs-actions.pod:2728
 msgid "guestfs_list_devices"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2592
+#: ../src/guestfs-actions.pod:2730
 #, no-wrap
 msgid ""
-" char **guestfs_list_devices (guestfs_h *g);\n"
+" char **\n"
+" guestfs_list_devices (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2594 ../fish/guestfish-actions.pod:2051
+#: ../src/guestfs-actions.pod:2733 ../fish/guestfish-actions.pod:2051
 msgid "List all the block devices."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2596 ../fish/guestfish-actions.pod:2053
+#: ../src/guestfs-actions.pod:2735 ../fish/guestfish-actions.pod:2053
 msgid "The full block device names are returned, eg. C</dev/sda>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2604
+#: ../src/guestfs-actions.pod:2743
 msgid "guestfs_list_filesystems"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2606
+#: ../src/guestfs-actions.pod:2745
 #, no-wrap
 msgid ""
-" char **guestfs_list_filesystems (guestfs_h *g);\n"
+" char **\n"
+" guestfs_list_filesystems (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2608 ../fish/guestfish-actions.pod:2061
+#: ../src/guestfs-actions.pod:2748 ../fish/guestfish-actions.pod:2061
 msgid ""
 "This inspection command looks for filesystems on partitions, block devices "
 "and logical volumes, returning a list of devices containing filesystems and "
@@ -8716,14 +8976,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2612 ../fish/guestfish-actions.pod:2065
+#: ../src/guestfs-actions.pod:2752 ../fish/guestfish-actions.pod:2065
 msgid ""
 "The return value is a hash, where the keys are the devices containing "
 "filesystems, and the values are the filesystem types.  For example:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2616 ../fish/guestfish-actions.pod:2069
+#: ../src/guestfs-actions.pod:2756 ../fish/guestfish-actions.pod:2069
 #, no-wrap
 msgid ""
 " \"/dev/sda1\" => \"ntfs\"\n"
@@ -8734,14 +8994,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2621 ../fish/guestfish-actions.pod:2074
+#: ../src/guestfs-actions.pod:2761 ../fish/guestfish-actions.pod:2074
 msgid ""
 "The value can have the special value \"unknown\", meaning the content of the "
 "device is undetermined or empty.  \"swap\" means a Linux swap partition."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2625
+#: ../src/guestfs-actions.pod:2765
 msgid ""
 "This command runs other libguestfs commands, which might include "
 "C<guestfs_mount> and C<guestfs_umount>, and therefore you should use this "
@@ -8749,7 +9009,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2629
+#: ../src/guestfs-actions.pod:2769
 msgid ""
 "Not all of the filesystems returned will be mountable.  In particular, swap "
 "partitions are returned in the list.  Also this command does not check that "
@@ -8759,277 +9019,288 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2643
+#: ../src/guestfs-actions.pod:2783
 msgid "guestfs_list_partitions"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2645
+#: ../src/guestfs-actions.pod:2785
 #, no-wrap
 msgid ""
-" char **guestfs_list_partitions (guestfs_h *g);\n"
+" char **\n"
+" guestfs_list_partitions (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2647 ../fish/guestfish-actions.pod:2094
+#: ../src/guestfs-actions.pod:2788 ../fish/guestfish-actions.pod:2094
 msgid "List all the partitions detected on all block devices."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2649 ../fish/guestfish-actions.pod:2096
+#: ../src/guestfs-actions.pod:2790 ../fish/guestfish-actions.pod:2096
 msgid "The full partition device names are returned, eg. C</dev/sda1>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2651
+#: ../src/guestfs-actions.pod:2792
 msgid ""
 "This does not return logical volumes.  For that you will need to call "
 "C<guestfs_lvs>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2660
+#: ../src/guestfs-actions.pod:2801
 msgid "guestfs_ll"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2662
+#: ../src/guestfs-actions.pod:2803
 #, no-wrap
 msgid ""
-" char *guestfs_ll (guestfs_h *g,\n"
-"\t\tconst char *directory);\n"
+" char *\n"
+" guestfs_ll (guestfs_h *g,\n"
+"             const char *directory);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2665 ../fish/guestfish-actions.pod:2107
+#: ../src/guestfs-actions.pod:2807 ../fish/guestfish-actions.pod:2107
 msgid ""
 "List the files in C<directory> (relative to the root directory, there is no "
 "cwd) in the format of 'ls -la'."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2668 ../fish/guestfish-actions.pod:2110
+#: ../src/guestfs-actions.pod:2810 ../fish/guestfish-actions.pod:2110
 msgid ""
 "This command is mostly useful for interactive sessions.  It is I<not> "
 "intended that you try to parse the output string."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2674
+#: ../src/guestfs-actions.pod:2816
 msgid "guestfs_ln"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2676
+#: ../src/guestfs-actions.pod:2818
 #, no-wrap
 msgid ""
-" int guestfs_ln (guestfs_h *g,\n"
-"\t\tconst char *target,\n"
-"\t\tconst char *linkname);\n"
+" int\n"
+" guestfs_ln (guestfs_h *g,\n"
+"             const char *target,\n"
+"             const char *linkname);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2680 ../fish/guestfish-actions.pod:2117
+#: ../src/guestfs-actions.pod:2823 ../fish/guestfish-actions.pod:2117
 msgid "This command creates a hard link using the C<ln> command."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2684
+#: ../src/guestfs-actions.pod:2827
 msgid "guestfs_ln_f"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2686
+#: ../src/guestfs-actions.pod:2829
 #, no-wrap
 msgid ""
-" int guestfs_ln_f (guestfs_h *g,\n"
-"\t\tconst char *target,\n"
-"\t\tconst char *linkname);\n"
+" int\n"
+" guestfs_ln_f (guestfs_h *g,\n"
+"               const char *target,\n"
+"               const char *linkname);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2690 ../fish/guestfish-actions.pod:2123
+#: ../src/guestfs-actions.pod:2834 ../fish/guestfish-actions.pod:2123
 msgid ""
 "This command creates a hard link using the C<ln -f> command.  The C<-f> "
 "option removes the link (C<linkname>) if it exists already."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2695
+#: ../src/guestfs-actions.pod:2839
 msgid "guestfs_ln_s"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2697
+#: ../src/guestfs-actions.pod:2841
 #, no-wrap
 msgid ""
-" int guestfs_ln_s (guestfs_h *g,\n"
-"\t\tconst char *target,\n"
-"\t\tconst char *linkname);\n"
+" int\n"
+" guestfs_ln_s (guestfs_h *g,\n"
+"               const char *target,\n"
+"               const char *linkname);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2701 ../fish/guestfish-actions.pod:2130
+#: ../src/guestfs-actions.pod:2846 ../fish/guestfish-actions.pod:2130
 msgid "This command creates a symbolic link using the C<ln -s> command."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2705
+#: ../src/guestfs-actions.pod:2850
 msgid "guestfs_ln_sf"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2707
+#: ../src/guestfs-actions.pod:2852
 #, no-wrap
 msgid ""
-" int guestfs_ln_sf (guestfs_h *g,\n"
-"\t\tconst char *target,\n"
-"\t\tconst char *linkname);\n"
+" int\n"
+" guestfs_ln_sf (guestfs_h *g,\n"
+"                const char *target,\n"
+"                const char *linkname);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2711 ../fish/guestfish-actions.pod:2136
+#: ../src/guestfs-actions.pod:2857 ../fish/guestfish-actions.pod:2136
 msgid ""
 "This command creates a symbolic link using the C<ln -sf> command, The C<-f> "
 "option removes the link (C<linkname>) if it exists already."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2716
+#: ../src/guestfs-actions.pod:2862
 msgid "guestfs_lremovexattr"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2718
+#: ../src/guestfs-actions.pod:2864
 #, no-wrap
 msgid ""
-" int guestfs_lremovexattr (guestfs_h *g,\n"
-"\t\tconst char *xattr,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_lremovexattr (guestfs_h *g,\n"
+"                       const char *xattr,\n"
+"                       const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2722
+#: ../src/guestfs-actions.pod:2869
 msgid ""
 "This is the same as C<guestfs_removexattr>, but if C<path> is a symbolic "
 "link, then it removes an extended attribute of the link itself."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2728
+#: ../src/guestfs-actions.pod:2875
 msgid "guestfs_ls"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2730
+#: ../src/guestfs-actions.pod:2877
 #, no-wrap
 msgid ""
-" char **guestfs_ls (guestfs_h *g,\n"
-"\t\tconst char *directory);\n"
+" char **\n"
+" guestfs_ls (guestfs_h *g,\n"
+"             const char *directory);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2733 ../fish/guestfish-actions.pod:2151
+#: ../src/guestfs-actions.pod:2881 ../fish/guestfish-actions.pod:2151
 msgid ""
 "List the files in C<directory> (relative to the root directory, there is no "
 "cwd).  The '.' and '..' entries are not returned, but hidden files are shown."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2737
+#: ../src/guestfs-actions.pod:2885
 msgid ""
 "This command is mostly useful for interactive sessions.  Programs should "
 "probably use C<guestfs_readdir> instead."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2744
+#: ../src/guestfs-actions.pod:2892
 msgid "guestfs_lsetxattr"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2746
+#: ../src/guestfs-actions.pod:2894
 #, no-wrap
 msgid ""
-" int guestfs_lsetxattr (guestfs_h *g,\n"
-"\t\tconst char *xattr,\n"
-"\t\tconst char *val,\n"
-"\t\tint vallen,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_lsetxattr (guestfs_h *g,\n"
+"                    const char *xattr,\n"
+"                    const char *val,\n"
+"                    int vallen,\n"
+"                    const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2752
+#: ../src/guestfs-actions.pod:2901
 msgid ""
 "This is the same as C<guestfs_setxattr>, but if C<path> is a symbolic link, "
 "then it sets an extended attribute of the link itself."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2758
+#: ../src/guestfs-actions.pod:2907
 msgid "guestfs_lstat"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2760
+#: ../src/guestfs-actions.pod:2909
 #, no-wrap
 msgid ""
-" struct guestfs_stat *guestfs_lstat (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" struct guestfs_stat *\n"
+" guestfs_lstat (guestfs_h *g,\n"
+"                const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2763 ../src/guestfs-actions.pod:4839
+#: ../src/guestfs-actions.pod:2913 ../src/guestfs-actions.pod:5108
 #: ../fish/guestfish-actions.pod:2170 ../fish/guestfish-actions.pod:3752
 msgid "Returns file information for the given C<path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2765
+#: ../src/guestfs-actions.pod:2915
 msgid ""
 "This is the same as C<guestfs_stat> except that if C<path> is a symbolic "
 "link, then the link is stat-ed, not the file it refers to."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2769 ../fish/guestfish-actions.pod:2176
+#: ../src/guestfs-actions.pod:2919 ../fish/guestfish-actions.pod:2176
 msgid "This is the same as the C<lstat(2)> system call."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2771 ../src/guestfs-actions.pod:4843
+#: ../src/guestfs-actions.pod:2921 ../src/guestfs-actions.pod:5112
 msgid ""
 "This function returns a C<struct guestfs_stat *>, or NULL if there was an "
 "error.  I<The caller must call C<guestfs_free_stat> after use>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2775
+#: ../src/guestfs-actions.pod:2925
 msgid "guestfs_lstatlist"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2777
+#: ../src/guestfs-actions.pod:2927
 #, no-wrap
 msgid ""
-" struct guestfs_stat_list *guestfs_lstatlist (guestfs_h *g,\n"
-"\t\tconst char *path,\n"
-"\t\tchar *const *names);\n"
+" struct guestfs_stat_list *\n"
+" guestfs_lstatlist (guestfs_h *g,\n"
+"                    const char *path,\n"
+"                    char *const *names);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2781
+#: ../src/guestfs-actions.pod:2932
 msgid ""
 "This call allows you to perform the C<guestfs_lstat> operation on multiple "
 "files, where all files are in the directory C<path>.  C<names> is the list "
@@ -9037,7 +9308,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2785 ../fish/guestfish-actions.pod:2186
+#: ../src/guestfs-actions.pod:2936 ../fish/guestfish-actions.pod:2186
 msgid ""
 "On return you get a list of stat structs, with a one-to-one correspondence "
 "to the C<names> list.  If any name did not exist or could not be lstat'd, "
@@ -9045,7 +9316,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2790
+#: ../src/guestfs-actions.pod:2941
 msgid ""
 "This call is intended for programs that want to efficiently list a directory "
 "contents without making many round-trips.  See also C<guestfs_lxattrlist> "
@@ -9056,7 +9327,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2798
+#: ../src/guestfs-actions.pod:2949
 msgid ""
 "This function returns a C<struct guestfs_stat_list *> (see E<lt>guestfs-"
 "structs.hE<gt>), or NULL if there was an error.  I<The caller must call "
@@ -9064,24 +9335,25 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2803
+#: ../src/guestfs-actions.pod:2954
 msgid "guestfs_luks_add_key"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2805
+#: ../src/guestfs-actions.pod:2956
 #, no-wrap
 msgid ""
-" int guestfs_luks_add_key (guestfs_h *g,\n"
-"\t\tconst char *device,\n"
-"\t\tconst char *key,\n"
-"\t\tconst char *newkey,\n"
-"\t\tint keyslot);\n"
+" int\n"
+" guestfs_luks_add_key (guestfs_h *g,\n"
+"                       const char *device,\n"
+"                       const char *key,\n"
+"                       const char *newkey,\n"
+"                       int keyslot);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2811 ../fish/guestfish-actions.pod:2203
+#: ../src/guestfs-actions.pod:2963 ../fish/guestfish-actions.pod:2203
 msgid ""
 "This command adds a new key on LUKS device C<device>.  C<key> is any "
 "existing key, and is used to access the device.  C<newkey> is the new key to "
@@ -9089,16 +9361,16 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2816
+#: ../src/guestfs-actions.pod:2968
 msgid ""
 "Note that if C<keyslot> already contains a key, then this command will "
 "fail.  You have to use C<guestfs_luks_kill_slot> first to remove that key."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2822 ../src/guestfs-actions.pod:2856
-#: ../src/guestfs-actions.pod:2876 ../src/guestfs-actions.pod:2893
-#: ../src/guestfs-actions.pod:2922 ../src/guestfs-actions.pod:2938
+#: ../src/guestfs-actions.pod:2974 ../src/guestfs-actions.pod:3010
+#: ../src/guestfs-actions.pod:3031 ../src/guestfs-actions.pod:3049
+#: ../src/guestfs-actions.pod:3079 ../src/guestfs-actions.pod:3096
 msgid ""
 "This function takes a key or passphrase parameter which could contain "
 "sensitive material.  Read the section L</KEYS AND PASSPHRASES> for more "
@@ -9106,21 +9378,22 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2826
+#: ../src/guestfs-actions.pod:2978
 msgid "guestfs_luks_close"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2828
+#: ../src/guestfs-actions.pod:2980
 #, no-wrap
 msgid ""
-" int guestfs_luks_close (guestfs_h *g,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_luks_close (guestfs_h *g,\n"
+"                     const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2831
+#: ../src/guestfs-actions.pod:2984
 msgid ""
 "This closes a LUKS device that was created earlier by C<guestfs_luks_open> "
 "or C<guestfs_luks_open_ro>.  The C<device> parameter must be the name of the "
@@ -9129,23 +9402,24 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2839
+#: ../src/guestfs-actions.pod:2992
 msgid "guestfs_luks_format"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2841
+#: ../src/guestfs-actions.pod:2994
 #, no-wrap
 msgid ""
-" int guestfs_luks_format (guestfs_h *g,\n"
-"\t\tconst char *device,\n"
-"\t\tconst char *key,\n"
-"\t\tint keyslot);\n"
+" int\n"
+" guestfs_luks_format (guestfs_h *g,\n"
+"                      const char *device,\n"
+"                      const char *key,\n"
+"                      int keyslot);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2846 ../fish/guestfish-actions.pod:2229
+#: ../src/guestfs-actions.pod:3000 ../fish/guestfish-actions.pod:2229
 msgid ""
 "This command erases existing data on C<device> and formats the device as a "
 "LUKS encrypted device.  C<key> is the initial key, which is added to key "
@@ -9153,11 +9427,11 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2853 ../src/guestfs-actions.pod:2873
-#: ../src/guestfs-actions.pod:2992 ../src/guestfs-actions.pod:3719
-#: ../src/guestfs-actions.pod:4380 ../src/guestfs-actions.pod:4701
-#: ../src/guestfs-actions.pod:4721 ../src/guestfs-actions.pod:4744
-#: ../src/guestfs-actions.pod:5709 ../fish/guestfish-actions.pod:2237
+#: ../src/guestfs-actions.pod:3007 ../src/guestfs-actions.pod:3028
+#: ../src/guestfs-actions.pod:3154 ../src/guestfs-actions.pod:3926
+#: ../src/guestfs-actions.pod:4622 ../src/guestfs-actions.pod:4961
+#: ../src/guestfs-actions.pod:4982 ../src/guestfs-actions.pod:5006
+#: ../src/guestfs-actions.pod:6033 ../fish/guestfish-actions.pod:2237
 #: ../fish/guestfish-actions.pod:2250 ../fish/guestfish-actions.pod:2334
 #: ../fish/guestfish-actions.pod:2864 ../fish/guestfish-actions.pod:3371
 #: ../fish/guestfish-actions.pod:3651 ../fish/guestfish-actions.pod:3667
@@ -9168,89 +9442,92 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2860
+#: ../src/guestfs-actions.pod:3014
 msgid "guestfs_luks_format_cipher"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2862
+#: ../src/guestfs-actions.pod:3016
 #, no-wrap
 msgid ""
-" int guestfs_luks_format_cipher (guestfs_h *g,\n"
-"\t\tconst char *device,\n"
-"\t\tconst char *key,\n"
-"\t\tint keyslot,\n"
-"\t\tconst char *cipher);\n"
+" int\n"
+" guestfs_luks_format_cipher (guestfs_h *g,\n"
+"                             const char *device,\n"
+"                             const char *key,\n"
+"                             int keyslot,\n"
+"                             const char *cipher);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2868
+#: ../src/guestfs-actions.pod:3023
 msgid ""
 "This command is the same as C<guestfs_luks_format> but it also allows you to "
 "set the C<cipher> used."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2880
+#: ../src/guestfs-actions.pod:3035
 msgid "guestfs_luks_kill_slot"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2882
+#: ../src/guestfs-actions.pod:3037
 #, no-wrap
 msgid ""
-" int guestfs_luks_kill_slot (guestfs_h *g,\n"
-"\t\tconst char *device,\n"
-"\t\tconst char *key,\n"
-"\t\tint keyslot);\n"
+" int\n"
+" guestfs_luks_kill_slot (guestfs_h *g,\n"
+"                         const char *device,\n"
+"                         const char *key,\n"
+"                         int keyslot);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2887 ../fish/guestfish-actions.pod:2257
+#: ../src/guestfs-actions.pod:3043 ../fish/guestfish-actions.pod:2257
 msgid ""
 "This command deletes the key in key slot C<keyslot> from the encrypted LUKS "
 "device C<device>.  C<key> must be one of the I<other> keys."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2897
+#: ../src/guestfs-actions.pod:3053
 msgid "guestfs_luks_open"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2899
+#: ../src/guestfs-actions.pod:3055
 #, no-wrap
 msgid ""
-" int guestfs_luks_open (guestfs_h *g,\n"
-"\t\tconst char *device,\n"
-"\t\tconst char *key,\n"
-"\t\tconst char *mapname);\n"
+" int\n"
+" guestfs_luks_open (guestfs_h *g,\n"
+"                    const char *device,\n"
+"                    const char *key,\n"
+"                    const char *mapname);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2904 ../fish/guestfish-actions.pod:2268
+#: ../src/guestfs-actions.pod:3061 ../fish/guestfish-actions.pod:2268
 msgid ""
 "This command opens a block device which has been encrypted according to the "
 "Linux Unified Key Setup (LUKS) standard."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2907 ../fish/guestfish-actions.pod:2271
+#: ../src/guestfs-actions.pod:3064 ../fish/guestfish-actions.pod:2271
 msgid "C<device> is the encrypted block device or partition."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2909 ../fish/guestfish-actions.pod:2273
+#: ../src/guestfs-actions.pod:3066 ../fish/guestfish-actions.pod:2273
 msgid ""
 "The caller must supply one of the keys associated with the LUKS block "
 "device, in the C<key> parameter."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2912 ../fish/guestfish-actions.pod:2276
+#: ../src/guestfs-actions.pod:3069 ../fish/guestfish-actions.pod:2276
 msgid ""
 "This creates a new block device called C</dev/mapper/mapname>.  Reads and "
 "writes to this block device are decrypted from and encrypted to the "
@@ -9258,7 +9535,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2916
+#: ../src/guestfs-actions.pod:3073
 msgid ""
 "If this block device contains LVM volume groups, then calling "
 "C<guestfs_vgscan> followed by C<guestfs_vg_activate_all> will make them "
@@ -9266,67 +9543,70 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2926
+#: ../src/guestfs-actions.pod:3083
 msgid "guestfs_luks_open_ro"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2928
+#: ../src/guestfs-actions.pod:3085
 #, no-wrap
 msgid ""
-" int guestfs_luks_open_ro (guestfs_h *g,\n"
-"\t\tconst char *device,\n"
-"\t\tconst char *key,\n"
-"\t\tconst char *mapname);\n"
+" int\n"
+" guestfs_luks_open_ro (guestfs_h *g,\n"
+"                       const char *device,\n"
+"                       const char *key,\n"
+"                       const char *mapname);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2933
+#: ../src/guestfs-actions.pod:3091
 msgid ""
 "This is the same as C<guestfs_luks_open> except that a read-only mapping is "
 "created."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2942
+#: ../src/guestfs-actions.pod:3100
 msgid "guestfs_lvcreate"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2944
+#: ../src/guestfs-actions.pod:3102
 #, no-wrap
 msgid ""
-" int guestfs_lvcreate (guestfs_h *g,\n"
-"\t\tconst char *logvol,\n"
-"\t\tconst char *volgroup,\n"
-"\t\tint mbytes);\n"
+" int\n"
+" guestfs_lvcreate (guestfs_h *g,\n"
+"                   const char *logvol,\n"
+"                   const char *volgroup,\n"
+"                   int mbytes);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2949 ../fish/guestfish-actions.pod:2301
+#: ../src/guestfs-actions.pod:3108 ../fish/guestfish-actions.pod:2301
 msgid ""
 "This creates an LVM logical volume called C<logvol> on the volume group "
 "C<volgroup>, with C<size> megabytes."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2954
+#: ../src/guestfs-actions.pod:3113
 msgid "guestfs_lvm_canonical_lv_name"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2956
+#: ../src/guestfs-actions.pod:3115
 #, no-wrap
 msgid ""
-" char *guestfs_lvm_canonical_lv_name (guestfs_h *g,\n"
-"\t\tconst char *lvname);\n"
+" char *\n"
+" guestfs_lvm_canonical_lv_name (guestfs_h *g,\n"
+"                                const char *lvname);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2959 ../fish/guestfish-actions.pod:2308
+#: ../src/guestfs-actions.pod:3119 ../fish/guestfish-actions.pod:2308
 msgid ""
 "This converts alternative naming schemes for LVs that you might find to the "
 "canonical name.  For example, C</dev/mapper/VG-LV> is converted to C</dev/VG/"
@@ -9334,80 +9614,83 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2963 ../fish/guestfish-actions.pod:2312
+#: ../src/guestfs-actions.pod:3123 ../fish/guestfish-actions.pod:2312
 msgid ""
 "This command returns an error if the C<lvname> parameter does not refer to a "
 "logical volume."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2966
+#: ../src/guestfs-actions.pod:3126
 msgid "See also C<guestfs_is_lv>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2971
+#: ../src/guestfs-actions.pod:3131
 msgid "guestfs_lvm_clear_filter"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2973
+#: ../src/guestfs-actions.pod:3133
 #, no-wrap
 msgid ""
-" int guestfs_lvm_clear_filter (guestfs_h *g);\n"
+" int\n"
+" guestfs_lvm_clear_filter (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2975
+#: ../src/guestfs-actions.pod:3136
 msgid ""
 "This undoes the effect of C<guestfs_lvm_set_filter>.  LVM will be able to "
 "see every block device."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2978 ../src/guestfs-actions.pod:3014
+#: ../src/guestfs-actions.pod:3139 ../src/guestfs-actions.pod:3177
 #: ../fish/guestfish-actions.pod:2324 ../fish/guestfish-actions.pod:2355
 msgid ""
 "This command also clears the LVM cache and performs a volume group scan."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2983
+#: ../src/guestfs-actions.pod:3144
 msgid "guestfs_lvm_remove_all"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2985
+#: ../src/guestfs-actions.pod:3146
 #, no-wrap
 msgid ""
-" int guestfs_lvm_remove_all (guestfs_h *g);\n"
+" int\n"
+" guestfs_lvm_remove_all (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2987 ../fish/guestfish-actions.pod:2331
+#: ../src/guestfs-actions.pod:3149 ../fish/guestfish-actions.pod:2331
 msgid ""
 "This command removes all LVM logical volumes, volume groups and physical "
 "volumes."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2995
+#: ../src/guestfs-actions.pod:3157
 msgid "guestfs_lvm_set_filter"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2997
+#: ../src/guestfs-actions.pod:3159
 #, no-wrap
 msgid ""
-" int guestfs_lvm_set_filter (guestfs_h *g,\n"
-"\t\tchar *const *devices);\n"
+" int\n"
+" guestfs_lvm_set_filter (guestfs_h *g,\n"
+"                         char *const *devices);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3000 ../fish/guestfish-actions.pod:2341
+#: ../src/guestfs-actions.pod:3163 ../fish/guestfish-actions.pod:2341
 msgid ""
 "This sets the LVM device filter so that LVM will only be able to \"see\" the "
 "block devices in the list C<devices>, and will ignore all other attached "
@@ -9415,7 +9698,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3004 ../fish/guestfish-actions.pod:2345
+#: ../src/guestfs-actions.pod:3167 ../fish/guestfish-actions.pod:2345
 msgid ""
 "Where disk image(s) contain duplicate PVs or VGs, this command is useful to "
 "get LVM to ignore the duplicates, otherwise LVM can get confused.  Note also "
@@ -9427,104 +9710,108 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3017 ../fish/guestfish-actions.pod:2358
+#: ../src/guestfs-actions.pod:3180 ../fish/guestfish-actions.pod:2358
 msgid "You can filter whole block devices or individual partitions."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3019 ../fish/guestfish-actions.pod:2360
+#: ../src/guestfs-actions.pod:3182 ../fish/guestfish-actions.pod:2360
 msgid ""
 "You cannot use this if any VG is currently in use (eg.  contains a mounted "
 "filesystem), even if you are not filtering out that VG."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3025
+#: ../src/guestfs-actions.pod:3188
 msgid "guestfs_lvremove"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3027
+#: ../src/guestfs-actions.pod:3190
 #, no-wrap
 msgid ""
-" int guestfs_lvremove (guestfs_h *g,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_lvremove (guestfs_h *g,\n"
+"                   const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3030 ../fish/guestfish-actions.pod:2368
+#: ../src/guestfs-actions.pod:3194 ../fish/guestfish-actions.pod:2368
 msgid ""
 "Remove an LVM logical volume C<device>, where C<device> is the path to the "
 "LV, such as C</dev/VG/LV>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3033 ../fish/guestfish-actions.pod:2371
+#: ../src/guestfs-actions.pod:3197 ../fish/guestfish-actions.pod:2371
 msgid ""
 "You can also remove all LVs in a volume group by specifying the VG name, C</"
 "dev/VG>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3038
+#: ../src/guestfs-actions.pod:3202
 msgid "guestfs_lvrename"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3040
+#: ../src/guestfs-actions.pod:3204
 #, no-wrap
 msgid ""
-" int guestfs_lvrename (guestfs_h *g,\n"
-"\t\tconst char *logvol,\n"
-"\t\tconst char *newlogvol);\n"
+" int\n"
+" guestfs_lvrename (guestfs_h *g,\n"
+"                   const char *logvol,\n"
+"                   const char *newlogvol);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3044 ../fish/guestfish-actions.pod:2378
+#: ../src/guestfs-actions.pod:3209 ../fish/guestfish-actions.pod:2378
 msgid "Rename a logical volume C<logvol> with the new name C<newlogvol>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3048
+#: ../src/guestfs-actions.pod:3213
 msgid "guestfs_lvresize"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3050
+#: ../src/guestfs-actions.pod:3215
 #, no-wrap
 msgid ""
-" int guestfs_lvresize (guestfs_h *g,\n"
-"\t\tconst char *device,\n"
-"\t\tint mbytes);\n"
+" int\n"
+" guestfs_lvresize (guestfs_h *g,\n"
+"                   const char *device,\n"
+"                   int mbytes);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3054 ../fish/guestfish-actions.pod:2384
+#: ../src/guestfs-actions.pod:3220 ../fish/guestfish-actions.pod:2384
 msgid ""
 "This resizes (expands or shrinks) an existing LVM logical volume to "
 "C<mbytes>.  When reducing, data in the reduced part is lost."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3060
+#: ../src/guestfs-actions.pod:3226
 msgid "guestfs_lvresize_free"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3062
+#: ../src/guestfs-actions.pod:3228
 #, no-wrap
 msgid ""
-" int guestfs_lvresize_free (guestfs_h *g,\n"
-"\t\tconst char *lv,\n"
-"\t\tint percent);\n"
+" int\n"
+" guestfs_lvresize_free (guestfs_h *g,\n"
+"                        const char *lv,\n"
+"                        int percent);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3066 ../fish/guestfish-actions.pod:2392
+#: ../src/guestfs-actions.pod:3233 ../fish/guestfish-actions.pod:2392
 msgid ""
 "This expands an existing logical volume C<lv> so that it fills C<pc>% of the "
 "remaining free space in the volume group.  Commonly you would call this with "
@@ -9533,59 +9820,61 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3074
+#: ../src/guestfs-actions.pod:3241
 msgid "guestfs_lvs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3076
+#: ../src/guestfs-actions.pod:3243
 #, no-wrap
 msgid ""
-" char **guestfs_lvs (guestfs_h *g);\n"
+" char **\n"
+" guestfs_lvs (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3078 ../fish/guestfish-actions.pod:2402
+#: ../src/guestfs-actions.pod:3246 ../fish/guestfish-actions.pod:2402
 msgid ""
 "List all the logical volumes detected.  This is the equivalent of the L<lvs"
 "(8)> command."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3081 ../fish/guestfish-actions.pod:2405
+#: ../src/guestfs-actions.pod:3249 ../fish/guestfish-actions.pod:2405
 msgid ""
 "This returns a list of the logical volume device names (eg. C</dev/"
 "VolGroup00/LogVol00>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3084
+#: ../src/guestfs-actions.pod:3252
 msgid "See also C<guestfs_lvs_full>, C<guestfs_list_filesystems>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3090
+#: ../src/guestfs-actions.pod:3258
 msgid "guestfs_lvs_full"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3092
+#: ../src/guestfs-actions.pod:3260
 #, no-wrap
 msgid ""
-" struct guestfs_lvm_lv_list *guestfs_lvs_full (guestfs_h *g);\n"
+" struct guestfs_lvm_lv_list *\n"
+" guestfs_lvs_full (guestfs_h *g);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3094 ../fish/guestfish-actions.pod:2414
+#: ../src/guestfs-actions.pod:3263 ../fish/guestfish-actions.pod:2414
 msgid ""
 "List all the logical volumes detected.  This is the equivalent of the L<lvs"
 "(8)> command.  The \"full\" version includes all fields."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3097
+#: ../src/guestfs-actions.pod:3266
 msgid ""
 "This function returns a C<struct guestfs_lvm_lv_list *> (see E<lt>guestfs-"
 "structs.hE<gt>), or NULL if there was an error.  I<The caller must call "
@@ -9593,41 +9882,43 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3102
+#: ../src/guestfs-actions.pod:3271
 msgid "guestfs_lvuuid"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3104
+#: ../src/guestfs-actions.pod:3273
 #, no-wrap
 msgid ""
-" char *guestfs_lvuuid (guestfs_h *g,\n"
-"\t\tconst char *device);\n"
+" char *\n"
+" guestfs_lvuuid (guestfs_h *g,\n"
+"                 const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3107 ../fish/guestfish-actions.pod:2421
+#: ../src/guestfs-actions.pod:3277 ../fish/guestfish-actions.pod:2421
 msgid "This command returns the UUID of the LVM LV C<device>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3112
+#: ../src/guestfs-actions.pod:3282
 msgid "guestfs_lxattrlist"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3114
+#: ../src/guestfs-actions.pod:3284
 #, no-wrap
 msgid ""
-" struct guestfs_xattr_list *guestfs_lxattrlist (guestfs_h *g,\n"
-"\t\tconst char *path,\n"
-"\t\tchar *const *names);\n"
+" struct guestfs_xattr_list *\n"
+" guestfs_lxattrlist (guestfs_h *g,\n"
+"                     const char *path,\n"
+"                     char *const *names);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3118 ../fish/guestfish-actions.pod:2427
+#: ../src/guestfs-actions.pod:3289 ../fish/guestfish-actions.pod:2427
 msgid ""
 "This call allows you to get the extended attributes of multiple files, where "
 "all files are in the directory C<path>.  C<names> is the list of files from "
@@ -9635,7 +9926,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3122 ../fish/guestfish-actions.pod:2431
+#: ../src/guestfs-actions.pod:3293 ../fish/guestfish-actions.pod:2431
 msgid ""
 "On return you get a flat list of xattr structs which must be interpreted "
 "sequentially.  The first xattr struct always has a zero-length C<attrname>.  "
@@ -9647,7 +9938,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3132
+#: ../src/guestfs-actions.pod:3303
 msgid ""
 "This call is intended for programs that want to efficiently list a directory "
 "contents without making many round-trips.  See also C<guestfs_lstatlist> for "
@@ -9658,48 +9949,50 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3145
+#: ../src/guestfs-actions.pod:3316
 msgid "guestfs_mkdir"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3147
+#: ../src/guestfs-actions.pod:3318
 #, no-wrap
 msgid ""
-" int guestfs_mkdir (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_mkdir (guestfs_h *g,\n"
+"                const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3150 ../fish/guestfish-actions.pod:2453
+#: ../src/guestfs-actions.pod:3322 ../fish/guestfish-actions.pod:2453
 msgid "Create a directory named C<path>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3154
+#: ../src/guestfs-actions.pod:3326
 msgid "guestfs_mkdir_mode"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3156
+#: ../src/guestfs-actions.pod:3328
 #, no-wrap
 msgid ""
-" int guestfs_mkdir_mode (guestfs_h *g,\n"
-"\t\tconst char *path,\n"
-"\t\tint mode);\n"
+" int\n"
+" guestfs_mkdir_mode (guestfs_h *g,\n"
+"                     const char *path,\n"
+"                     int mode);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3160 ../fish/guestfish-actions.pod:2459
+#: ../src/guestfs-actions.pod:3333 ../fish/guestfish-actions.pod:2459
 msgid ""
 "This command creates a directory, setting the initial permissions of the "
 "directory to C<mode>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3163 ../fish/guestfish-actions.pod:2462
+#: ../src/guestfs-actions.pod:3336 ../fish/guestfish-actions.pod:2462
 msgid ""
 "For common Linux filesystems, the actual mode which is set will be C<mode & "
 "~umask & 01777>.  Non-native-Linux filesystems may interpret the mode in "
@@ -9707,47 +10000,49 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3167
+#: ../src/guestfs-actions.pod:3340
 msgid "See also C<guestfs_mkdir>, C<guestfs_umask>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3171
+#: ../src/guestfs-actions.pod:3344
 msgid "guestfs_mkdir_p"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3173
+#: ../src/guestfs-actions.pod:3346
 #, no-wrap
 msgid ""
-" int guestfs_mkdir_p (guestfs_h *g,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_mkdir_p (guestfs_h *g,\n"
+"                  const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3176 ../fish/guestfish-actions.pod:2472
+#: ../src/guestfs-actions.pod:3350 ../fish/guestfish-actions.pod:2472
 msgid ""
 "Create a directory named C<path>, creating any parent directories as "
 "necessary.  This is like the C<mkdir -p> shell command."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3181
+#: ../src/guestfs-actions.pod:3355
 msgid "guestfs_mkdtemp"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3183
+#: ../src/guestfs-actions.pod:3357
 #, no-wrap
 msgid ""
-" char *guestfs_mkdtemp (guestfs_h *g,\n"
-"\t\tconst char *template);\n"
+" char *\n"
+" guestfs_mkdtemp (guestfs_h *g,\n"
+"                  const char *template);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3186 ../fish/guestfish-actions.pod:2479
+#: ../src/guestfs-actions.pod:3361 ../fish/guestfish-actions.pod:2479
 msgid ""
 "This command creates a temporary directory.  The C<template> parameter "
 "should be a full pathname for the temporary directory name with the final "
@@ -9755,60 +10050,61 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3191 ../fish/guestfish-actions.pod:2484
+#: ../src/guestfs-actions.pod:3366 ../fish/guestfish-actions.pod:2484
 msgid ""
 "For example: \"/tmp/myprogXXXXXX\" or \"/Temp/myprogXXXXXX\", the second one "
 "being suitable for Windows filesystems."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3194 ../fish/guestfish-actions.pod:2487
+#: ../src/guestfs-actions.pod:3369 ../fish/guestfish-actions.pod:2487
 msgid "The name of the temporary directory that was created is returned."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3197 ../fish/guestfish-actions.pod:2490
+#: ../src/guestfs-actions.pod:3372 ../fish/guestfish-actions.pod:2490
 msgid "The temporary directory is created with mode 0700 and is owned by root."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3200 ../fish/guestfish-actions.pod:2493
+#: ../src/guestfs-actions.pod:3375 ../fish/guestfish-actions.pod:2493
 msgid ""
 "The caller is responsible for deleting the temporary directory and its "
 "contents after use."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3203 ../fish/guestfish-actions.pod:2496
+#: ../src/guestfs-actions.pod:3378 ../fish/guestfish-actions.pod:2496
 msgid "See also: L<mkdtemp(3)>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3208
+#: ../src/guestfs-actions.pod:3383
 msgid "guestfs_mke2fs_J"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3210
+#: ../src/guestfs-actions.pod:3385
 #, no-wrap
 msgid ""
-" int guestfs_mke2fs_J (guestfs_h *g,\n"
-"\t\tconst char *fstype,\n"
-"\t\tint blocksize,\n"
-"\t\tconst char *device,\n"
-"\t\tconst char *journal);\n"
+" int\n"
+" guestfs_mke2fs_J (guestfs_h *g,\n"
+"                   const char *fstype,\n"
+"                   int blocksize,\n"
+"                   const char *device,\n"
+"                   const char *journal);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3216 ../fish/guestfish-actions.pod:2502
+#: ../src/guestfs-actions.pod:3392 ../fish/guestfish-actions.pod:2502
 msgid ""
 "This creates an ext2/3/4 filesystem on C<device> with an external journal on "
 "C<journal>.  It is equivalent to the command:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3220 ../fish/guestfish-actions.pod:2506
+#: ../src/guestfs-actions.pod:3396 ../fish/guestfish-actions.pod:2506
 #, no-wrap
 msgid ""
 " mke2fs -t fstype -b blocksize -J device=<journal> <device>\n"
@@ -9816,92 +10112,95 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3222
+#: ../src/guestfs-actions.pod:3398
 msgid "See also C<guestfs_mke2journal>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3226
+#: ../src/guestfs-actions.pod:3402
 msgid "guestfs_mke2fs_JL"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3228
+#: ../src/guestfs-actions.pod:3404
 #, no-wrap
 msgid ""
-" int guestfs_mke2fs_JL (guestfs_h *g,\n"
-"\t\tconst char *fstype,\n"
-"\t\tint blocksize,\n"
-"\t\tconst char *device,\n"
-"\t\tconst char *label);\n"
+" int\n"
+" guestfs_mke2fs_JL (guestfs_h *g,\n"
+"                    const char *fstype,\n"
+"                    int blocksize,\n"
+"                    const char *device,\n"
+"                    const char *label);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3234 ../fish/guestfish-actions.pod:2514
+#: ../src/guestfs-actions.pod:3411 ../fish/guestfish-actions.pod:2514
 msgid ""
 "This creates an ext2/3/4 filesystem on C<device> with an external journal on "
 "the journal labeled C<label>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3237
+#: ../src/guestfs-actions.pod:3414
 msgid "See also C<guestfs_mke2journal_L>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3241
+#: ../src/guestfs-actions.pod:3418
 msgid "guestfs_mke2fs_JU"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3243
+#: ../src/guestfs-actions.pod:3420
 #, no-wrap
 msgid ""
-" int guestfs_mke2fs_JU (guestfs_h *g,\n"
-"\t\tconst char *fstype,\n"
-"\t\tint blocksize,\n"
-"\t\tconst char *device,\n"
-"\t\tconst char *uuid);\n"
+" int\n"
+" guestfs_mke2fs_JU (guestfs_h *g,\n"
+"                    const char *fstype,\n"
+"                    int blocksize,\n"
+"                    const char *device,\n"
+"                    const char *uuid);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3249 ../fish/guestfish-actions.pod:2523
+#: ../src/guestfs-actions.pod:3427 ../fish/guestfish-actions.pod:2523
 msgid ""
 "This creates an ext2/3/4 filesystem on C<device> with an external journal on "
 "the journal with UUID C<uuid>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3252
+#: ../src/guestfs-actions.pod:3430
 msgid "See also C<guestfs_mke2journal_U>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3256
+#: ../src/guestfs-actions.pod:3434
 msgid "guestfs_mke2journal"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3258
+#: ../src/guestfs-actions.pod:3436
 #, no-wrap
 msgid ""
-" int guestfs_mke2journal (guestfs_h *g,\n"
-"\t\tint blocksize,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_mke2journal (guestfs_h *g,\n"
+"                      int blocksize,\n"
+"                      const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3262 ../fish/guestfish-actions.pod:2532
+#: ../src/guestfs-actions.pod:3441 ../fish/guestfish-actions.pod:2532
 msgid ""
 "This creates an ext2 external journal on C<device>.  It is equivalent to the "
 "command:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3265 ../fish/guestfish-actions.pod:2535
+#: ../src/guestfs-actions.pod:3444 ../fish/guestfish-actions.pod:2535
 #, no-wrap
 msgid ""
 " mke2fs -O journal_dev -b blocksize device\n"
@@ -9909,109 +10208,114 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3269
+#: ../src/guestfs-actions.pod:3448
 msgid "guestfs_mke2journal_L"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3271
+#: ../src/guestfs-actions.pod:3450
 #, no-wrap
 msgid ""
-" int guestfs_mke2journal_L (guestfs_h *g,\n"
-"\t\tint blocksize,\n"
-"\t\tconst char *label,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_mke2journal_L (guestfs_h *g,\n"
+"                        int blocksize,\n"
+"                        const char *label,\n"
+"                        const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3276 ../fish/guestfish-actions.pod:2541
+#: ../src/guestfs-actions.pod:3456 ../fish/guestfish-actions.pod:2541
 msgid "This creates an ext2 external journal on C<device> with label C<label>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3280
+#: ../src/guestfs-actions.pod:3460
 msgid "guestfs_mke2journal_U"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3282
+#: ../src/guestfs-actions.pod:3462
 #, no-wrap
 msgid ""
-" int guestfs_mke2journal_U (guestfs_h *g,\n"
-"\t\tint blocksize,\n"
-"\t\tconst char *uuid,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_mke2journal_U (guestfs_h *g,\n"
+"                        int blocksize,\n"
+"                        const char *uuid,\n"
+"                        const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3287 ../fish/guestfish-actions.pod:2547
+#: ../src/guestfs-actions.pod:3468 ../fish/guestfish-actions.pod:2547
 msgid "This creates an ext2 external journal on C<device> with UUID C<uuid>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3291
+#: ../src/guestfs-actions.pod:3472
 msgid "guestfs_mkfifo"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3293
+#: ../src/guestfs-actions.pod:3474
 #, no-wrap
 msgid ""
-" int guestfs_mkfifo (guestfs_h *g,\n"
-"\t\tint mode,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_mkfifo (guestfs_h *g,\n"
+"                 int mode,\n"
+"                 const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3297
+#: ../src/guestfs-actions.pod:3479
 msgid ""
 "This call creates a FIFO (named pipe) called C<path> with mode C<mode>.  It "
 "is just a convenient wrapper around C<guestfs_mknod>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3305
+#: ../src/guestfs-actions.pod:3487
 msgid "guestfs_mkfs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3307
+#: ../src/guestfs-actions.pod:3489
 #, no-wrap
 msgid ""
-" int guestfs_mkfs (guestfs_h *g,\n"
-"\t\tconst char *fstype,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_mkfs (guestfs_h *g,\n"
+"               const char *fstype,\n"
+"               const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3311 ../fish/guestfish-actions.pod:2563
+#: ../src/guestfs-actions.pod:3494 ../fish/guestfish-actions.pod:2563
 msgid ""
 "This creates a filesystem on C<device> (usually a partition or LVM logical "
 "volume).  The filesystem type is C<fstype>, for example C<ext3>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3317
+#: ../src/guestfs-actions.pod:3500
 msgid "guestfs_mkfs_b"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3319
+#: ../src/guestfs-actions.pod:3502
 #, no-wrap
 msgid ""
-" int guestfs_mkfs_b (guestfs_h *g,\n"
-"\t\tconst char *fstype,\n"
-"\t\tint blocksize,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_mkfs_b (guestfs_h *g,\n"
+"                 const char *fstype,\n"
+"                 int blocksize,\n"
+"                 const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3324
+#: ../src/guestfs-actions.pod:3508
 msgid ""
 "This call is similar to C<guestfs_mkfs>, but it allows you to control the "
 "block size of the resulting filesystem.  Supported block sizes depend on the "
@@ -10019,28 +10323,29 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3329 ../fish/guestfish-actions.pod:2576
+#: ../src/guestfs-actions.pod:3513 ../fish/guestfish-actions.pod:2576
 msgid ""
 "For VFAT and NTFS the C<blocksize> parameter is treated as the requested "
 "cluster size."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3334
+#: ../src/guestfs-actions.pod:3518
 msgid "guestfs_mkmountpoint"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3336
+#: ../src/guestfs-actions.pod:3520
 #, no-wrap
 msgid ""
-" int guestfs_mkmountpoint (guestfs_h *g,\n"
-"\t\tconst char *exemptpath);\n"
+" int\n"
+" guestfs_mkmountpoint (guestfs_h *g,\n"
+"                       const char *exemptpath);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3339
+#: ../src/guestfs-actions.pod:3524
 msgid ""
 "C<guestfs_mkmountpoint> and C<guestfs_rmmountpoint> are specialized calls "
 "that can be used to create extra mountpoints before mounting the first "
@@ -10048,7 +10353,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3343 ../fish/guestfish-actions.pod:2587
+#: ../src/guestfs-actions.pod:3528 ../fish/guestfish-actions.pod:2587
 msgid ""
 "These calls are I<only> necessary in some very limited circumstances, mainly "
 "the case where you want to mount a mix of unrelated and/or read-only "
@@ -10056,7 +10361,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3347 ../fish/guestfish-actions.pod:2591
+#: ../src/guestfs-actions.pod:3532 ../fish/guestfish-actions.pod:2591
 msgid ""
 "For example, live CDs often contain a \"Russian doll\" nest of filesystems, "
 "an ISO outer layer, with a squashfs image inside, with an ext2/3 image "
@@ -10064,7 +10369,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3352 ../fish/guestfish-actions.pod:2596
+#: ../src/guestfs-actions.pod:3537 ../fish/guestfish-actions.pod:2596
 #, no-wrap
 msgid ""
 " add-ro Fedora-11-i686-Live.iso\n"
@@ -10079,12 +10384,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3361 ../fish/guestfish-actions.pod:2605
+#: ../src/guestfs-actions.pod:3546 ../fish/guestfish-actions.pod:2605
 msgid "The inner filesystem is now unpacked under the /ext3fs mountpoint."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3363
+#: ../src/guestfs-actions.pod:3548
 msgid ""
 "C<guestfs_mkmountpoint> is not compatible with C<guestfs_umount_all>.  You "
 "may get unexpected errors if you try to mix these calls.  It is safest to "
@@ -10092,7 +10397,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3367
+#: ../src/guestfs-actions.pod:3552
 msgid ""
 "C<guestfs_umount_all> unmounts filesystems by sorting the paths longest "
 "first, so for this to work for manual mountpoints, you must ensure that the "
@@ -10101,13 +10406,13 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3372 ../fish/guestfish-actions.pod:2616
+#: ../src/guestfs-actions.pod:3557 ../fish/guestfish-actions.pod:2616
 msgid ""
 "For more details see L<https://bugzilla.redhat.com/show_bug.cgi?id=599503>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3374
+#: ../src/guestfs-actions.pod:3559
 msgid ""
 "Autosync [see C<guestfs_set_autosync>, this is set by default on handles] "
 "means that C<guestfs_umount_all> is called when the handle is closed which "
@@ -10115,30 +10420,31 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3380
+#: ../src/guestfs-actions.pod:3565
 msgid "guestfs_mknod"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3382
+#: ../src/guestfs-actions.pod:3567
 #, no-wrap
 msgid ""
-" int guestfs_mknod (guestfs_h *g,\n"
-"\t\tint mode,\n"
-"\t\tint devmajor,\n"
-"\t\tint devminor,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_mknod (guestfs_h *g,\n"
+"                int mode,\n"
+"                int devmajor,\n"
+"                int devminor,\n"
+"                const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3388 ../fish/guestfish-actions.pod:2626
+#: ../src/guestfs-actions.pod:3574 ../fish/guestfish-actions.pod:2626
 msgid ""
 "This call creates block or character special devices, or named pipes (FIFOs)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3391 ../fish/guestfish-actions.pod:2629
+#: ../src/guestfs-actions.pod:3577 ../fish/guestfish-actions.pod:2629
 msgid ""
 "The C<mode> parameter should be the mode, using the standard constants.  "
 "C<devmajor> and C<devminor> are the device major and minor numbers, only "
@@ -10146,7 +10452,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3396
+#: ../src/guestfs-actions.pod:3582
 msgid ""
 "Note that, just like L<mknod(2)>, the mode must be bitwise OR'd with "
 "S_IFBLK, S_IFCHR, S_IFIFO or S_IFSOCK (otherwise this call just creates a "
@@ -10157,24 +10463,25 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3408
+#: ../src/guestfs-actions.pod:3594
 msgid "guestfs_mknod_b"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3410
+#: ../src/guestfs-actions.pod:3596
 #, no-wrap
 msgid ""
-" int guestfs_mknod_b (guestfs_h *g,\n"
-"\t\tint mode,\n"
-"\t\tint devmajor,\n"
-"\t\tint devminor,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_mknod_b (guestfs_h *g,\n"
+"                  int mode,\n"
+"                  int devmajor,\n"
+"                  int devminor,\n"
+"                  const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3416
+#: ../src/guestfs-actions.pod:3603
 msgid ""
 "This call creates a block device node called C<path> with mode C<mode> and "
 "device major/minor C<devmajor> and C<devminor>.  It is just a convenient "
@@ -10182,24 +10489,25 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3424
+#: ../src/guestfs-actions.pod:3611
 msgid "guestfs_mknod_c"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3426
+#: ../src/guestfs-actions.pod:3613
 #, no-wrap
 msgid ""
-" int guestfs_mknod_c (guestfs_h *g,\n"
-"\t\tint mode,\n"
-"\t\tint devmajor,\n"
-"\t\tint devminor,\n"
-"\t\tconst char *path);\n"
+" int\n"
+" guestfs_mknod_c (guestfs_h *g,\n"
+"                  int mode,\n"
+"                  int devmajor,\n"
+"                  int devminor,\n"
+"                  const char *path);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3432
+#: ../src/guestfs-actions.pod:3620
 msgid ""
 "This call creates a char device node called C<path> with mode C<mode> and "
 "device major/minor C<devmajor> and C<devminor>.  It is just a convenient "
@@ -10207,46 +10515,48 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3440
+#: ../src/guestfs-actions.pod:3628
 msgid "guestfs_mkswap"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3442
+#: ../src/guestfs-actions.pod:3630
 #, no-wrap
 msgid ""
-" int guestfs_mkswap (guestfs_h *g,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_mkswap (guestfs_h *g,\n"
+"                 const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3445 ../fish/guestfish-actions.pod:2668
+#: ../src/guestfs-actions.pod:3634 ../fish/guestfish-actions.pod:2668
 msgid "Create a swap partition on C<device>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3449
+#: ../src/guestfs-actions.pod:3638
 msgid "guestfs_mkswap_L"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3451
+#: ../src/guestfs-actions.pod:3640
 #, no-wrap
 msgid ""
-" int guestfs_mkswap_L (guestfs_h *g,\n"
-"\t\tconst char *label,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_mkswap_L (guestfs_h *g,\n"
+"                   const char *label,\n"
+"                   const char *device);\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3455 ../fish/guestfish-actions.pod:2674
+#: ../src/guestfs-actions.pod:3645 ../fish/guestfish-actions.pod:2674
 msgid "Create a swap partition on C<device> with label C<label>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3457 ../fish/guestfish-actions.pod:2676
+#: ../src/guestfs-actions.pod:3647 ../fish/guestfish-actions.pod:2676
 msgid ""
 "Note that you cannot attach a swap label to a block device (eg. C</dev/"
 "sda>), just to a partition.  This appears to be a limitation of the kernel "
@@ -10254,94 +10564,98 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3463
+#: ../src/guestfs-actions.pod:3653
 msgid "guestfs_mkswap_U"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3465
+#: ../src/guestfs-actions.pod:3655
 #, no-wrap
 msgid ""
-" int guestfs_mkswap_U (guestfs_h *g,\n"
-"\t\tconst char *uuid,\n"
-"\t\tconst char *device);\n"
+" int\n"
+" guestfs_mkswap_U (guestfs_h *g,\n"