Version 1.7.6. 1.7.6
authorRichard W.M. Jones <rjones@redhat.com>
Sat, 13 Nov 2010 18:06:28 +0000 (18:06 +0000)
committerRichard W.M. Jones <rjones@redhat.com>
Sat, 13 Nov 2010 18:06:28 +0000 (18:06 +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 3a2b806..a9e994c 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1,5 +1,5 @@
 NOTE: This file is automatically generated from "update-bugs".
-Last updated: 2010-11-12 22:56:07
+Last updated: 2010-11-13 16:19:26
 
 This contains a local list of the bugs that are open against
 libguestfs.  Bugs are tracked in the Red Hat Bugzilla database
@@ -152,9 +152,6 @@ Bugs in NEW or ASSIGNED state are open and waiting for someone to fix.
 652587 NEW https://bugzilla.redhat.com/show_bug.cgi?id=652587
   perl-libguestfs is incorrect sub-package
 
-652796 NEW https://bugzilla.redhat.com/show_bug.cgi?id=652796
-  ruby bindings not installed by 'make install', hence omitted from the binary distribution
-
 501882 ASSIGNED https://bugzilla.redhat.com/show_bug.cgi?id=501882
   /tmp/libguestfs temporary directory is not cleaned up
 
@@ -309,6 +306,9 @@ You can help by testing the fixes.
 646822 MODIFIED https://bugzilla.redhat.com/show_bug.cgi?id=646822
   libguestfs trace mode should not print long binary strings
 
+652796 MODIFIED https://bugzilla.redhat.com/show_bug.cgi?id=652796
+  ruby bindings not installed by 'make install', hence omitted from the binary distribution
+
 --------------------------------------------------
 These bugs are in the VERIFIED state.
 
index 1fe0445..6f2281e 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], [5])
+m4_define([libguestfs_release], [6])
 # extra can be any string
 m4_define([libguestfs_extra],   [])
 
index 4c9920a..6e7b0d0 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-12 22:55+0000\n"
+"POT-Creation-Date: 2010-11-13 16:19+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,14 +778,16 @@ 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: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.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:955
+#: ../src/guestfs.pod:959 ../src/guestfs.pod:963 ../src/guestfs.pod:968
+#: ../src/guestfs.pod:976 ../src/guestfs.pod:995 ../src/guestfs.pod:1003
+#: ../src/guestfs.pod:1025 ../src/guestfs.pod:1029 ../src/guestfs.pod:1033
+#: ../src/guestfs.pod:1037 ../src/guestfs.pod:1041 ../src/guestfs.pod:1045
+#: ../src/guestfs.pod:1519 ../src/guestfs.pod:1524 ../src/guestfs.pod:1528
+#: ../src/guestfs.pod:1638 ../src/guestfs.pod:1643 ../src/guestfs.pod:1647
+#: ../src/guestfs.pod:1991 ../src/guestfs.pod:1997 ../src/guestfs.pod:2002
+#: ../src/guestfs.pod:2008 ../src/guestfs.pod:2115 ../src/guestfs.pod:2119
+#: ../src/guestfs.pod:2123 ../src/guestfs.pod:2127
 #: ../src/guestfs-actions.pod:15 ../src/guestfs-actions.pod:22
 #: ../src/guestfs-actions.pod:569 ../src/guestfs-actions.pod:577
 #: ../src/guestfs-actions.pod:584 ../src/guestfs-actions.pod:591
@@ -879,30 +881,31 @@ msgid ""
 "A secure alternative is to use libguestfs to install a \"firstboot\" script "
 "(a script which runs when the guest next boots normally), and to have this "
 "script run the commands you want in the normal context of the running guest, "
-"network security and so on."
+"network security and so on.  For information about other security issues, "
+"see L</SECURITY>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:411
+#: ../src/guestfs.pod:412
 msgid ""
 "The two main API calls to run commands are L</guestfs_command> and L</"
 "guestfs_sh> (there are also variations)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:414
+#: ../src/guestfs.pod:415
 msgid ""
 "The difference is that L</guestfs_sh> runs commands using the shell, so any "
 "shell globs, redirections, etc will work."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:417
+#: ../src/guestfs.pod:418
 msgid "CONFIGURATION FILES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:419
+#: ../src/guestfs.pod:420
 msgid ""
 "To read and write configuration files in Linux guest filesystems, we "
 "strongly recommend using Augeas.  For example, Augeas understands how to "
@@ -911,7 +914,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:424
+#: ../src/guestfs.pod:425
 msgid ""
 "The main Augeas calls are bound through the C<guestfs_aug_*> APIs.  We don't "
 "document Augeas itself here because there is excellent documentation on the "
@@ -919,7 +922,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:428
+#: ../src/guestfs.pod:429
 msgid ""
 "If you don't want to use Augeas (you fool!) then try calling L</"
 "guestfs_read_lines> to get the file as a list of lines which you can iterate "
@@ -927,29 +930,29 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:432
+#: ../src/guestfs.pod:433
 msgid "SELINUX"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:434
+#: ../src/guestfs.pod:435
 msgid ""
 "We support SELinux guests.  To ensure that labeling happens correctly in "
 "SELinux guests, you need to enable SELinux and load the guest's policy:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:440 ../src/guestfs.pod:953
+#: ../src/guestfs.pod:441 ../src/guestfs.pod:1140 ../src/guestfs.pod:1271
 msgid "1."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:442
+#: ../src/guestfs.pod:443
 msgid "Before launching, do:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:444
+#: ../src/guestfs.pod:445
 #, no-wrap
 msgid ""
 " guestfs_set_selinux (g, 1);\n"
@@ -957,19 +960,19 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:446 ../src/guestfs.pod:957
+#: ../src/guestfs.pod:447 ../src/guestfs.pod:1144 ../src/guestfs.pod:1275
 msgid "2."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:448
+#: ../src/guestfs.pod:449
 msgid ""
 "After mounting the guest's filesystem(s), load the policy.  This is best "
 "done by running the L<load_policy(8)> command in the guest itself:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:452
+#: ../src/guestfs.pod:453
 #, no-wrap
 msgid ""
 " guestfs_sh (g, \"/usr/sbin/load_policy\");\n"
@@ -977,26 +980,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:454
+#: ../src/guestfs.pod:455
 msgid ""
 "(Older versions of C<load_policy> require you to specify the name of the "
 "policy file)."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:457 ../src/guestfs.pod:963
+#: ../src/guestfs.pod:458 ../src/guestfs.pod:1281
 msgid "3."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:459
+#: ../src/guestfs.pod:460
 msgid ""
 "Optionally, set the security context for the API.  The correct security "
 "context to use can only be known by inspecting the guest.  As an example:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:463
+#: ../src/guestfs.pod:464
 #, no-wrap
 msgid ""
 " guestfs_setcon (g, \"unconfined_u:unconfined_r:unconfined_t:s0\");\n"
@@ -1004,24 +1007,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:467
+#: ../src/guestfs.pod:468
 msgid "This will work for running commands and editing existing files."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:469
+#: ../src/guestfs.pod:470
 msgid ""
 "When new files are created, you may need to label them explicitly, for "
 "example by running the external command C<restorecon pathname>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:473
+#: ../src/guestfs.pod:474
 msgid "UMASK"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:475
+#: ../src/guestfs.pod:476
 msgid ""
 "Certain calls are affected by the current file mode creation mask (the "
 "\"umask\").  In particular ones which create files or directories, such as "
@@ -1031,14 +1034,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:481
+#: ../src/guestfs.pod:482
 msgid ""
 "The default umask is C<022>, so files are created with modes such as C<0644> "
 "and directories with C<0755>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:484
+#: ../src/guestfs.pod:485
 msgid ""
 "There are two ways to avoid being affected by umask.  Either set umask to 0 "
 "(call C<guestfs_umask (g, 0)> early after launching).  Or call L</"
@@ -1046,17 +1049,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:488
+#: ../src/guestfs.pod:489
 msgid "For more information about umask, see L<umask(2)>."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:490 ../fish/guestfish.pod:669
+#: ../src/guestfs.pod:491 ../fish/guestfish.pod:669
 msgid "ENCRYPTED DISKS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:492
+#: ../src/guestfs.pod:493
 msgid ""
 "Libguestfs allows you to access Linux guests which have been encrypted using "
 "whole disk encryption that conforms to the Linux Unified Key Setup (LUKS) "
@@ -1065,21 +1068,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:498
+#: ../src/guestfs.pod:499
 msgid ""
 "Use L</guestfs_vfs_type> to identify LUKS-encrypted block devices (it "
 "returns the string C<crypto_LUKS>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:501
+#: ../src/guestfs.pod:502
 msgid ""
 "Then open these devices by calling L</guestfs_luks_open>.  Obviously you "
 "will require the passphrase!"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:504
+#: ../src/guestfs.pod:505
 msgid ""
 "Opening a LUKS device creates a new device mapper device called C</dev/"
 "mapper/mapname> (where C<mapname> is the string you supply to L</"
@@ -1088,7 +1091,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:510
+#: ../src/guestfs.pod:511
 msgid ""
 "LVM volume groups on the device can be made visible by calling L</"
 "guestfs_vgscan> followed by L</guestfs_vg_activate_all>.  The logical volume"
@@ -1096,7 +1099,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:514
+#: ../src/guestfs.pod:515
 msgid ""
 "Use the reverse process to close a LUKS device.  Unmount any logical volumes "
 "on it, deactivate the volume groups by caling C<guestfs_vg_activate (g, 0, "
@@ -1106,12 +1109,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:521
+#: ../src/guestfs.pod:522
 msgid "INSPECTION"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:523
+#: ../src/guestfs.pod:524
 msgid ""
 "Libguestfs has APIs for inspecting an unknown disk image to find out if it "
 "contains operating systems.  (These APIs used to be in a separate Perl-only "
@@ -1121,14 +1124,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:529
+#: ../src/guestfs.pod:530
 msgid ""
 "Add all disks belonging to the unknown virtual machine and call L</"
 "guestfs_launch> in the usual way."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:532
+#: ../src/guestfs.pod:533
 msgid ""
 "Then call L</guestfs_inspect_os>.  This function uses other libguestfs calls "
 "and certain heuristics, and returns a list of operating systems that were "
@@ -1141,7 +1144,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:541
+#: ../src/guestfs.pod:542
 msgid ""
 "For each root, you can then call various C<guestfs_inspect_get_*> functions "
 "to get additional details about that operating system.  For example, call L</"
@@ -1150,7 +1153,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:547
+#: ../src/guestfs.pod:548
 msgid ""
 "Un*x-like and Linux-based operating systems usually consist of several "
 "filesystems which are mounted at boot time (for example, a separate boot "
@@ -1161,7 +1164,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:554
+#: ../src/guestfs.pod:555
 #, no-wrap
 msgid ""
 " /boot => /dev/sda1\n"
@@ -1171,21 +1174,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:558
+#: ../src/guestfs.pod:559
 msgid ""
 "The caller can then make calls to L</guestfs_mount_options> to mount the "
 "filesystems as suggested."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:561
+#: ../src/guestfs.pod:562
 msgid ""
 "Be careful to mount filesystems in the right order (eg. C</> before C</"
 "usr>).  Sorting the keys of the hash by length, shortest first, should work."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:565
+#: ../src/guestfs.pod:566
 msgid ""
 "Inspection currently only works for some common operating systems.  "
 "Contributors are welcome to send patches for other operating systems that we "
@@ -1193,7 +1196,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:569
+#: ../src/guestfs.pod:570
 msgid ""
 "Encrypted disks must be opened before inspection.  See L</ENCRYPTED DISKS> "
 "for more details.  The L</guestfs_inspect_os> function just ignores any "
@@ -1201,7 +1204,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:573
+#: ../src/guestfs.pod:574
 msgid ""
 "A note on the implementation: The call L</guestfs_inspect_os> performs "
 "inspection and caches the results in the guest handle.  Subsequent calls to "
@@ -1211,19 +1214,19 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:580
+#: ../src/guestfs.pod:581
 msgid "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:582
+#: ../src/guestfs.pod:583
 msgid ""
 "Libguestfs can mount NTFS partitions.  It does this using the L<http://www."
 "ntfs-3g.org/> driver."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:585
+#: ../src/guestfs.pod:586
 msgid ""
 "DOS and Windows still use drive letters, and the filesystems are always "
 "treated as case insensitive by Windows itself, and therefore you might find "
@@ -1233,7 +1236,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:591
+#: ../src/guestfs.pod:592
 msgid ""
 "Drive letter mappings are outside the scope of libguestfs.  You have to use "
 "libguestfs to read the appropriate Windows Registry and configuration files, "
@@ -1242,21 +1245,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:596
+#: ../src/guestfs.pod:597
 msgid ""
 "Replacing backslash characters with forward slash characters is also outside "
 "the scope of libguestfs, but something that you can easily do."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:599
+#: ../src/guestfs.pod:600
 msgid ""
 "Where we can help is in resolving the case insensitivity of paths.  For "
 "this, call L</guestfs_case_sensitive_path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:602
+#: ../src/guestfs.pod:603
 msgid ""
 "Libguestfs also provides some help for decoding Windows Registry \"hive\" "
 "files, through the library C<hivex> which is part of the libguestfs project "
@@ -1267,19 +1270,19 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:610
+#: ../src/guestfs.pod:611
 msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:612
+#: ../src/guestfs.pod:613
 msgid ""
 "Although we don't want to discourage you from using the C API, we will "
 "mention here that the same API is also available in other languages."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:615
+#: ../src/guestfs.pod:616
 msgid ""
 "The API is broadly identical in all supported languages.  This means that "
 "the C call C<guestfs_mount(g,path)> is C<$g-E<gt>mount($path)> in Perl, C<g."
@@ -1288,14 +1291,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:621
+#: ../src/guestfs.pod:622
 msgid ""
 "Error messages are automatically transformed into exceptions if the language "
 "supports it."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:624
+#: ../src/guestfs.pod:625
 msgid ""
 "We don't try to \"object orientify\" parts of the API in OO languages, "
 "although contributors are welcome to write higher level APIs above what we "
@@ -1303,36 +1306,36 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:630
+#: ../src/guestfs.pod:631
 msgid "B<C++>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:632
+#: ../src/guestfs.pod:633
 msgid ""
 "You can use the I<guestfs.h> header file from C++ programs.  The C++ API is "
 "identical to the C API.  C++ classes and exceptions are not used."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:636
+#: ../src/guestfs.pod:637
 msgid "B<C#>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:638
+#: ../src/guestfs.pod:639
 msgid ""
 "The C# bindings are highly experimental.  Please read the warnings at the "
 "top of C<csharp/Libguestfs.cs>."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:641
+#: ../src/guestfs.pod:642
 msgid "B<Haskell>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:643
+#: ../src/guestfs.pod:644
 msgid ""
 "This is the only language binding that is working but incomplete.  Only "
 "calls which return simple integers have been bound in Haskell, and we are "
@@ -1340,66 +1343,66 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:647
+#: ../src/guestfs.pod:648
 msgid "B<Java>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:649
+#: ../src/guestfs.pod:650
 msgid ""
 "Full documentation is contained in the Javadoc which is distributed with "
 "libguestfs."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:652
+#: ../src/guestfs.pod:653
 msgid "B<OCaml>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:654
+#: ../src/guestfs.pod:655
 msgid "For documentation see the file C<guestfs.mli>."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:656
+#: ../src/guestfs.pod:657
 msgid "B<Perl>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:658
+#: ../src/guestfs.pod:659
 msgid "For documentation see L<Sys::Guestfs(3)>."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:660
+#: ../src/guestfs.pod:661
 msgid "B<PHP>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:662
+#: ../src/guestfs.pod:663
 msgid ""
 "For documentation see C<README-PHP> supplied with libguestfs sources or in "
 "the php-libguestfs package for your distribution."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:665
+#: ../src/guestfs.pod:666
 msgid "The PHP binding only works correctly on 64 bit machines."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:667
+#: ../src/guestfs.pod:668
 msgid "B<Python>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:669
+#: ../src/guestfs.pod:670
 msgid "For documentation do:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:671
+#: ../src/guestfs.pod:672
 #, no-wrap
 msgid ""
 " $ python\n"
@@ -1409,34 +1412,34 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:675
+#: ../src/guestfs.pod:676
 msgid "B<Ruby>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:677
+#: ../src/guestfs.pod:678
 msgid ""
 "Use the Guestfs module.  There is no Ruby-specific documentation, but you "
 "can find examples written in Ruby in the libguestfs source."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:680
+#: ../src/guestfs.pod:681
 msgid "B<shell scripts>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:682
+#: ../src/guestfs.pod:683
 msgid "For documentation see L<guestfish(1)>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:686
+#: ../src/guestfs.pod:687
 msgid "LIBGUESTFS GOTCHAS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:688
+#: ../src/guestfs.pod:689
 msgid ""
 "L<http://en.wikipedia.org/wiki/Gotcha_(programming)>: \"A feature of a "
 "system [...] that works in the way it is documented but is counterintuitive "
@@ -1444,7 +1447,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:692
+#: ../src/guestfs.pod:693
 msgid ""
 "Since we developed libguestfs and the associated tools, there are several "
 "things we would have designed differently, but are now stuck with for "
@@ -1453,12 +1456,12 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:700
+#: ../src/guestfs.pod:701
 msgid "Autosync / forgetting to sync."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:702
+#: ../src/guestfs.pod:703
 msgid ""
 "When modifying a filesystem from C or another language, you B<must> unmount "
 "all filesystems and call L</guestfs_sync> explicitly before you close the "
@@ -1466,7 +1469,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:706
+#: ../src/guestfs.pod:707
 #, no-wrap
 msgid ""
 " guestfs_set_autosync (g, 1);\n"
@@ -1474,14 +1477,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:708
+#: ../src/guestfs.pod:709
 msgid ""
 "to have the unmount/sync done automatically for you when the handle 'g' is "
 "closed.  (This feature is called \"autosync\", L</guestfs_set_autosync> q.v.)"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:712
+#: ../src/guestfs.pod:713
 msgid ""
 "If you forget to do this, then it is entirely possible that your changes "
 "won't be written out, or will be partially written, or (very rarely) that "
@@ -1489,7 +1492,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:716
+#: ../src/guestfs.pod:717
 msgid ""
 "Note that in L<guestfish(3)> autosync is the default.  So quick and dirty "
 "guestfish scripts that forget to sync will work just fine, which can make "
@@ -1497,19 +1500,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:720
+#: ../src/guestfs.pod:721
 msgid ""
 "Update: Autosync is enabled by default for all API users starting from "
 "libguestfs 1.5.24."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:723
+#: ../src/guestfs.pod:724
 msgid "Mount option C<-o sync> should not be the default."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:725
+#: ../src/guestfs.pod:726
 msgid ""
 "If you use L</guestfs_mount>, then C<-o sync,noatime> are added implicitly.  "
 "However C<-o sync> does not add any reliability benefit, but does have a "
@@ -1517,31 +1520,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:729
+#: ../src/guestfs.pod:730
 msgid ""
 "The work around is to use L</guestfs_mount_options> and set the mount "
 "options that you actually want to use."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:732
+#: ../src/guestfs.pod:733
 msgid "Read-only should be the default."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:734
+#: ../src/guestfs.pod:735
 msgid ""
 "In L<guestfish(3)>, I<--ro> should be the default, and you should have to "
 "specify I<--rw> if you want to make changes to the image."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:737
+#: ../src/guestfs.pod:738
 msgid "This would reduce the potential to corrupt live VM images."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:739
+#: ../src/guestfs.pod:740
 msgid ""
 "Note that many filesystems change the disk when you just mount and unmount, "
 "even if you didn't perform any writes.  You need to use L</"
@@ -1549,12 +1552,12 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:743
+#: ../src/guestfs.pod:744
 msgid "guestfish command line is hard to use."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:745
+#: ../src/guestfs.pod:746
 msgid ""
 "C<guestfish disk.img> doesn't do what people expect (open C<disk.img> for "
 "examination).  It tries to run a guestfish command C<disk.img> which doesn't "
@@ -1564,12 +1567,12 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:752
+#: ../src/guestfs.pod:753
 msgid "guestfish megabyte modifiers don't work right on all commands"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:754
+#: ../src/guestfs.pod:755
 msgid ""
 "In recent guestfish you can use C<1M> to mean 1 megabyte (and similarly for "
 "other modifiers).  What guestfish actually does is to multiply the number "
@@ -1579,12 +1582,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:761
+#: ../src/guestfs.pod:762
 msgid "The most common is L</guestfs_lvcreate>.  The guestfish command:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:763
+#: ../src/guestfs.pod:764
 #, no-wrap
 msgid ""
 " lvcreate LV VG 100M\n"
@@ -1592,7 +1595,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:765
+#: ../src/guestfs.pod:766
 msgid ""
 "does not do what you might expect.  Instead because L</guestfs_lvcreate> is "
 "already expecting megabytes, this tries to create a 100 I<terabyte> (100 "
@@ -1601,19 +1604,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:770
+#: ../src/guestfs.pod:771
 msgid ""
 "This could be fixed in the generator by specially marking parameters and "
 "return values which take bytes or other units."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:773
+#: ../src/guestfs.pod:774
 msgid "Ambiguity between devices and paths"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:775
+#: ../src/guestfs.pod:776
 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 "
@@ -1621,7 +1624,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:780
+#: ../src/guestfs.pod:781
 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>.  "
@@ -1630,7 +1633,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:786
+#: ../src/guestfs.pod:787
 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 "
@@ -1640,7 +1643,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:792
+#: ../src/guestfs.pod:793
 #, no-wrap
 msgid ""
 " type path = Path of string | Device of int | Partition of int * int\n"
@@ -1648,12 +1651,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:794
+#: ../src/guestfs.pod:795
 msgid "which would allow you to pass arguments like:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:796
+#: ../src/guestfs.pod:797
 #, no-wrap
 msgid ""
 " Path \"/foo/bar\"\n"
@@ -1664,19 +1667,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:801
+#: ../src/guestfs.pod:802
 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:806
+#: ../src/guestfs.pod:807
 msgid "PROTOCOL LIMITS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:808
+#: ../src/guestfs.pod:809
 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 "
@@ -1687,7 +1690,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:816
+#: ../src/guestfs.pod:817
 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 "
@@ -1696,7 +1699,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:822
+#: ../src/guestfs.pod:823
 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> "
@@ -1704,26 +1707,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:826
+#: ../src/guestfs.pod:827
 msgid ""
 "You might also consider mounting the disk image using our FUSE filesystem "
 "support (L<guestmount(1)>)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:829
+#: ../src/guestfs.pod:830
 msgid "KEYS AND PASSPHRASES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:831
+#: ../src/guestfs.pod:832
 msgid ""
 "Certain libguestfs calls take a parameter that contains sensitive key "
 "material, passed in as a C string."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:834
+#: ../src/guestfs.pod:835
 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 "
@@ -1732,7 +1735,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:839
+#: ../src/guestfs.pod:840
 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, "
@@ -1740,17 +1743,548 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:844
+#: ../src/guestfs.pod:845
+msgid "MULTIPLE HANDLES AND MULTIPLE THREADS"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:847
+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:850
+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 "
+"calls on the same handle at the same time."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:854
+msgid ""
+"See the graphical program guestfs-browser for one possible architecture for "
+"multithreaded programs using libvirt and libguestfs."
+msgstr ""
+
+# type: =head1
+#: ../src/guestfs.pod:857
+msgid "PATH"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:859
+msgid ""
+"Libguestfs needs a kernel and initrd.img, which it finds by looking along an "
+"internal path."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:862
+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:865
+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 "
+"colon-separated list of paths.  The current directory is I<not> searched "
+"unless the path contains an empty element or C<.>.  For example "
+"C<LIBGUESTFS_PATH=:/usr/lib/guestfs> would search the current directory and "
+"then C</usr/lib/guestfs>."
+msgstr ""
+
+# type: =head1
+#: ../src/guestfs.pod:872
+msgid "QEMU WRAPPERS"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:874
+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 "
+"around qemu."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:878
+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 "
+"becomes the direct child of the libguestfs-using program).  If you don't do "
+"this, then the qemu process won't be cleaned up correctly."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:883
+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:886
+#, no-wrap
+msgid ""
+" #!/bin/sh -\n"
+" qemudir=/home/rjones/d/qemu\n"
+" exec $qemudir/x86_64-softmmu/qemu-system-x86_64 -L $qemudir/pc-bios \"$@\"\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:890
+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 "
+"example:"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs.pod:894
+#, no-wrap
+msgid ""
+" LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:896
+msgid ""
+"Note that libguestfs also calls qemu with the -help and -version options in "
+"order to determine features."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:899
+msgid "ABI GUARANTEE"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:901
+msgid ""
+"We guarantee the libguestfs ABI (binary interface), for public, high-level "
+"actions as outlined in this section.  Although we will deprecate some "
+"actions, for example if they get replaced by newer calls, we will keep the "
+"old actions forever.  This allows you the developer to program in confidence "
+"against the libguestfs API."
+msgstr ""
+
+# type: =head1
+#: ../src/guestfs.pod:907
+msgid "BLOCK DEVICE NAMING"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:909
+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 "
+"hard drive).  The original Linux IDE driver used names starting with C</dev/"
+"hd*>.  SCSI devices have historically used a different naming scheme, C</dev/"
+"sd*>.  When the Linux kernel I<libata> driver became a popular replacement "
+"for the old IDE driver (particularly for SATA devices) those devices also "
+"used the C</dev/sd*> scheme.  Additionally we now have virtual machines with "
+"paravirtualized drivers.  This has created several different naming systems, "
+"such as C</dev/vd*> for virtio disks and C</dev/xvd*> for Xen PV disks."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:921
+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 "
+"based on a variety of Linux kernels."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:925
+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 "
+"make available over the internet could fail if the naming scheme changes."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:930
+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 "
+"required.  For example, under RHEL 5 which uses the C</dev/hd*> scheme, any "
+"device parameter C</dev/sda2> is translated to C</dev/hda2> transparently."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:936
+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 "
+"devices and partitions as known to the appliance."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:941
+msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:943
+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 "
+"L</guestfs_config> to add a mixture of virtio and IDE devices to the qemu-"
+"based appliance, so have a mixture of C</dev/sd*> and C</dev/vd*> devices."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:949
+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</"
+"guestfs_list_devices> are never changed."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:957
+msgid "Is the string a parameter which is a device or partition name?"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:961
+msgid "Does the string begin with C</dev/sd>?"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:965
+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:970
+msgid "Replace initial C</dev/sd> string with C</dev/hd>."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:972
+msgid "For example, change C</dev/sda2> to C</dev/hda2>."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:974
+msgid "If that named device exists, use it.  If not, continue."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:978
+msgid "Replace initial C</dev/sd> string with C</dev/vd>."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:980
+msgid "If that named device exists, use it.  If not, return an error."
+msgstr ""
+
+# type: =head3
+#: ../src/guestfs.pod:984
+msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:986
+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 "
+"rely on this mechanism."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:990
+msgid ""
+"Where possible for maximum future portability programs using libguestfs "
+"should use these future-proof techniques:"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:997
+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:1000
+msgid ""
+"Since those device names exist by definition, they will never be translated."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1005
+msgid ""
+"Use higher level ways to identify filesystems, such as LVM names, UUIDs and "
+"filesystem labels."
+msgstr ""
+
+# type: =head1
+#: ../src/guestfs.pod:1010
+msgid "SECURITY"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1012
+msgid ""
+"This section discusses security implications of using libguestfs, "
+"particularly with untrusted or malicious guests or disk images."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1015
+msgid "GENERAL SECURITY CONSIDERATIONS"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1017
+msgid ""
+"Be careful with any files or data that you download from a guest (by "
+"\"download\" we mean not just the L</guestfs_download> command but any "
+"command that reads files, filenames, directories or anything else from a "
+"disk image).  An attacker could manipulate the data to fool your program "
+"into doing the wrong thing.  Consider cases such as:"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1027
+msgid "the data (file etc) not being present"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1031
+msgid "being present but empty"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1035
+msgid "being much larger than normal"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1039
+msgid "containing arbitrary 8 bit data"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1043
+msgid "being in an unexpected character encoding"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1047
+msgid "containing homoglyphs."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1051
+msgid "SECURITY OF MOUNTING FILESYSTEMS"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1053
+msgid ""
+"When you mount a filesystem under Linux, mistakes in the kernel filesystem "
+"(VFS) module can sometimes be escalated into exploits by deliberately "
+"creating a malicious, malformed filesystem.  These exploits are very severe "
+"for two reasons.  Firstly there are very many filesystem drivers in the "
+"kernel, and many of them are infrequently used and not much developer "
+"attention has been paid to the code.  Linux userspace helps potential "
+"crackers by detecting the filesystem type and automatically choosing the "
+"right VFS driver, even if that filesystem type is obscure or unexpected for "
+"the administrator.  Secondly, a kernel-level exploit is like a local root "
+"exploit (worse in some ways), giving immediate and total access to the "
+"system right down to the hardware level."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1066
+msgid ""
+"That explains why you should never mount a filesystem from an untrusted "
+"guest on your host kernel.  How about libguestfs? We run a Linux kernel "
+"inside a qemu virtual machine, usually running as a non-root user.  The "
+"attacker would need to write a filesystem which first exploited the kernel, "
+"and then exploited either qemu virtualization (eg. a faulty qemu driver) or "
+"the libguestfs protocol, and finally to be as serious as the host kernel "
+"exploit it would need to escalate its privileges to root.  This multi-step "
+"escalation, performed by a static piece of data, is thought to be extremely "
+"hard to do, although we never say 'never' about security issues."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1077
+msgid ""
+"In any case callers can reduce the attack surface by forcing the filesystem "
+"type when mounting (use L</guestfs_mount_vfs>)."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1080
+msgid "PROTOCOL SECURITY"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1082
+msgid ""
+"The protocol is designed to be secure, being based on RFC 4506 (XDR)  with a "
+"defined upper message size.  However a program that uses libguestfs must "
+"also take care - for example you can write a program that downloads a binary "
+"from a disk image and executes it locally, and no amount of protocol "
+"security will save you from the consequences."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1088
+msgid "INSPECTION SECURITY"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1090
+msgid ""
+"Parts of the inspection API (see L</INSPECTION>) return untrusted strings "
+"directly from the guest, and these could contain any 8 bit data.  Callers "
+"should be careful to escape these before printing them to a structured file "
+"(for example, use HTML escaping if creating a web page)."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1096
+msgid ""
+"The inspection API parses guest configuration using two external libraries: "
+"Augeas (Linux configuration) and hivex (Windows Registry).  Both are "
+"designed to be robust in the face of malicious data, although denial of "
+"service attacks are still possible, for example with oversized configuration "
+"files."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1102
+msgid "RUNNING UNTRUSTED GUEST COMMANDS"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1104
+msgid ""
+"Be very cautious about running commands from the guest.  By running a "
+"command in the guest, you are giving CPU time to a binary that you do not "
+"control, under the same user account as the library, albeit wrapped in qemu "
+"virtualization.  More information and alternatives can be found in the "
+"section L</RUNNING COMMANDS>."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1110
+msgid "CVE-2010-3851"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1112
+msgid "https://bugzilla.redhat.com/642934"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1114
+msgid ""
+"This security bug concerns the automatic disk format detection that qemu "
+"does on disk images."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1117
+msgid ""
+"A raw disk image is just the raw bytes, there is no header.  Other disk "
+"images like qcow2 contain a special header.  Qemu deals with this by looking "
+"for one of the known headers, and if none is found then assuming the disk "
+"image must be raw."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1122
+msgid ""
+"This allows a guest which has been given a raw disk image to write some "
+"other header.  At next boot (or when the disk image is accessed by "
+"libguestfs) qemu would do autodetection and think the disk image format was, "
+"say, qcow2 based on the header written by the guest."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1127
+msgid ""
+"This in itself would not be a problem, but qcow2 offers many features, one "
+"of which is to allow a disk image to refer to another image (called the "
+"\"backing disk\").  It does this by placing the path to the backing disk "
+"into the qcow2 header.  This path is not validated and could point to any "
+"host file (eg. \"/etc/passwd\").  The backing disk is then exposed through "
+"\"holes\" in the qcow2 disk image, which of course is completely under the "
+"control of the attacker."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1135
+msgid ""
+"In libguestfs this is rather hard to exploit except under two circumstances:"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1142
+msgid "You have enabled the network or have opened the disk in write mode."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1146
+msgid ""
+"You are also running untrusted code from the guest (see L</RUNNING "
+"COMMANDS>)."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1151
+msgid ""
+"The way to avoid this is to specify the expected disk format when adding "
+"disks (the optional C<format> option to L</guestfs_add_drive_opts>).  You "
+"should always do this if the disk is raw format, and it's a good idea for "
+"other cases too."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1156
+msgid ""
+"For disks added from libvirt using calls like L</guestfs_add_domain>, the "
+"format is fetched from libvirt and passed through."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1159
+msgid ""
+"For libguestfs tools, use the I<--format> command line parameter as "
+"appropriate."
+msgstr ""
+
+# type: =head1
+#: ../src/guestfs.pod:1162
 msgid "CONNECTION MANAGEMENT"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:846
+#: ../src/guestfs.pod:1164
 msgid "guestfs_h *"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:848
+#: ../src/guestfs.pod:1166
 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 "
@@ -1758,19 +2292,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:852
+#: ../src/guestfs.pod:1170
 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:855
+#: ../src/guestfs.pod:1173
 msgid "guestfs_create"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:857
+#: ../src/guestfs.pod:1175
 #, no-wrap
 msgid ""
 " guestfs_h *guestfs_create (void);\n"
@@ -1778,43 +2312,43 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:859
+#: ../src/guestfs.pod:1177
 msgid "Create a connection handle."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:861
+#: ../src/guestfs.pod:1179
 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:864
+#: ../src/guestfs.pod:1182
 msgid ""
 "This function returns a non-NULL pointer to a handle on success or NULL on "
 "error."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:867
+#: ../src/guestfs.pod:1185
 msgid "After configuring the handle, you have to call L</guestfs_launch>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:869
+#: ../src/guestfs.pod:1187
 msgid ""
 "You may also want to configure error handling for the handle.  See L</ERROR "
 "HANDLING> section below."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:872
+#: ../src/guestfs.pod:1190
 msgid "guestfs_close"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:874
+#: ../src/guestfs.pod:1192
 #, no-wrap
 msgid ""
 " void guestfs_close (guestfs_h *g);\n"
@@ -1822,24 +2356,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:876
+#: ../src/guestfs.pod:1194
 msgid "This closes the connection handle and frees up all resources used."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:878
+#: ../src/guestfs.pod:1196
 msgid "ERROR HANDLING"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:880
+#: ../src/guestfs.pod:1198
 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
+#: ../src/guestfs.pod:1201
 msgid ""
 "Additional information is available for errors: an error message string and "
 "optionally an error number (errno) if the thing that failed was a system "
@@ -1847,7 +2381,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:887
+#: ../src/guestfs.pod:1205
 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 "
@@ -1855,7 +2389,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:892
+#: ../src/guestfs.pod:1210
 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 "
@@ -1863,7 +2397,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:896
+#: ../src/guestfs.pod:1214
 #, no-wrap
 msgid ""
 " if (guestfs_launch (g) == -1)\n"
@@ -1872,21 +2406,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:899
+#: ../src/guestfs.pod:1217
 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
+#: ../src/guestfs.pod:1220
 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
+#: ../src/guestfs.pod:1223
 #, no-wrap
 msgid ""
 " g = guestfs_create ();\n"
@@ -1894,7 +2428,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:907
+#: ../src/guestfs.pod:1225
 #, no-wrap
 msgid ""
 " /* This disables the default behaviour of printing errors\n"
@@ -1904,7 +2438,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:911
+#: ../src/guestfs.pod:1229
 #, no-wrap
 msgid ""
 " if (guestfs_launch (g) == -1) {\n"
@@ -1918,7 +2452,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:919
+#: ../src/guestfs.pod:1237
 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</"
@@ -1926,7 +2460,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:923
+#: ../src/guestfs.pod:1241
 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 "
@@ -1936,12 +2470,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:929
+#: ../src/guestfs.pod:1247
 msgid "guestfs_last_error"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:931
+#: ../src/guestfs.pod:1249
 #, no-wrap
 msgid ""
 " const char *guestfs_last_error (guestfs_h *g);\n"
@@ -1949,26 +2483,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:933
+#: ../src/guestfs.pod:1251
 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:937
+#: ../src/guestfs.pod:1255
 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
+#: ../src/guestfs.pod:1258
 msgid "guestfs_last_errno"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:942
+#: ../src/guestfs.pod:1260
 #, no-wrap
 msgid ""
 " int guestfs_last_errno (guestfs_h *g);\n"
@@ -1976,28 +2510,28 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:944
+#: ../src/guestfs.pod:1262
 msgid "This returns the last error number (errno) that happened on C<g>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:946
+#: ../src/guestfs.pod:1264
 msgid "If successful, an errno integer not equal to zero is returned."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:948
+#: ../src/guestfs.pod:1266
 msgid ""
 "If no error, this returns 0.  This call can return 0 in three situations:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:955
+#: ../src/guestfs.pod:1273
 msgid "There has not been any error on the handle."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:959
+#: ../src/guestfs.pod:1277
 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 "
@@ -2005,14 +2539,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:965
+#: ../src/guestfs.pod:1283
 msgid ""
 "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
+#: ../src/guestfs.pod:1289
 msgid ""
 "Libguestfs tries to convert the errno from inside the applicance into a "
 "corresponding errno for the caller (not entirely trivial: the appliance "
@@ -2023,12 +2557,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:979
+#: ../src/guestfs.pod:1297
 msgid "guestfs_set_error_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:981
+#: ../src/guestfs.pod:1299
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n"
@@ -2041,7 +2575,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:988
+#: ../src/guestfs.pod:1306
 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 "
@@ -2049,14 +2583,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:992
+#: ../src/guestfs.pod:1310
 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
+#: ../src/guestfs.pod:1313
 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 "
@@ -2064,22 +2598,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:999
+#: ../src/guestfs.pod:1317
 msgid "The default handler prints messages on C<stderr>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1001
+#: ../src/guestfs.pod:1319
 msgid "If you set C<cb> to C<NULL> then I<no> handler is called."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1003
+#: ../src/guestfs.pod:1321
 msgid "guestfs_get_error_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1005
+#: ../src/guestfs.pod:1323
 #, no-wrap
 msgid ""
 " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n"
@@ -2088,17 +2622,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1008
+#: ../src/guestfs.pod:1326
 msgid "Returns the current error handler callback."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1010
+#: ../src/guestfs.pod:1328
 msgid "guestfs_set_out_of_memory_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1012
+#: ../src/guestfs.pod:1330
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_abort_cb) (void);\n"
@@ -2108,30 +2642,30 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1016
+#: ../src/guestfs.pod:1334
 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:1019
+#: ../src/guestfs.pod:1337
 msgid "The default is to call L<abort(3)>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1021
+#: ../src/guestfs.pod:1339
 msgid ""
 "You cannot set C<cb> to C<NULL>.  You can't ignore out of memory situations."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1024
+#: ../src/guestfs.pod:1342
 msgid "guestfs_get_out_of_memory_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1026
+#: ../src/guestfs.pod:1344
 #, no-wrap
 msgid ""
 " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n"
@@ -2139,87 +2673,42 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1028
+#: ../src/guestfs.pod:1346
 msgid "This returns the current out of memory handler."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1030
-msgid "PATH"
-msgstr ""
-
-# type: textblock
-#: ../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: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: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 "
-"colon-separated list of paths.  The current directory is I<not> searched "
-"unless the path contains an empty element or C<.>.  For example "
-"C<LIBGUESTFS_PATH=:/usr/lib/guestfs> would search the current directory and "
-"then C</usr/lib/guestfs>."
-msgstr ""
-
-# type: =head1
-#: ../src/guestfs.pod:1045
-msgid "HIGH-LEVEL API ACTIONS"
-msgstr ""
-
-# type: =head2
-#: ../src/guestfs.pod:1047
-msgid "ABI GUARANTEE"
-msgstr ""
-
-# type: textblock
-#: ../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 "
-"actions, for example if they get replaced by newer calls, we will keep the "
-"old actions forever.  This allows you the developer to program in confidence "
-"against the libguestfs API."
+#: ../src/guestfs.pod:1348
+msgid "API CALLS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1055 ../fish/guestfish.pod:907
+#: ../src/guestfs.pod:1350 ../fish/guestfish.pod:907
 msgid "@ACTIONS@"
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1057
+#: ../src/guestfs.pod:1352
 msgid "STRUCTURES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1059
+#: ../src/guestfs.pod:1354
 msgid "@STRUCTS@"
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1061
+#: ../src/guestfs.pod:1356
 msgid "AVAILABILITY"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1063
+#: ../src/guestfs.pod:1358
 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1065
+#: ../src/guestfs.pod:1360
 msgid ""
 "Using L</guestfs_available> you can test availability of the following "
 "groups of functions.  This test queries the appliance to see if the "
@@ -2227,17 +2716,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1070
+#: ../src/guestfs.pod:1365
 msgid "@AVAILABILITY@"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1072
+#: ../src/guestfs.pod:1367
 msgid "GUESTFISH supported COMMAND"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1074
+#: ../src/guestfs.pod:1369
 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 "
@@ -2245,19 +2734,19 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1079
+#: ../src/guestfs.pod:1374
 msgid "SINGLE CALLS AT COMPILE TIME"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1081
+#: ../src/guestfs.pod:1376
 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:1084
+#: ../src/guestfs.pod:1379
 #, no-wrap
 msgid ""
 " #define LIBGUESTFS_HAVE_DD 1\n"
@@ -2265,12 +2754,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1086
+#: ../src/guestfs.pod:1381
 msgid "if L</guestfs_dd> is available."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1088
+#: ../src/guestfs.pod:1383
 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 "
@@ -2278,7 +2767,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1093
+#: ../src/guestfs.pod:1388
 #, no-wrap
 msgid ""
 " AC_CHECK_LIB([guestfs],[guestfs_create])\n"
@@ -2287,19 +2776,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1096
+#: ../src/guestfs.pod:1391
 msgid ""
 "which would result in C<HAVE_GUESTFS_DD> being either defined or not defined "
 "in your program."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1099
+#: ../src/guestfs.pod:1394
 msgid "SINGLE CALLS AT RUN TIME"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1101
+#: ../src/guestfs.pod:1396
 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 "
@@ -2309,7 +2798,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1108
+#: ../src/guestfs.pod:1403
 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 "
@@ -2317,7 +2806,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1112
+#: ../src/guestfs.pod:1407
 #, no-wrap
 msgid ""
 " #include <stdio.h>\n"
@@ -2329,7 +2818,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1118
+#: ../src/guestfs.pod:1413
 #, no-wrap
 msgid ""
 " main ()\n"
@@ -2341,7 +2830,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1124
+#: ../src/guestfs.pod:1419
 #, no-wrap
 msgid ""
 "   /* Test if the function guestfs_dd is really available. */\n"
@@ -2356,7 +2845,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1133
+#: ../src/guestfs.pod:1428
 #, no-wrap
 msgid ""
 "   if (!has_function)\n"
@@ -2375,7 +2864,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1146
+#: ../src/guestfs.pod:1441
 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 "
@@ -2383,7 +2872,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1151
+#: ../src/guestfs.pod:1446
 #, no-wrap
 msgid ""
 " Requires: libguestfs >= 1.0.80\n"
@@ -2391,12 +2880,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1153
+#: ../src/guestfs.pod:1448
 msgid "CALLS WITH OPTIONAL ARGUMENTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1155
+#: ../src/guestfs.pod:1450
 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 "
@@ -2404,7 +2893,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1160
+#: ../src/guestfs.pod:1455
 #, no-wrap
 msgid ""
 " int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n"
@@ -2412,14 +2901,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1162
+#: ../src/guestfs.pod:1457
 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:1165
+#: ../src/guestfs.pod:1460
 #, no-wrap
 msgid ""
 " guestfs_add_drive_opts (g, filename, -1);\n"
@@ -2427,12 +2916,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1167
+#: ../src/guestfs.pod:1462
 msgid "With a single optional argument:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1169
+#: ../src/guestfs.pod:1464
 #, no-wrap
 msgid ""
 " guestfs_add_drive_opts (g, filename,\n"
@@ -2442,12 +2931,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1173
+#: ../src/guestfs.pod:1468
 msgid "With two:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1175
+#: ../src/guestfs.pod:1470
 #, no-wrap
 msgid ""
 " guestfs_add_drive_opts (g, filename,\n"
@@ -2458,19 +2947,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1180
+#: ../src/guestfs.pod:1475
 msgid ""
 "and so forth.  Don't forget the terminating C<-1> otherwise Bad Things will "
 "happen!"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1183
+#: ../src/guestfs.pod:1478
 msgid "USING va_list FOR OPTIONAL ARGUMENTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1185
+#: ../src/guestfs.pod:1480
 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 "
@@ -2478,7 +2967,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1189
+#: ../src/guestfs.pod:1484
 #, no-wrap
 msgid ""
 " int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n"
@@ -2487,12 +2976,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1192
+#: ../src/guestfs.pod:1487
 msgid "CONSTRUCTING OPTIONAL ARGUMENTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1194
+#: ../src/guestfs.pod:1489
 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 "
@@ -2502,7 +2991,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1200
+#: ../src/guestfs.pod:1495
 #, no-wrap
 msgid ""
 " struct guestfs_add_drive_opts_argv {\n"
@@ -2517,12 +3006,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1209
+#: ../src/guestfs.pod:1504
 msgid "You could call it like this:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1211
+#: ../src/guestfs.pod:1506
 #, no-wrap
 msgid ""
 " struct guestfs_add_drive_opts_argv optargs = {\n"
@@ -2535,7 +3024,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1218
+#: ../src/guestfs.pod:1513
 #, no-wrap
 msgid ""
 " guestfs_add_drive_opts_argv (g, filename, &optargs);\n"
@@ -2543,36 +3032,36 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1220 ../src/guestfs-actions.pod:11
+#: ../src/guestfs.pod:1515 ../src/guestfs-actions.pod:11
 #: ../src/guestfs-actions.pod:1842 ../fish/guestfish-actions.pod:9
 #: ../fish/guestfish-actions.pod:1255
 msgid "Notes:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1226
+#: ../src/guestfs.pod:1521
 msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1231
+#: ../src/guestfs.pod:1526
 msgid "You do not need to fill in all fields of the structure."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1235
+#: ../src/guestfs.pod:1530
 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:1240
+#: ../src/guestfs.pod:1535
 msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1242
+#: ../src/guestfs.pod:1537
 msgid ""
 "In other languages, optional arguments are expressed in the way that is "
 "natural for that language.  We refer you to the language-specific "
@@ -2580,201 +3069,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1246
+#: ../src/guestfs.pod:1541
 msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>."
 msgstr ""
 
-# type: =end
-#: ../src/guestfs.pod:1248 ../src/guestfs.pod:1253
-msgid "html"
-msgstr ""
-
-# type: textblock
-#: ../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:1255
-msgid "ARCHITECTURE"
-msgstr ""
-
-# type: textblock
-#: ../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 "
-"process of the main program."
-msgstr ""
-
-# type: verbatim
-#: ../src/guestfs.pod:1261
-#, no-wrap
-msgid ""
-"  ___________________\n"
-" /                   \\\n"
-" | main program      |\n"
-" |                   |\n"
-" |                   |           child process / appliance\n"
-" |                   |           __________________________\n"
-" |                   |          / qemu                     \\\n"
-" +-------------------+   RPC    |      +-----------------+ |\n"
-" | libguestfs     <--------------------> guestfsd        | |\n"
-" |                   |          |      +-----------------+ |\n"
-" \\___________________/          |      | Linux kernel    | |\n"
-"                                |      +--^--------------+ |\n"
-"                                \\_________|________________/\n"
-"                                          |\n"
-"                                   _______v______\n"
-"                                  /              \\\n"
-"                                  | Device or    |\n"
-"                                  | disk image   |\n"
-"                                  \\______________/\n"
-"\n"
-msgstr ""
-
-# type: textblock
-#: ../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: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 "
-"L</guestfsd>.  The library talks to L</guestfsd> using remote procedure "
-"calls (RPC).  There is a mostly one-to-one correspondence between libguestfs "
-"API calls and RPC calls to the daemon.  Lastly the disk image(s) are "
-"attached to the qemu process which translates device access by the "
-"appliance's Linux kernel into accesses to the image."
-msgstr ""
-
-# type: textblock
-#: ../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 "
-"virtual machine, libguestfs doesn't know or care about this.  (But you will "
-"care if both libguestfs's qemu process and your virtual machine are trying "
-"to update the disk image at the same time, since these usually results in "
-"massive disk corruption)."
-msgstr ""
-
-# type: =head1
-#: ../src/guestfs.pod:1300
-msgid "STATE MACHINE"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1302
-msgid "libguestfs uses a state machine to model the child process:"
-msgstr ""
-
-# type: verbatim
-#: ../src/guestfs.pod:1304
-#, no-wrap
-msgid ""
-"                         |\n"
-"                    guestfs_create\n"
-"                         |\n"
-"                         |\n"
-"                     ____V_____\n"
-"                    /          \\\n"
-"                    |  CONFIG  |\n"
-"                    \\__________/\n"
-"                     ^ ^   ^  \\\n"
-"                    /  |    \\  \\ guestfs_launch\n"
-"                   /   |    _\\__V______\n"
-"                  /    |   /           \\\n"
-"                 /     |   | LAUNCHING |\n"
-"                /      |   \\___________/\n"
-"               /       |       /\n"
-"              /        |  guestfs_launch\n"
-"             /         |     /\n"
-"    ______  /        __|____V\n"
-"   /      \\ ------> /        \\\n"
-"   | BUSY |         | READY  |\n"
-"   \\______/ <------ \\________/\n"
-"\n"
-msgstr ""
-
-# type: textblock
-#: ../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), "
-"(3) alternating between READY and BUSY as commands are issued to, and "
-"carried out by, the child process."
-msgstr ""
-
-# type: textblock
-#: ../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 "
-"the state to transition back to CONFIG."
-msgstr ""
-
-# type: textblock
-#: ../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: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 "
-"commands (or until some failure or timeout).  L</guestfs_launch> internally "
-"moves the state from CONFIG to LAUNCHING while it is running."
-msgstr ""
-
-# type: textblock
-#: ../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. "
-"the state to transition to BUSY and then back to READY).  There are no non-"
-"blocking versions, and no way to issue more than one command per handle at "
-"the same time."
-msgstr ""
-
-# type: textblock
-#: ../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 "
-"receive these messages."
-msgstr ""
-
 # type: =head2
-#: ../src/guestfs.pod:1354
+#: ../src/guestfs.pod:1543
 msgid "SETTING CALLBACKS TO HANDLE EVENTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1356
+#: ../src/guestfs.pod:1545
 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:1359
+#: ../src/guestfs.pod:1548
 msgid ""
 "Use the C<guestfs_set_*_callback> functions to set a callback for different "
 "types of events."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1362
+#: ../src/guestfs.pod:1551
 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 "
@@ -2783,12 +3102,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1367
+#: ../src/guestfs.pod:1556
 msgid "guestfs_set_log_message_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1369
+#: ../src/guestfs.pod:1558
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_log_message_cb) (guestfs_h *g, void *opaque,\n"
@@ -2800,31 +3119,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1375
+#: ../src/guestfs.pod:1564
 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:1378
+#: ../src/guestfs.pod:1567
 msgid "Use this function to capture kernel messages and similar."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1380
+#: ../src/guestfs.pod:1569
 msgid ""
 "Normally there is no log message handler, and log messages are just "
 "discarded."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1383
+#: ../src/guestfs.pod:1572
 msgid "guestfs_set_subprocess_quit_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1385
+#: ../src/guestfs.pod:1574
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_subprocess_quit_cb) (guestfs_h *g, void *opaque);\n"
@@ -2835,7 +3154,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1390
+#: ../src/guestfs.pod:1579
 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 "
@@ -2843,12 +3162,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1395
+#: ../src/guestfs.pod:1584
 msgid "guestfs_set_launch_done_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1397
+#: ../src/guestfs.pod:1586
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_launch_done_cb) (guestfs_h *g, void *opaque);\n"
@@ -2859,7 +3178,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1402
+#: ../src/guestfs.pod:1591
 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 "
@@ -2867,12 +3186,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1406
+#: ../src/guestfs.pod:1595
 msgid "guestfs_set_close_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1408
+#: ../src/guestfs.pod:1597
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_close_cb) (guestfs_h *g, void *opaque);\n"
@@ -2883,14 +3202,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1413
+#: ../src/guestfs.pod:1602
 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:1416
+#: ../src/guestfs.pod:1605
 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 "
@@ -2901,12 +3220,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1424
+#: ../src/guestfs.pod:1613
 msgid "guestfs_set_progress_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1426
+#: ../src/guestfs.pod:1615
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_progress_cb) (guestfs_h *g, void *opaque,\n"
@@ -2919,7 +3238,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1433
+#: ../src/guestfs.pod:1622
 msgid ""
 "Some long-running operations can generate progress messages.  If this "
 "callback is registered, then it will be called each time a progress message "
@@ -2929,7 +3248,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1439
+#: ../src/guestfs.pod:1628
 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 "
@@ -2938,31 +3257,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1445
+#: ../src/guestfs.pod:1634
 msgid "The only defined and stable parts of the API are:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1451
+#: ../src/guestfs.pod:1640
 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:1456
+#: ../src/guestfs.pod:1645
 msgid "0 E<lt>= C<position> E<lt>= C<total>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1460
+#: ../src/guestfs.pod:1649
 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:1463
+#: ../src/guestfs.pod:1652
 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 "
@@ -2970,7 +3289,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1469
+#: ../src/guestfs.pod:1658
 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 "
@@ -2979,12 +3298,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1474
+#: ../src/guestfs.pod:1663
 msgid "PRIVATE DATA AREA"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1476
+#: ../src/guestfs.pod:1665
 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 "
@@ -2992,12 +3311,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1480
+#: ../src/guestfs.pod:1669
 msgid "To attach a named piece of data, use the following call:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1482
+#: ../src/guestfs.pod:1671
 #, no-wrap
 msgid ""
 " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n"
@@ -3005,7 +3324,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1484
+#: ../src/guestfs.pod:1673
 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 "
@@ -3013,7 +3332,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1488
+#: ../src/guestfs.pod:1677
 msgid ""
 "You can use any C<key> you want, but names beginning with an underscore "
 "character are reserved for internal libguestfs purposes (for implementing "
@@ -3022,12 +3341,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1493
+#: ../src/guestfs.pod:1682
 msgid "To retrieve the pointer, use:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1495
+#: ../src/guestfs.pod:1684
 #, no-wrap
 msgid ""
 " void *guestfs_get_private (guestfs_h *g, const char *key);\n"
@@ -3035,7 +3354,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1497
+#: ../src/guestfs.pod:1686
 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 "
@@ -3043,199 +3362,213 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1501
+#: ../src/guestfs.pod:1690
 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 "
 "all.  In particular, libguestfs does I<not> try to free the data when the "
 "handle is closed.  If the data must be freed, then the caller must either "
-"free it before calling L</guestfs_close> or must set up a close callback to "
-"do it (see L</guestfs_set_close_callback>, and note that only one callback "
-"can be registered for a handle)."
-msgstr ""
-
-# type: textblock
-#: ../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:1512
-msgid "BLOCK DEVICE NAMING"
-msgstr ""
-
-# type: textblock
-#: ../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 "
-"hard drive).  The original Linux IDE driver used names starting with C</dev/"
-"hd*>.  SCSI devices have historically used a different naming scheme, C</dev/"
-"sd*>.  When the Linux kernel I<libata> driver became a popular replacement "
-"for the old IDE driver (particularly for SATA devices) those devices also "
-"used the C</dev/sd*> scheme.  Additionally we now have virtual machines with "
-"paravirtualized drivers.  This has created several different naming systems, "
-"such as C</dev/vd*> for virtio disks and C</dev/xvd*> for Xen PV disks."
-msgstr ""
-
-# type: textblock
-#: ../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 "
-"based on a variety of Linux kernels."
-msgstr ""
-
-# type: textblock
-#: ../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 "
-"make available over the internet could fail if the naming scheme changes."
-msgstr ""
-
-# type: textblock
-#: ../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 "
-"required.  For example, under RHEL 5 which uses the C</dev/hd*> scheme, any "
-"device parameter C</dev/sda2> is translated to C</dev/hda2> transparently."
+"free it before calling L</guestfs_close> or must set up a close callback to "
+"do it (see L</guestfs_set_close_callback>, and note that only one callback "
+"can be registered for a handle)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1541
+#: ../src/guestfs.pod:1698
 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 "
-"devices and partitions as known to the appliance."
+"The private data area is implemented using a hash table, and should be "
+"reasonably efficient for moderate numbers of keys."
 msgstr ""
 
-# type: =head2
-#: ../src/guestfs.pod:1546
-msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION"
+# type: =end
+#: ../src/guestfs.pod:1701 ../src/guestfs.pod:1706
+msgid "html"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1548
+#: ../src/guestfs.pod:1703
 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 "
-"L</guestfs_config> to add a mixture of virtio and IDE devices to the qemu-"
-"based appliance, so have a mixture of C</dev/sd*> and C</dev/vd*> devices."
+"<!-- old anchor for the next section --> <a name="
+"\"state_machine_and_low_level_event_api\"/>"
 msgstr ""
 
-# type: textblock
-#: ../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</"
-"guestfs_list_devices> are never changed."
+# type: =head1
+#: ../src/guestfs.pod:1708
+msgid "ARCHITECTURE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1562
-msgid "Is the string a parameter which is a device or partition name?"
+#: ../src/guestfs.pod:1710
+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 "
+"process of the main program."
 msgstr ""
 
-# type: textblock
-#: ../src/guestfs.pod:1566
-msgid "Does the string begin with C</dev/sd>?"
+# type: verbatim
+#: ../src/guestfs.pod:1714
+#, no-wrap
+msgid ""
+"  ___________________\n"
+" /                   \\\n"
+" | main program      |\n"
+" |                   |\n"
+" |                   |           child process / appliance\n"
+" |                   |           __________________________\n"
+" |                   |          / qemu                     \\\n"
+" +-------------------+   RPC    |      +-----------------+ |\n"
+" | libguestfs     <--------------------> guestfsd        | |\n"
+" |                   |          |      +-----------------+ |\n"
+" \\___________________/          |      | Linux kernel    | |\n"
+"                                |      +--^--------------+ |\n"
+"                                \\_________|________________/\n"
+"                                          |\n"
+"                                   _______v______\n"
+"                                  /              \\\n"
+"                                  | Device or    |\n"
+"                                  | disk image   |\n"
+"                                  \\______________/\n"
+"\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1570
+#: ../src/guestfs.pod:1734
 msgid ""
-"Does the named device exist? If so, we use that device.  However if I<not> "
-"then we continue with this algorithm."
+"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:1575
-msgid "Replace initial C</dev/sd> string with C</dev/hd>."
+#: ../src/guestfs.pod:1737
+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 "
+"L</guestfsd>.  The library talks to L</guestfsd> using remote procedure "
+"calls (RPC).  There is a mostly one-to-one correspondence between libguestfs "
+"API calls and RPC calls to the daemon.  Lastly the disk image(s) are "
+"attached to the qemu process which translates device access by the "
+"appliance's Linux kernel into accesses to the image."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1577
-msgid "For example, change C</dev/sda2> to C</dev/hda2>."
+#: ../src/guestfs.pod:1746
+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 "
+"virtual machine, libguestfs doesn't know or care about this.  (But you will "
+"care if both libguestfs's qemu process and your virtual machine are trying "
+"to update the disk image at the same time, since these usually results in "
+"massive disk corruption)."
 msgstr ""
 
-# type: textblock
-#: ../src/guestfs.pod:1579
-msgid "If that named device exists, use it.  If not, continue."
+# type: =head1
+#: ../src/guestfs.pod:1753
+msgid "STATE MACHINE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1583
-msgid "Replace initial C</dev/sd> string with C</dev/vd>."
+#: ../src/guestfs.pod:1755
+msgid "libguestfs uses a state machine to model the child process:"
 msgstr ""
 
-# type: textblock
-#: ../src/guestfs.pod:1585
-msgid "If that named device exists, use it.  If not, return an error."
+# type: verbatim
+#: ../src/guestfs.pod:1757
+#, no-wrap
+msgid ""
+"                         |\n"
+"                    guestfs_create\n"
+"                         |\n"
+"                         |\n"
+"                     ____V_____\n"
+"                    /          \\\n"
+"                    |  CONFIG  |\n"
+"                    \\__________/\n"
+"                     ^ ^   ^  \\\n"
+"                    /  |    \\  \\ guestfs_launch\n"
+"                   /   |    _\\__V______\n"
+"                  /    |   /           \\\n"
+"                 /     |   | LAUNCHING |\n"
+"                /      |   \\___________/\n"
+"               /       |       /\n"
+"              /        |  guestfs_launch\n"
+"             /         |     /\n"
+"    ______  /        __|____V\n"
+"   /      \\ ------> /        \\\n"
+"   | BUSY |         | READY  |\n"
+"   \\______/ <------ \\________/\n"
+"\n"
 msgstr ""
 
-# type: =head2
-#: ../src/guestfs.pod:1589
-msgid "PORTABILITY CONCERNS"
+# type: textblock
+#: ../src/guestfs.pod:1779
+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), "
+"(3) alternating between READY and BUSY as commands are issued to, and "
+"carried out by, the child process."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1591
+#: ../src/guestfs.pod:1784
 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 "
-"rely on this mechanism."
+"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 "
+"the state to transition back to CONFIG."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1595
+#: ../src/guestfs.pod:1788
 msgid ""
-"Where possible for maximum future portability programs using libguestfs "
-"should use these future-proof techniques:"
+"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:1602
+#: ../src/guestfs.pod:1791
 msgid ""
-"Use L</guestfs_list_devices> or L</guestfs_list_partitions> to list actual "
-"device names, and then use those names directly."
+"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 "
+"commands (or until some failure or timeout).  L</guestfs_launch> internally "
+"moves the state from CONFIG to LAUNCHING while it is running."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1605
+#: ../src/guestfs.pod:1797
 msgid ""
-"Since those device names exist by definition, they will never be translated."
+"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. "
+"the state to transition to BUSY and then back to READY).  There are no non-"
+"blocking versions, and no way to issue more than one command per handle at "
+"the same time."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1610
+#: ../src/guestfs.pod:1803
 msgid ""
-"Use higher level ways to identify filesystems, such as LVM names, UUIDs and "
-"filesystem labels."
+"Finally, the child process sends asynchronous messages back to the main "
+"program, such as kernel log messages.  You can register a callback to "
+"receive these messages."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1615
+#: ../src/guestfs.pod:1807
 msgid "INTERNALS"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1617
+#: ../src/guestfs.pod:1809
 msgid "COMMUNICATION PROTOCOL"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1619
+#: ../src/guestfs.pod:1811
 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:1622
+#: ../src/guestfs.pod:1814
 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 "
@@ -3243,14 +3576,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1626
+#: ../src/guestfs.pod:1818
 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:1629
+#: ../src/guestfs.pod:1821
 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 "
@@ -3260,17 +3593,17 @@ msgid ""
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1636
+#: ../src/guestfs.pod:1828
 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1638
+#: ../src/guestfs.pod:1830
 msgid "For ordinary functions, the request message is:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1640
+#: ../src/guestfs.pod:1832
 #, no-wrap
 msgid ""
 " total length (header + arguments,\n"
@@ -3281,7 +3614,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1645
+#: ../src/guestfs.pod:1837
 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 "
@@ -3290,26 +3623,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1651
+#: ../src/guestfs.pod:1843
 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:1654
+#: ../src/guestfs.pod:1846
 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:1658
+#: ../src/guestfs.pod:1850
 msgid "The reply message for ordinary functions is:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1660
+#: ../src/guestfs.pod:1852
 #, no-wrap
 msgid ""
 " total length (header + ret,\n"
@@ -3320,27 +3653,27 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1665
+#: ../src/guestfs.pod:1857
 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:1668
+#: ../src/guestfs.pod:1860
 msgid ""
 "As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1671
+#: ../src/guestfs.pod:1863
 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:1674
+#: ../src/guestfs.pod:1866
 #, no-wrap
 msgid ""
 " total length (header + error,\n"
@@ -3351,19 +3684,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1679
+#: ../src/guestfs.pod:1871
 msgid ""
 "The C<guestfs_message_error> structure contains the error message as a "
 "string."
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1682
+#: ../src/guestfs.pod:1874
 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1684
+#: ../src/guestfs.pod:1876
 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 "
@@ -3371,7 +3704,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1688
+#: ../src/guestfs.pod:1880
 #, no-wrap
 msgid ""
 " total length (header + arguments,\n"
@@ -3385,12 +3718,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1696
+#: ../src/guestfs.pod:1888
 msgid "The \"sequence of chunks\" is:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1698
+#: ../src/guestfs.pod:1890
 #, no-wrap
 msgid ""
 " length of chunk (not including length word itself)\n"
@@ -3404,7 +3737,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1706
+#: ../src/guestfs.pod:1898
 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 "
@@ -3412,7 +3745,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1710
+#: ../src/guestfs.pod:1902
 msgid ""
 "At time of writing there are no functions that have more than one FileIn "
 "parameter.  However this is (theoretically) supported, by sending the "
@@ -3421,7 +3754,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1715
+#: ../src/guestfs.pod:1907
 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 "
@@ -3430,7 +3763,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1721
+#: ../src/guestfs.pod:1913
 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 "
@@ -3442,7 +3775,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1730
+#: ../src/guestfs.pod:1922
 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 "
@@ -3452,19 +3785,19 @@ msgid ""
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1736
+#: ../src/guestfs.pod:1928
 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1738
+#: ../src/guestfs.pod:1930
 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:1741
+#: ../src/guestfs.pod:1933
 #, no-wrap
 msgid ""
 " total length (header + ret,\n"
@@ -3478,143 +3811,54 @@ msgid ""
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1749
+#: ../src/guestfs.pod:1941
 msgid "INITIAL MESSAGE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1751
+#: ../src/guestfs.pod:1943
 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</"
 "guestfs_launch> waits for."
 msgstr ""
 
-# type: =head3
-#: ../src/guestfs.pod:1755
-msgid "PROGRESS NOTIFICATION MESSAGES"
-msgstr ""
-
-# type: textblock
-#: ../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 "
-"C<GUESTFS_PROGRESS_FLAG>, followed by a fixed size progress message."
-msgstr ""
-
-# type: textblock
-#: ../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 "
-"discards them if not."
-msgstr ""
-
-# type: textblock
-#: ../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 "
-"messages."
-msgstr ""
-
-# type: =head1
-#: ../src/guestfs.pod:1769
-msgid "MULTIPLE HANDLES AND MULTIPLE THREADS"
-msgstr ""
-
-# type: textblock
-#: ../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: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 "
-"calls on the same handle at the same time."
-msgstr ""
-
-# type: textblock
-#: ../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:1781
-msgid "QEMU WRAPPERS"
-msgstr ""
-
-# type: textblock
-#: ../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 "
-"around qemu."
-msgstr ""
-
-# type: textblock
-#: ../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 "
-"becomes the direct child of the libguestfs-using program).  If you don't do "
-"this, then the qemu process won't be cleaned up correctly."
-msgstr ""
-
-# type: textblock
-#: ../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:1795
-#, no-wrap
-msgid ""
-" #!/bin/sh -\n"
-" qemudir=/home/rjones/d/qemu\n"
-" exec $qemudir/x86_64-softmmu/qemu-system-x86_64 -L $qemudir/pc-bios \"$@\"\n"
-"\n"
-msgstr ""
-
+# type: =head3
+#: ../src/guestfs.pod:1947
+msgid "PROGRESS NOTIFICATION MESSAGES"
+msgstr ""
+
 # type: textblock
-#: ../src/guestfs.pod:1799
+#: ../src/guestfs.pod:1949
 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 "
-"example:"
+"The daemon may send progress notification messages at any time.  These are "
+"distinguished by the normal length word being replaced by "
+"C<GUESTFS_PROGRESS_FLAG>, followed by a fixed size progress message."
 msgstr ""
 
-# type: verbatim
-#: ../src/guestfs.pod:1803
-#, no-wrap
+# type: textblock
+#: ../src/guestfs.pod:1953
 msgid ""
-" LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n"
-"\n"
+"The library turns them into progress callbacks (see "
+"C<guestfs_set_progress_callback>) if there is a callback registered, or "
+"discards them if not."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1805
+#: ../src/guestfs.pod:1957
 msgid ""
-"Note that libguestfs also calls qemu with the -help and -version options in "
-"order to determine features."
+"The daemon self-limits the frequency of progress messages it sends (see "
+"C<daemon/proto.c:notify_progress>).  Not all calls generate progress "
+"messages."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1808
+#: ../src/guestfs.pod:1961
 msgid "LIBGUESTFS VERSION NUMBERS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1810
+#: ../src/guestfs.pod:1963
 msgid ""
 "Since April 2010, libguestfs has started to make separate development and "
 "stable releases, along with corresponding branches in our git repository.  "
@@ -3622,7 +3866,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1815
+#: ../src/guestfs.pod:1968
 #, no-wrap
 msgid ""
 "                 even numbers for stable: 1.2.x, 1.4.x, ...\n"
@@ -3639,12 +3883,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1826
+#: ../src/guestfs.pod:1979
 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1828
+#: ../src/guestfs.pod:1981
 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 "
@@ -3654,26 +3898,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1834
+#: ../src/guestfs.pod:1987
 msgid "Our criteria for backporting changes are:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1840
+#: ../src/guestfs.pod:1993
 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:1846
+#: ../src/guestfs.pod:1999
 msgid ""
 "Bug fixes which are not controversial, fix obvious problems, and have been "
 "well tested are backported."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1851
+#: ../src/guestfs.pod:2004
 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 "
@@ -3681,7 +3925,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1857
+#: ../src/guestfs.pod:2010
 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 "
@@ -3689,7 +3933,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1863
+#: ../src/guestfs.pod:2016
 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 "
@@ -3700,47 +3944,47 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1871 ../fish/guestfish.pod:914
+#: ../src/guestfs.pod:2024 ../fish/guestfish.pod:914
 #: ../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:1875 ../fish/guestfish.pod:940
+#: ../src/guestfs.pod:2028 ../fish/guestfish.pod:940
 msgid "LIBGUESTFS_APPEND"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1877 ../fish/guestfish.pod:942
+#: ../src/guestfs.pod:2030 ../fish/guestfish.pod:942
 msgid "Pass additional options to the guest kernel."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1879 ../fish/guestfish.pod:944
+#: ../src/guestfs.pod:2032 ../fish/guestfish.pod:944
 msgid "LIBGUESTFS_DEBUG"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1881
+#: ../src/guestfs.pod:2034
 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:1884 ../fish/guestfish.pod:949
+#: ../src/guestfs.pod:2037 ../fish/guestfish.pod:949
 msgid "LIBGUESTFS_MEMSIZE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1886 ../fish/guestfish.pod:951
+#: ../src/guestfs.pod:2039 ../fish/guestfish.pod:951
 msgid ""
 "Set the memory allocated to the qemu process, in megabytes.  For example:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1889 ../fish/guestfish.pod:954
+#: ../src/guestfs.pod:2042 ../fish/guestfish.pod:954
 #, no-wrap
 msgid ""
 " LIBGUESTFS_MEMSIZE=700\n"
@@ -3748,58 +3992,58 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1891 ../fish/guestfish.pod:956
+#: ../src/guestfs.pod:2044 ../fish/guestfish.pod:956
 msgid "LIBGUESTFS_PATH"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1893
+#: ../src/guestfs.pod:2046
 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:1896 ../fish/guestfish.pod:961
+#: ../src/guestfs.pod:2049 ../fish/guestfish.pod:961
 msgid "LIBGUESTFS_QEMU"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1898 ../fish/guestfish.pod:963
+#: ../src/guestfs.pod:2051 ../fish/guestfish.pod:963
 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:1902
+#: ../src/guestfs.pod:2055
 msgid "See also L</QEMU WRAPPERS> above."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1904 ../fish/guestfish.pod:967
+#: ../src/guestfs.pod:2057 ../fish/guestfish.pod:967
 msgid "LIBGUESTFS_TRACE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1906
+#: ../src/guestfs.pod:2059
 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:1909 ../fish/guestfish.pod:976
+#: ../src/guestfs.pod:2062 ../fish/guestfish.pod:976
 msgid "TMPDIR"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1911 ../fish/guestfish.pod:978
+#: ../src/guestfs.pod:2064 ../fish/guestfish.pod:978
 msgid "Location of temporary directory, defaults to C</tmp>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1913 ../fish/guestfish.pod:980
+#: ../src/guestfs.pod:2066 ../fish/guestfish.pod:980
 msgid ""
 "If libguestfs was compiled to use the supermin appliance then the real "
 "appliance is cached in this directory, shared between all handles belonging "
@@ -3808,7 +4052,7 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1921 ../fish/guestfish.pod:1038
+#: ../src/guestfs.pod:2074 ../fish/guestfish.pod:1038
 #: ../test-tool/libguestfs-test-tool.pod:109 ../fuse/guestmount.pod:233
 #: ../inspector/virt-inspector.pl:536 ../tools/virt-edit.pl:350
 #: ../tools/virt-win-reg.pl:484 ../tools/virt-df.pl:640
@@ -3820,7 +4064,7 @@ msgid "SEE ALSO"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1923
+#: ../src/guestfs.pod:2076
 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-"
@@ -3830,84 +4074,84 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1941
+#: ../src/guestfs.pod:2094
 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:1948 ../tools/virt-win-reg.pl:499
+#: ../src/guestfs.pod:2101 ../tools/virt-win-reg.pl:499
 #: ../tools/virt-make-fs.pl:548
 msgid "BUGS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1950
+#: ../src/guestfs.pod:2103
 msgid "To get a list of bugs against libguestfs use this link:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1952
+#: ../src/guestfs.pod:2105
 msgid ""
 "L<https://bugzilla.redhat.com/buglist.cgi?"
 "component=libguestfs&product=Virtualization+Tools>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1954
+#: ../src/guestfs.pod:2107
 msgid "To report a new bug against libguestfs use this link:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1956
+#: ../src/guestfs.pod:2109
 msgid ""
 "L<https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1958
+#: ../src/guestfs.pod:2111
 msgid "When reporting a bug, please check:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1964
+#: ../src/guestfs.pod:2117
 msgid "That the bug hasn't been reported already."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1968
+#: ../src/guestfs.pod:2121
 msgid "That you are testing a recent version."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1972
+#: ../src/guestfs.pod:2125
 msgid "Describe the bug accurately, and give a way to reproduce it."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1976
+#: ../src/guestfs.pod:2129
 msgid ""
 "Run libguestfs-test-tool and paste the B<complete, unedited> output into the "
 "bug report."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1981 ../fish/guestfish.pod:1055
+#: ../src/guestfs.pod:2134 ../fish/guestfish.pod:1055
 #: ../test-tool/libguestfs-test-tool.pod:115 ../fuse/guestmount.pod:244
 #: ../inspector/virt-inspector.pl:546
 msgid "AUTHORS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1983 ../fish/guestfish.pod:1057
+#: ../src/guestfs.pod:2136 ../fish/guestfish.pod:1057
 #: ../test-tool/libguestfs-test-tool.pod:117 ../fuse/guestmount.pod:246
 msgid "Richard W.M. Jones (C<rjones at redhat dot com>)"
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1985 ../fish/guestfish.pod:1059
+#: ../src/guestfs.pod:2138 ../fish/guestfish.pod:1059
 #: ../test-tool/libguestfs-test-tool.pod:119 ../fuse/guestmount.pod:248
 #: ../inspector/virt-inspector.pl:560 ../tools/virt-edit.pl:366
 #: ../tools/virt-win-reg.pl:514 ../tools/virt-df.pl:653
@@ -3919,13 +4163,13 @@ msgid "COPYRIGHT"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1987 ../fish/guestfish.pod:1061
+#: ../src/guestfs.pod:2140 ../fish/guestfish.pod:1061
 #: ../fuse/guestmount.pod:250
 msgid "Copyright (C) 2009-2010 Red Hat Inc.  L<http://libguestfs.org/>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1990
+#: ../src/guestfs.pod:2143
 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 "
@@ -3934,7 +4178,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1995
+#: ../src/guestfs.pod:2148
 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 "
@@ -3943,7 +4187,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:2000
+#: ../src/guestfs.pod:2153
 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, "
@@ -4014,71 +4258,71 @@ msgstr ""
 #: ../src/guestfs-actions.pod:1682 ../src/guestfs-actions.pod:1704
 #: ../src/guestfs-actions.pod:1791 ../src/guestfs-actions.pod:2213
 #: ../src/guestfs-actions.pod:2357 ../src/guestfs-actions.pod:2418
-#: ../src/guestfs-actions.pod:2453 ../src/guestfs-actions.pod:3045
-#: ../src/guestfs-actions.pod:3060 ../src/guestfs-actions.pod:3080
-#: ../src/guestfs-actions.pod:3205 ../src/guestfs-actions.pod:3219
-#: ../src/guestfs-actions.pod:3232 ../src/guestfs-actions.pod:3246
-#: ../src/guestfs-actions.pod:3261 ../src/guestfs-actions.pod:3297
-#: ../src/guestfs-actions.pod:3369 ../src/guestfs-actions.pod:3389
-#: ../src/guestfs-actions.pod:3406 ../src/guestfs-actions.pod:3429
-#: ../src/guestfs-actions.pod:3452 ../src/guestfs-actions.pod:3484
-#: ../src/guestfs-actions.pod:3503 ../src/guestfs-actions.pod:3522
-#: ../src/guestfs-actions.pod:3557 ../src/guestfs-actions.pod:3569
-#: ../src/guestfs-actions.pod:3605 ../src/guestfs-actions.pod:3621
-#: ../src/guestfs-actions.pod:3634 ../src/guestfs-actions.pod:3649
-#: ../src/guestfs-actions.pod:3666 ../src/guestfs-actions.pod:3759
-#: ../src/guestfs-actions.pod:3779 ../src/guestfs-actions.pod:3792
-#: ../src/guestfs-actions.pod:3843 ../src/guestfs-actions.pod:3861
-#: ../src/guestfs-actions.pod:3879 ../src/guestfs-actions.pod:3895
-#: ../src/guestfs-actions.pod:3909 ../src/guestfs-actions.pod:3923
-#: ../src/guestfs-actions.pod:3940 ../src/guestfs-actions.pod:3955
-#: ../src/guestfs-actions.pod:3975 ../src/guestfs-actions.pod:4024
-#: ../src/guestfs-actions.pod:4055 ../src/guestfs-actions.pod:4074
-#: ../src/guestfs-actions.pod:4093 ../src/guestfs-actions.pod:4105
-#: ../src/guestfs-actions.pod:4122 ../src/guestfs-actions.pod:4135
-#: ../src/guestfs-actions.pod:4150 ../src/guestfs-actions.pod:4165
-#: ../src/guestfs-actions.pod:4200 ../src/guestfs-actions.pod:4215
-#: ../src/guestfs-actions.pod:4235 ../src/guestfs-actions.pod:4249
-#: ../src/guestfs-actions.pod:4266 ../src/guestfs-actions.pod:4315
-#: ../src/guestfs-actions.pod:4352 ../src/guestfs-actions.pod:4366
-#: ../src/guestfs-actions.pod:4394 ../src/guestfs-actions.pod:4411
-#: ../src/guestfs-actions.pod:4429 ../src/guestfs-actions.pod:4563
-#: ../src/guestfs-actions.pod:4620 ../src/guestfs-actions.pod:4642
-#: ../src/guestfs-actions.pod:4660 ../src/guestfs-actions.pod:4692
-#: ../src/guestfs-actions.pod:4758 ../src/guestfs-actions.pod:4775
-#: ../src/guestfs-actions.pod:4788 ../src/guestfs-actions.pod:4802
-#: ../src/guestfs-actions.pod:5091 ../src/guestfs-actions.pod:5110
-#: ../src/guestfs-actions.pod:5124 ../src/guestfs-actions.pod:5136
-#: ../src/guestfs-actions.pod:5150 ../src/guestfs-actions.pod:5162
-#: ../src/guestfs-actions.pod:5176 ../src/guestfs-actions.pod:5192
-#: ../src/guestfs-actions.pod:5213 ../src/guestfs-actions.pod:5232
-#: ../src/guestfs-actions.pod:5251 ../src/guestfs-actions.pod:5269
-#: ../src/guestfs-actions.pod:5292 ../src/guestfs-actions.pod:5310
-#: ../src/guestfs-actions.pod:5329 ../src/guestfs-actions.pod:5350
-#: ../src/guestfs-actions.pod:5369 ../src/guestfs-actions.pod:5386
-#: ../src/guestfs-actions.pod:5414 ../src/guestfs-actions.pod:5438
-#: ../src/guestfs-actions.pod:5457 ../src/guestfs-actions.pod:5481
-#: ../src/guestfs-actions.pod:5496 ../src/guestfs-actions.pod:5511
-#: ../src/guestfs-actions.pod:5530 ../src/guestfs-actions.pod:5567
-#: ../src/guestfs-actions.pod:5590 ../src/guestfs-actions.pod:5616
-#: ../src/guestfs-actions.pod:5724 ../src/guestfs-actions.pod:5845
-#: ../src/guestfs-actions.pod:5857 ../src/guestfs-actions.pod:5870
-#: ../src/guestfs-actions.pod:5883 ../src/guestfs-actions.pod:5905
-#: ../src/guestfs-actions.pod:5918 ../src/guestfs-actions.pod:5931
-#: ../src/guestfs-actions.pod:5944 ../src/guestfs-actions.pod:5959
-#: ../src/guestfs-actions.pod:6018 ../src/guestfs-actions.pod:6035
-#: ../src/guestfs-actions.pod:6051 ../src/guestfs-actions.pod:6067
-#: ../src/guestfs-actions.pod:6084 ../src/guestfs-actions.pod:6097
-#: ../src/guestfs-actions.pod:6117 ../src/guestfs-actions.pod:6153
-#: ../src/guestfs-actions.pod:6167 ../src/guestfs-actions.pod:6208
-#: ../src/guestfs-actions.pod:6221 ../src/guestfs-actions.pod:6239
-#: ../src/guestfs-actions.pod:6268 ../src/guestfs-actions.pod:6299
-#: ../src/guestfs-actions.pod:6418 ../src/guestfs-actions.pod:6436
-#: ../src/guestfs-actions.pod:6450 ../src/guestfs-actions.pod:6505
-#: ../src/guestfs-actions.pod:6518 ../src/guestfs-actions.pod:6563
-#: ../src/guestfs-actions.pod:6596 ../src/guestfs-actions.pod:6650
-#: ../src/guestfs-actions.pod:6676 ../src/guestfs-actions.pod:6742
-#: ../src/guestfs-actions.pod:6761 ../src/guestfs-actions.pod:6790
+#: ../src/guestfs-actions.pod:2453 ../src/guestfs-actions.pod:3049
+#: ../src/guestfs-actions.pod:3064 ../src/guestfs-actions.pod:3084
+#: ../src/guestfs-actions.pod:3209 ../src/guestfs-actions.pod:3223
+#: ../src/guestfs-actions.pod:3236 ../src/guestfs-actions.pod:3250
+#: ../src/guestfs-actions.pod:3265 ../src/guestfs-actions.pod:3301
+#: ../src/guestfs-actions.pod:3373 ../src/guestfs-actions.pod:3393
+#: ../src/guestfs-actions.pod:3410 ../src/guestfs-actions.pod:3433
+#: ../src/guestfs-actions.pod:3456 ../src/guestfs-actions.pod:3488
+#: ../src/guestfs-actions.pod:3507 ../src/guestfs-actions.pod:3526
+#: ../src/guestfs-actions.pod:3561 ../src/guestfs-actions.pod:3573
+#: ../src/guestfs-actions.pod:3609 ../src/guestfs-actions.pod:3625
+#: ../src/guestfs-actions.pod:3638 ../src/guestfs-actions.pod:3653
+#: ../src/guestfs-actions.pod:3670 ../src/guestfs-actions.pod:3763
+#: ../src/guestfs-actions.pod:3783 ../src/guestfs-actions.pod:3796
+#: ../src/guestfs-actions.pod:3847 ../src/guestfs-actions.pod:3865
+#: ../src/guestfs-actions.pod:3883 ../src/guestfs-actions.pod:3899
+#: ../src/guestfs-actions.pod:3913 ../src/guestfs-actions.pod:3927
+#: ../src/guestfs-actions.pod:3944 ../src/guestfs-actions.pod:3959
+#: ../src/guestfs-actions.pod:3979 ../src/guestfs-actions.pod:4028
+#: ../src/guestfs-actions.pod:4059 ../src/guestfs-actions.pod:4078
+#: ../src/guestfs-actions.pod:4097 ../src/guestfs-actions.pod:4109
+#: ../src/guestfs-actions.pod:4126 ../src/guestfs-actions.pod:4139
+#: ../src/guestfs-actions.pod:4154 ../src/guestfs-actions.pod:4169
+#: ../src/guestfs-actions.pod:4204 ../src/guestfs-actions.pod:4219
+#: ../src/guestfs-actions.pod:4239 ../src/guestfs-actions.pod:4253
+#: ../src/guestfs-actions.pod:4270 ../src/guestfs-actions.pod:4319
+#: ../src/guestfs-actions.pod:4356 ../src/guestfs-actions.pod:4370
+#: ../src/guestfs-actions.pod:4398 ../src/guestfs-actions.pod:4415
+#: ../src/guestfs-actions.pod:4433 ../src/guestfs-actions.pod:4567
+#: ../src/guestfs-actions.pod:4624 ../src/guestfs-actions.pod:4646
+#: ../src/guestfs-actions.pod:4664 ../src/guestfs-actions.pod:4696
+#: ../src/guestfs-actions.pod:4762 ../src/guestfs-actions.pod:4779
+#: ../src/guestfs-actions.pod:4792 ../src/guestfs-actions.pod:4806
+#: ../src/guestfs-actions.pod:5095 ../src/guestfs-actions.pod:5114
+#: ../src/guestfs-actions.pod:5128 ../src/guestfs-actions.pod:5140
+#: ../src/guestfs-actions.pod:5154 ../src/guestfs-actions.pod:5166
+#: ../src/guestfs-actions.pod:5180 ../src/guestfs-actions.pod:5196
+#: ../src/guestfs-actions.pod:5217 ../src/guestfs-actions.pod:5236
+#: ../src/guestfs-actions.pod:5255 ../src/guestfs-actions.pod:5273
+#: ../src/guestfs-actions.pod:5296 ../src/guestfs-actions.pod:5314
+#: ../src/guestfs-actions.pod:5333 ../src/guestfs-actions.pod:5354
+#: ../src/guestfs-actions.pod:5373 ../src/guestfs-actions.pod:5390
+#: ../src/guestfs-actions.pod:5418 ../src/guestfs-actions.pod:5442
+#: ../src/guestfs-actions.pod:5461 ../src/guestfs-actions.pod:5485
+#: ../src/guestfs-actions.pod:5500 ../src/guestfs-actions.pod:5515
+#: ../src/guestfs-actions.pod:5534 ../src/guestfs-actions.pod:5571
+#: ../src/guestfs-actions.pod:5594 ../src/guestfs-actions.pod:5620
+#: ../src/guestfs-actions.pod:5728 ../src/guestfs-actions.pod:5849
+#: ../src/guestfs-actions.pod:5861 ../src/guestfs-actions.pod:5874
+#: ../src/guestfs-actions.pod:5887 ../src/guestfs-actions.pod:5909
+#: ../src/guestfs-actions.pod:5922 ../src/guestfs-actions.pod:5935
+#: ../src/guestfs-actions.pod:5948 ../src/guestfs-actions.pod:5963
+#: ../src/guestfs-actions.pod:6022 ../src/guestfs-actions.pod:6039
+#: ../src/guestfs-actions.pod:6055 ../src/guestfs-actions.pod:6071
+#: ../src/guestfs-actions.pod:6088 ../src/guestfs-actions.pod:6101
+#: ../src/guestfs-actions.pod:6121 ../src/guestfs-actions.pod:6157
+#: ../src/guestfs-actions.pod:6171 ../src/guestfs-actions.pod:6212
+#: ../src/guestfs-actions.pod:6225 ../src/guestfs-actions.pod:6243
+#: ../src/guestfs-actions.pod:6272 ../src/guestfs-actions.pod:6303
+#: ../src/guestfs-actions.pod:6422 ../src/guestfs-actions.pod:6440
+#: ../src/guestfs-actions.pod:6454 ../src/guestfs-actions.pod:6509
+#: ../src/guestfs-actions.pod:6522 ../src/guestfs-actions.pod:6567
+#: ../src/guestfs-actions.pod:6600 ../src/guestfs-actions.pod:6654
+#: ../src/guestfs-actions.pod:6680 ../src/guestfs-actions.pod:6746
+#: ../src/guestfs-actions.pod:6765 ../src/guestfs-actions.pod:6794
 msgid "This function returns 0 on success or -1 on error."
 msgstr ""
 
@@ -4095,11 +4339,11 @@ msgstr ""
 #: ../src/guestfs-actions.pod:35 ../src/guestfs-actions.pod:243
 #: ../src/guestfs-actions.pod:264 ../src/guestfs-actions.pod:1435
 #: ../src/guestfs-actions.pod:1921 ../src/guestfs-actions.pod:1942
-#: ../src/guestfs-actions.pod:6684 ../src/guestfs-actions.pod:6853
+#: ../src/guestfs-actions.pod:6688 ../src/guestfs-actions.pod:6857
 #: ../fish/guestfish-actions.pod:31 ../fish/guestfish-actions.pod:156
 #: ../fish/guestfish-actions.pod:170 ../fish/guestfish-actions.pod:951
 #: ../fish/guestfish-actions.pod:1308 ../fish/guestfish-actions.pod:1322
-#: ../fish/guestfish-actions.pod:4423 ../fish/guestfish-actions.pod:4520
+#: ../fish/guestfish-actions.pod:4427 ../fish/guestfish-actions.pod:4524
 msgid ""
 "Deprecated functions will not be removed from the API, but the fact that "
 "they are deprecated indicates that there are problems with correct use of "
@@ -4110,11 +4354,11 @@ msgstr ""
 #: ../src/guestfs-actions.pod:39 ../src/guestfs-actions.pod:128
 #: ../src/guestfs-actions.pod:1092 ../src/guestfs-actions.pod:1893
 #: ../src/guestfs-actions.pod:1991 ../src/guestfs-actions.pod:2094
-#: ../src/guestfs-actions.pod:3047 ../src/guestfs-actions.pod:3062
-#: ../src/guestfs-actions.pod:4202 ../src/guestfs-actions.pod:5271
-#: ../src/guestfs-actions.pod:5388 ../src/guestfs-actions.pod:5498
-#: ../src/guestfs-actions.pod:5961 ../src/guestfs-actions.pod:6086
-#: ../src/guestfs-actions.pod:6598
+#: ../src/guestfs-actions.pod:3051 ../src/guestfs-actions.pod:3066
+#: ../src/guestfs-actions.pod:4206 ../src/guestfs-actions.pod:5275
+#: ../src/guestfs-actions.pod:5392 ../src/guestfs-actions.pod:5502
+#: ../src/guestfs-actions.pod:5965 ../src/guestfs-actions.pod:6090
+#: ../src/guestfs-actions.pod:6602
 msgid "(Added in 0.3)"
 msgstr ""
 
@@ -4211,11 +4455,11 @@ msgstr ""
 #: ../src/guestfs-actions.pod:1963 ../src/guestfs-actions.pod:2003
 #: ../src/guestfs-actions.pod:2058 ../src/guestfs-actions.pod:2081
 #: ../src/guestfs-actions.pod:2344 ../src/guestfs-actions.pod:2602
-#: ../src/guestfs-actions.pod:2623 ../src/guestfs-actions.pod:4338
-#: ../src/guestfs-actions.pod:4466 ../src/guestfs-actions.pod:4872
-#: ../src/guestfs-actions.pod:4898 ../src/guestfs-actions.pod:6194
-#: ../src/guestfs-actions.pod:6609 ../src/guestfs-actions.pod:6622
-#: ../src/guestfs-actions.pod:6635
+#: ../src/guestfs-actions.pod:2623 ../src/guestfs-actions.pod:4342
+#: ../src/guestfs-actions.pod:4470 ../src/guestfs-actions.pod:4876
+#: ../src/guestfs-actions.pod:4902 ../src/guestfs-actions.pod:6198
+#: ../src/guestfs-actions.pod:6613 ../src/guestfs-actions.pod:6626
+#: ../src/guestfs-actions.pod:6639
 msgid "On error this function returns -1."
 msgstr ""
 
@@ -4582,7 +4826,7 @@ msgstr ""
 #: ../src/guestfs-actions.pod:444 ../src/guestfs-actions.pod:475
 #: ../src/guestfs-actions.pod:489 ../src/guestfs-actions.pod:503
 #: ../src/guestfs-actions.pod:517 ../src/guestfs-actions.pod:535
-#: ../src/guestfs-actions.pod:4949
+#: ../src/guestfs-actions.pod:4953
 msgid "(Added in 0.7)"
 msgstr ""
 
@@ -4695,17 +4939,17 @@ msgstr ""
 #: ../src/guestfs-actions.pod:2106 ../src/guestfs-actions.pod:2268
 #: ../src/guestfs-actions.pod:2475 ../src/guestfs-actions.pod:2548
 #: ../src/guestfs-actions.pod:2684 ../src/guestfs-actions.pod:2713
-#: ../src/guestfs-actions.pod:2735 ../src/guestfs-actions.pod:2791
-#: ../src/guestfs-actions.pod:2814 ../src/guestfs-actions.pod:3191
-#: ../src/guestfs-actions.pod:3541 ../src/guestfs-actions.pod:3711
-#: ../src/guestfs-actions.pod:3821 ../src/guestfs-actions.pod:4484
-#: ../src/guestfs-actions.pod:4677 ../src/guestfs-actions.pod:4847
-#: ../src/guestfs-actions.pod:5025 ../src/guestfs-actions.pod:5074
-#: ../src/guestfs-actions.pod:5637 ../src/guestfs-actions.pod:5653
-#: ../src/guestfs-actions.pod:5670 ../src/guestfs-actions.pod:5694
-#: ../src/guestfs-actions.pod:6358 ../src/guestfs-actions.pod:6377
-#: ../src/guestfs-actions.pod:6395 ../src/guestfs-actions.pod:6575
-#: ../src/guestfs-actions.pod:6847
+#: ../src/guestfs-actions.pod:2735 ../src/guestfs-actions.pod:2795
+#: ../src/guestfs-actions.pod:2818 ../src/guestfs-actions.pod:3195
+#: ../src/guestfs-actions.pod:3545 ../src/guestfs-actions.pod:3715
+#: ../src/guestfs-actions.pod:3825 ../src/guestfs-actions.pod:4488
+#: ../src/guestfs-actions.pod:4681 ../src/guestfs-actions.pod:4851
+#: ../src/guestfs-actions.pod:5029 ../src/guestfs-actions.pod:5078
+#: ../src/guestfs-actions.pod:5641 ../src/guestfs-actions.pod:5657
+#: ../src/guestfs-actions.pod:5674 ../src/guestfs-actions.pod:5698
+#: ../src/guestfs-actions.pod:6362 ../src/guestfs-actions.pod:6381
+#: ../src/guestfs-actions.pod:6399 ../src/guestfs-actions.pod:6579
+#: ../src/guestfs-actions.pod:6851
 msgid ""
 "This function returns a string, or NULL on error.  I<The caller must free "
 "the returned string after use>."
@@ -4912,18 +5156,18 @@ msgstr ""
 #: ../src/guestfs-actions.pod:2226 ../src/guestfs-actions.pod:2250
 #: ../src/guestfs-actions.pod:2321 ../src/guestfs-actions.pod:2370
 #: ../src/guestfs-actions.pod:2573 ../src/guestfs-actions.pod:2754
-#: ../src/guestfs-actions.pod:2856 ../src/guestfs-actions.pod:3111
-#: ../src/guestfs-actions.pod:3173 ../src/guestfs-actions.pod:3278
-#: ../src/guestfs-actions.pod:3683 ../src/guestfs-actions.pod:4299
-#: ../src/guestfs-actions.pod:4819 ../src/guestfs-actions.pod:4945
-#: ../src/guestfs-actions.pod:5059 ../src/guestfs-actions.pod:5710
-#: ../src/guestfs-actions.pod:5771 ../src/guestfs-actions.pod:5826
-#: ../src/guestfs-actions.pod:5972 ../src/guestfs-actions.pod:5996
-#: ../src/guestfs-actions.pod:6468 ../src/guestfs-actions.pod:6488
-#: ../src/guestfs-actions.pod:6535 ../src/guestfs-actions.pod:6700
-#: ../src/guestfs-actions.pod:6719 ../src/guestfs-actions.pod:6804
-#: ../src/guestfs-actions.pod:6823 ../src/guestfs-actions.pod:6869
-#: ../src/guestfs-actions.pod:6888
+#: ../src/guestfs-actions.pod:2860 ../src/guestfs-actions.pod:3115
+#: ../src/guestfs-actions.pod:3177 ../src/guestfs-actions.pod:3282
+#: ../src/guestfs-actions.pod:3687 ../src/guestfs-actions.pod:4303
+#: ../src/guestfs-actions.pod:4823 ../src/guestfs-actions.pod:4949
+#: ../src/guestfs-actions.pod:5063 ../src/guestfs-actions.pod:5714
+#: ../src/guestfs-actions.pod:5775 ../src/guestfs-actions.pod:5830
+#: ../src/guestfs-actions.pod:5976 ../src/guestfs-actions.pod:6000
+#: ../src/guestfs-actions.pod:6472 ../src/guestfs-actions.pod:6492
+#: ../src/guestfs-actions.pod:6539 ../src/guestfs-actions.pod:6704
+#: ../src/guestfs-actions.pod:6723 ../src/guestfs-actions.pod:6808
+#: ../src/guestfs-actions.pod:6827 ../src/guestfs-actions.pod:6873
+#: ../src/guestfs-actions.pod:6892
 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 "
@@ -4933,15 +5177,15 @@ msgstr ""
 # type: textblock
 #: ../src/guestfs-actions.pod:459 ../src/guestfs-actions.pod:990
 #: ../src/guestfs-actions.pod:1008 ../src/guestfs-actions.pod:1413
-#: ../src/guestfs-actions.pod:2934 ../src/guestfs-actions.pod:2965
-#: ../src/guestfs-actions.pod:3524 ../src/guestfs-actions.pod:3574
-#: ../src/guestfs-actions.pod:3761 ../src/guestfs-actions.pod:3794
-#: ../src/guestfs-actions.pod:3957 ../src/guestfs-actions.pod:4303
-#: ../src/guestfs-actions.pod:4760 ../src/guestfs-actions.pod:5138
-#: ../src/guestfs-actions.pod:5152 ../src/guestfs-actions.pod:5164
-#: ../src/guestfs-actions.pod:5572 ../src/guestfs-actions.pod:6210
-#: ../src/guestfs-actions.pod:6223 ../src/guestfs-actions.pod:6452
-#: ../src/guestfs-actions.pod:6655 ../src/guestfs-actions.pod:6688
+#: ../src/guestfs-actions.pod:2938 ../src/guestfs-actions.pod:2969
+#: ../src/guestfs-actions.pod:3528 ../src/guestfs-actions.pod:3578
+#: ../src/guestfs-actions.pod:3765 ../src/guestfs-actions.pod:3798
+#: ../src/guestfs-actions.pod:3961 ../src/guestfs-actions.pod:4307
+#: ../src/guestfs-actions.pod:4764 ../src/guestfs-actions.pod:5142
+#: ../src/guestfs-actions.pod:5156 ../src/guestfs-actions.pod:5168
+#: ../src/guestfs-actions.pod:5576 ../src/guestfs-actions.pod:6214
+#: ../src/guestfs-actions.pod:6227 ../src/guestfs-actions.pod:6456
+#: ../src/guestfs-actions.pod:6659 ../src/guestfs-actions.pod:6692
 msgid "(Added in 0.8)"
 msgstr ""
 
@@ -5358,13 +5602,13 @@ msgstr ""
 #: ../src/guestfs-actions.pod:1902 ../src/guestfs-actions.pod:1974
 #: ../src/guestfs-actions.pod:2029 ../src/guestfs-actions.pod:2044
 #: ../src/guestfs-actions.pod:2069 ../src/guestfs-actions.pod:2092
-#: ../src/guestfs-actions.pod:2873 ../src/guestfs-actions.pod:2887
-#: ../src/guestfs-actions.pod:2902 ../src/guestfs-actions.pod:2916
-#: ../src/guestfs-actions.pod:2932 ../src/guestfs-actions.pod:2947
-#: ../src/guestfs-actions.pod:2963 ../src/guestfs-actions.pod:2977
-#: ../src/guestfs-actions.pod:2990 ../src/guestfs-actions.pod:3004
-#: ../src/guestfs-actions.pod:3019 ../src/guestfs-actions.pod:3034
-#: ../src/guestfs-actions.pod:4448
+#: ../src/guestfs-actions.pod:2877 ../src/guestfs-actions.pod:2891
+#: ../src/guestfs-actions.pod:2906 ../src/guestfs-actions.pod:2920
+#: ../src/guestfs-actions.pod:2936 ../src/guestfs-actions.pod:2951
+#: ../src/guestfs-actions.pod:2967 ../src/guestfs-actions.pod:2981
+#: ../src/guestfs-actions.pod:2994 ../src/guestfs-actions.pod:3008
+#: ../src/guestfs-actions.pod:3023 ../src/guestfs-actions.pod:3038
+#: ../src/guestfs-actions.pod:4452
 msgid "This function returns a C truth value on success or -1 on error."
 msgstr ""
 
@@ -5606,7 +5850,7 @@ msgid "See also C<guestfs_realpath>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:852 ../src/guestfs-actions.pod:6380
+#: ../src/guestfs-actions.pod:852 ../src/guestfs-actions.pod:6384
 msgid "(Added in 1.0.75)"
 msgstr ""
 
@@ -5626,8 +5870,8 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:860 ../src/guestfs-actions.pod:4935
-#: ../fish/guestfish-actions.pod:575 ../fish/guestfish-actions.pod:3267
+#: ../src/guestfs-actions.pod:860 ../src/guestfs-actions.pod:4939
+#: ../fish/guestfish-actions.pod:575 ../fish/guestfish-actions.pod:3271
 msgid "Return the contents of the file named C<path>."
 msgstr ""
 
@@ -5648,42 +5892,42 @@ msgstr ""
 #: ../src/guestfs-actions.pod:2168 ../src/guestfs-actions.pod:2187
 #: ../src/guestfs-actions.pod:2230 ../src/guestfs-actions.pod:2254
 #: ../src/guestfs-actions.pod:2271 ../src/guestfs-actions.pod:2300
-#: ../src/guestfs-actions.pod:4717 ../src/guestfs-actions.pod:4743
-#: ../src/guestfs-actions.pod:4874 ../src/guestfs-actions.pod:4900
-#: ../src/guestfs-actions.pod:4924 ../src/guestfs-actions.pod:5775
-#: ../src/guestfs-actions.pod:5830 ../src/guestfs-actions.pod:5976
-#: ../src/guestfs-actions.pod:6000 ../src/guestfs-actions.pod:6652
-#: ../src/guestfs-actions.pod:6678 ../src/guestfs-actions.pod:6704
-#: ../src/guestfs-actions.pod:6723 ../src/guestfs-actions.pod:6808
-#: ../src/guestfs-actions.pod:6827 ../src/guestfs-actions.pod:6873
-#: ../src/guestfs-actions.pod:6892 ../fish/guestfish-actions.pod:582
+#: ../src/guestfs-actions.pod:4721 ../src/guestfs-actions.pod:4747
+#: ../src/guestfs-actions.pod:4878 ../src/guestfs-actions.pod:4904
+#: ../src/guestfs-actions.pod:4928 ../src/guestfs-actions.pod:5779
+#: ../src/guestfs-actions.pod:5834 ../src/guestfs-actions.pod:5980
+#: ../src/guestfs-actions.pod:6004 ../src/guestfs-actions.pod:6656
+#: ../src/guestfs-actions.pod:6682 ../src/guestfs-actions.pod:6708
+#: ../src/guestfs-actions.pod:6727 ../src/guestfs-actions.pod:6812
+#: ../src/guestfs-actions.pod:6831 ../src/guestfs-actions.pod:6877
+#: ../src/guestfs-actions.pod:6896 ../fish/guestfish-actions.pod:582
 #: ../fish/guestfish-actions.pod:717 ../fish/guestfish-actions.pod:729
 #: ../fish/guestfish-actions.pod:905 ../fish/guestfish-actions.pod:915
 #: ../fish/guestfish-actions.pod:982 ../fish/guestfish-actions.pod:992
 #: ../fish/guestfish-actions.pod:1187 ../fish/guestfish-actions.pod:1462
 #: ../fish/guestfish-actions.pod:1472 ../fish/guestfish-actions.pod:1500
 #: ../fish/guestfish-actions.pod:1515 ../fish/guestfish-actions.pod:1525
-#: ../fish/guestfish-actions.pod:1544 ../fish/guestfish-actions.pod:3137
-#: ../fish/guestfish-actions.pod:3152 ../fish/guestfish-actions.pod:3228
-#: ../fish/guestfish-actions.pod:3245 ../fish/guestfish-actions.pod:3260
-#: ../fish/guestfish-actions.pod:3843 ../fish/guestfish-actions.pod:3889
-#: ../fish/guestfish-actions.pod:3974 ../fish/guestfish-actions.pod:3989
-#: ../fish/guestfish-actions.pod:4399 ../fish/guestfish-actions.pod:4417
-#: ../fish/guestfish-actions.pod:4434 ../fish/guestfish-actions.pod:4444
-#: ../fish/guestfish-actions.pod:4492 ../fish/guestfish-actions.pod:4502
-#: ../fish/guestfish-actions.pod:4531 ../fish/guestfish-actions.pod:4541
+#: ../fish/guestfish-actions.pod:1544 ../fish/guestfish-actions.pod:3141
+#: ../fish/guestfish-actions.pod:3156 ../fish/guestfish-actions.pod:3232
+#: ../fish/guestfish-actions.pod:3249 ../fish/guestfish-actions.pod:3264
+#: ../fish/guestfish-actions.pod:3847 ../fish/guestfish-actions.pod:3893
+#: ../fish/guestfish-actions.pod:3978 ../fish/guestfish-actions.pod:3993
+#: ../fish/guestfish-actions.pod:4403 ../fish/guestfish-actions.pod:4421
+#: ../fish/guestfish-actions.pod:4438 ../fish/guestfish-actions.pod:4448
+#: ../fish/guestfish-actions.pod:4496 ../fish/guestfish-actions.pod:4506
+#: ../fish/guestfish-actions.pod:4535 ../fish/guestfish-actions.pod:4545
 msgid ""
 "Because of the message protocol, there is a transfer limit of somewhere "
 "between 2MB and 4MB.  See L<guestfs(3)/PROTOCOL LIMITS>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:873 ../src/guestfs-actions.pod:3115
-#: ../src/guestfs-actions.pod:3177 ../src/guestfs-actions.pod:3194
-#: ../src/guestfs-actions.pod:3282 ../src/guestfs-actions.pod:3687
-#: ../src/guestfs-actions.pod:3701 ../src/guestfs-actions.pod:4823
-#: ../src/guestfs-actions.pod:4837 ../src/guestfs-actions.pod:6539
-#: ../src/guestfs-actions.pod:6553
+#: ../src/guestfs-actions.pod:873 ../src/guestfs-actions.pod:3119
+#: ../src/guestfs-actions.pod:3181 ../src/guestfs-actions.pod:3198
+#: ../src/guestfs-actions.pod:3286 ../src/guestfs-actions.pod:3691
+#: ../src/guestfs-actions.pod:3705 ../src/guestfs-actions.pod:4827
+#: ../src/guestfs-actions.pod:4841 ../src/guestfs-actions.pod:6543
+#: ../src/guestfs-actions.pod:6557
 msgid "(Added in 0.4)"
 msgstr ""
 
@@ -5805,9 +6049,9 @@ msgstr ""
 
 # type: textblock
 #: ../src/guestfs-actions.pod:930 ../src/guestfs-actions.pod:1238
-#: ../src/guestfs-actions.pod:2060 ../src/guestfs-actions.pod:2889
-#: ../src/guestfs-actions.pod:2918 ../src/guestfs-actions.pod:2979
-#: ../src/guestfs-actions.pod:3006 ../src/guestfs-actions.pod:6241
+#: ../src/guestfs-actions.pod:2060 ../src/guestfs-actions.pod:2893
+#: ../src/guestfs-actions.pod:2922 ../src/guestfs-actions.pod:2983
+#: ../src/guestfs-actions.pod:3010 ../src/guestfs-actions.pod:6245
 msgid "(Added in 1.0.2)"
 msgstr ""
 
@@ -5836,11 +6080,11 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:946 ../src/guestfs-actions.pod:4354
-#: ../src/guestfs-actions.pod:4413 ../src/guestfs-actions.pod:4450
-#: ../src/guestfs-actions.pod:4468 ../src/guestfs-actions.pod:4644
-#: ../src/guestfs-actions.pod:6155 ../src/guestfs-actions.pod:6169
-#: ../src/guestfs-actions.pod:6565
+#: ../src/guestfs-actions.pod:946 ../src/guestfs-actions.pod:4358
+#: ../src/guestfs-actions.pod:4417 ../src/guestfs-actions.pod:4454
+#: ../src/guestfs-actions.pod:4472 ../src/guestfs-actions.pod:4648
+#: ../src/guestfs-actions.pod:6159 ../src/guestfs-actions.pod:6173
+#: ../src/guestfs-actions.pod:6569
 msgid "(Added in 1.3.2)"
 msgstr ""
 
@@ -5915,11 +6159,11 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:986 ../src/guestfs-actions.pod:3938
-#: ../src/guestfs-actions.pod:4053 ../src/guestfs-actions.pod:4072
-#: ../src/guestfs-actions.pod:4091 ../fish/guestfish-actions.pod:671
-#: ../fish/guestfish-actions.pod:2627 ../fish/guestfish-actions.pod:2712
-#: ../fish/guestfish-actions.pod:2722 ../fish/guestfish-actions.pod:2732
+#: ../src/guestfs-actions.pod:986 ../src/guestfs-actions.pod:3942
+#: ../src/guestfs-actions.pod:4057 ../src/guestfs-actions.pod:4076
+#: ../src/guestfs-actions.pod:4095 ../fish/guestfish-actions.pod:671
+#: ../fish/guestfish-actions.pod:2631 ../fish/guestfish-actions.pod:2716
+#: ../fish/guestfish-actions.pod:2726 ../fish/guestfish-actions.pod:2736
 msgid "The mode actually set is affected by the umask."
 msgstr ""
 
@@ -5946,8 +6190,8 @@ msgid "Change the file owner to C<owner> and group to C<group>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1002 ../src/guestfs-actions.pod:3076
-#: ../fish/guestfish-actions.pod:679 ../fish/guestfish-actions.pod:2105
+#: ../src/guestfs-actions.pod:1002 ../src/guestfs-actions.pod:3080
+#: ../fish/guestfish-actions.pod:679 ../fish/guestfish-actions.pod:2109
 msgid ""
 "Only numeric uid and gid are supported.  If you want to use names, you will "
 "need to locate and parse the password file yourself (Augeas support makes "
@@ -6118,8 +6362,8 @@ msgstr ""
 # type: textblock
 #: ../src/guestfs-actions.pod:1110 ../src/guestfs-actions.pod:1233
 #: ../src/guestfs-actions.pod:1264 ../src/guestfs-actions.pod:1684
-#: ../src/guestfs-actions.pod:1706 ../src/guestfs-actions.pod:6744
-#: ../src/guestfs-actions.pod:6763
+#: ../src/guestfs-actions.pod:1706 ../src/guestfs-actions.pod:6748
+#: ../src/guestfs-actions.pod:6767
 msgid ""
 "This long-running command can generate progress notification messages so "
 "that the caller can display a progress bar or indicator.  To receive these "
@@ -6128,9 +6372,9 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1115 ../src/guestfs-actions.pod:3714
-#: ../src/guestfs-actions.pod:4850 ../src/guestfs-actions.pod:6472
-#: ../src/guestfs-actions.pod:6492 ../src/guestfs-actions.pod:6578
+#: ../src/guestfs-actions.pod:1115 ../src/guestfs-actions.pod:3718
+#: ../src/guestfs-actions.pod:4854 ../src/guestfs-actions.pod:6476
+#: ../src/guestfs-actions.pod:6496 ../src/guestfs-actions.pod:6582
 msgid "(Added in 1.0.87)"
 msgstr ""
 
@@ -6160,8 +6404,8 @@ msgstr ""
 # type: textblock
 #: ../src/guestfs-actions.pod:1129 ../src/guestfs-actions.pod:1143
 #: ../src/guestfs-actions.pod:1215 ../src/guestfs-actions.pod:1289
-#: ../src/guestfs-actions.pod:1398 ../src/guestfs-actions.pod:4317
-#: ../src/guestfs-actions.pod:4694
+#: ../src/guestfs-actions.pod:1398 ../src/guestfs-actions.pod:4321
+#: ../src/guestfs-actions.pod:4698
 msgid "(Added in 1.0.18)"
 msgstr ""
 
@@ -6252,10 +6496,10 @@ msgstr ""
 #: ../src/guestfs-actions.pod:1179 ../src/guestfs-actions.pod:1196
 #: ../src/guestfs-actions.pod:1309 ../src/guestfs-actions.pod:2233
 #: ../src/guestfs-actions.pod:2257 ../src/guestfs-actions.pod:2325
-#: ../src/guestfs-actions.pod:3824 ../src/guestfs-actions.pod:4217
-#: ../src/guestfs-actions.pod:5979 ../src/guestfs-actions.pod:6003
-#: ../src/guestfs-actions.pod:6611 ../src/guestfs-actions.pod:6624
-#: ../src/guestfs-actions.pod:6637
+#: ../src/guestfs-actions.pod:3828 ../src/guestfs-actions.pod:4221
+#: ../src/guestfs-actions.pod:5983 ../src/guestfs-actions.pod:6007
+#: ../src/guestfs-actions.pod:6615 ../src/guestfs-actions.pod:6628
+#: ../src/guestfs-actions.pod:6641
 msgid "(Added in 1.0.54)"
 msgstr ""
 
@@ -6334,8 +6578,8 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1227 ../src/guestfs-actions.pod:6235
-#: ../fish/guestfish-actions.pod:823 ../fish/guestfish-actions.pod:4147
+#: ../src/guestfs-actions.pod:1227 ../src/guestfs-actions.pod:6239
+#: ../fish/guestfish-actions.pod:823 ../fish/guestfish-actions.pod:4151
 msgid "C<filename> can also be a named pipe."
 msgstr ""
 
@@ -6383,7 +6627,7 @@ msgid "See also C<guestfs_download>, C<guestfs_pread>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1269 ../src/guestfs-actions.pod:6270
+#: ../src/guestfs-actions.pod:1269 ../src/guestfs-actions.pod:6274
 msgid "(Added in 1.5.17)"
 msgstr ""
 
@@ -6527,7 +6771,7 @@ msgstr ""
 
 # type: textblock
 #: ../src/guestfs-actions.pod:1344 ../src/guestfs-actions.pod:2071
-#: ../src/guestfs-actions.pod:5483
+#: ../src/guestfs-actions.pod:5487
 msgid "(Added in 1.0.69)"
 msgstr ""
 
@@ -6560,17 +6804,17 @@ msgstr ""
 #: ../src/guestfs-actions.pod:2190 ../src/guestfs-actions.pod:2346
 #: ../src/guestfs-actions.pod:2359 ../src/guestfs-actions.pod:2374
 #: ../src/guestfs-actions.pod:2420 ../src/guestfs-actions.pod:2442
-#: ../src/guestfs-actions.pod:2455 ../src/guestfs-actions.pod:3207
-#: ../src/guestfs-actions.pod:3221 ../src/guestfs-actions.pod:3234
-#: ../src/guestfs-actions.pod:3248 ../src/guestfs-actions.pod:4152
-#: ../src/guestfs-actions.pod:5028 ../src/guestfs-actions.pod:5077
-#: ../src/guestfs-actions.pod:5847 ../src/guestfs-actions.pod:5859
-#: ../src/guestfs-actions.pod:5872 ../src/guestfs-actions.pod:5885
-#: ../src/guestfs-actions.pod:5907 ../src/guestfs-actions.pod:5920
-#: ../src/guestfs-actions.pod:5933 ../src/guestfs-actions.pod:5946
-#: ../src/guestfs-actions.pod:6707 ../src/guestfs-actions.pod:6726
-#: ../src/guestfs-actions.pod:6811 ../src/guestfs-actions.pod:6830
-#: ../src/guestfs-actions.pod:6876 ../src/guestfs-actions.pod:6895
+#: ../src/guestfs-actions.pod:2455 ../src/guestfs-actions.pod:3211
+#: ../src/guestfs-actions.pod:3225 ../src/guestfs-actions.pod:3238
+#: ../src/guestfs-actions.pod:3252 ../src/guestfs-actions.pod:4156
+#: ../src/guestfs-actions.pod:5032 ../src/guestfs-actions.pod:5081
+#: ../src/guestfs-actions.pod:5851 ../src/guestfs-actions.pod:5863
+#: ../src/guestfs-actions.pod:5876 ../src/guestfs-actions.pod:5889
+#: ../src/guestfs-actions.pod:5911 ../src/guestfs-actions.pod:5924
+#: ../src/guestfs-actions.pod:5937 ../src/guestfs-actions.pod:5950
+#: ../src/guestfs-actions.pod:6711 ../src/guestfs-actions.pod:6730
+#: ../src/guestfs-actions.pod:6815 ../src/guestfs-actions.pod:6834
+#: ../src/guestfs-actions.pod:6880 ../src/guestfs-actions.pod:6899
 msgid "(Added in 1.0.66)"
 msgstr ""
 
@@ -7017,8 +7261,8 @@ msgstr ""
 #: ../src/guestfs-actions.pod:2551 ../src/guestfs-actions.pod:2577
 #: ../src/guestfs-actions.pod:2604 ../src/guestfs-actions.pod:2625
 #: ../src/guestfs-actions.pod:2658 ../src/guestfs-actions.pod:2738
-#: ../src/guestfs-actions.pod:2794 ../src/guestfs-actions.pod:2860
-#: ../src/guestfs-actions.pod:2992
+#: ../src/guestfs-actions.pod:2798 ../src/guestfs-actions.pod:2864
+#: ../src/guestfs-actions.pod:2996
 msgid "(Added in 1.5.3)"
 msgstr ""
 
@@ -7198,8 +7442,8 @@ msgid "See also C<guestfs_find0>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1753 ../src/guestfs-actions.pod:3651
-#: ../src/guestfs-actions.pod:5112
+#: ../src/guestfs-actions.pod:1753 ../src/guestfs-actions.pod:3655
+#: ../src/guestfs-actions.pod:5116
 msgid "(Added in 1.0.27)"
 msgstr ""
 
@@ -7369,7 +7613,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1866 ../src/guestfs-actions.pod:6749
+#: ../src/guestfs-actions.pod:1866 ../src/guestfs-actions.pod:6753
 msgid "(Added in 1.0.16)"
 msgstr ""
 
@@ -7408,11 +7652,11 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1882 ../src/guestfs-actions.pod:4790
-#: ../src/guestfs-actions.pod:5253 ../src/guestfs-actions.pod:5621
-#: ../src/guestfs-actions.pod:5640 ../src/guestfs-actions.pod:5656
-#: ../src/guestfs-actions.pod:5673 ../src/guestfs-actions.pod:6420
-#: ../src/guestfs-actions.pod:6438 ../src/guestfs-actions.pod:6792
+#: ../src/guestfs-actions.pod:1882 ../src/guestfs-actions.pod:4794
+#: ../src/guestfs-actions.pod:5257 ../src/guestfs-actions.pod:5625
+#: ../src/guestfs-actions.pod:5644 ../src/guestfs-actions.pod:5660
+#: ../src/guestfs-actions.pod:5677 ../src/guestfs-actions.pod:6424
+#: ../src/guestfs-actions.pod:6442 ../src/guestfs-actions.pod:6796
 msgid "(Added in 1.0.26)"
 msgstr ""
 
@@ -7455,7 +7699,7 @@ msgid "Return the direct appliance mode flag."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1904 ../src/guestfs-actions.pod:5294
+#: ../src/guestfs-actions.pod:1904 ../src/guestfs-actions.pod:5298
 msgid "(Added in 1.0.72)"
 msgstr ""
 
@@ -7488,7 +7732,7 @@ msgstr ""
 
 # type: textblock
 #: ../src/guestfs-actions.pod:1925 ../src/guestfs-actions.pod:1946
-#: ../src/guestfs-actions.pod:5312 ../src/guestfs-actions.pod:5331
+#: ../src/guestfs-actions.pod:5316 ../src/guestfs-actions.pod:5335
 msgid "(Added in 1.0.15)"
 msgstr ""
 
@@ -7549,20 +7793,20 @@ msgstr ""
 
 # type: textblock
 #: ../src/guestfs-actions.pod:1960 ../src/guestfs-actions.pod:2041
-#: ../src/guestfs-actions.pod:5347 ../src/guestfs-actions.pod:5454
+#: ../src/guestfs-actions.pod:5351 ../src/guestfs-actions.pod:5458
 #: ../fish/guestfish-actions.pod:1337 ../fish/guestfish-actions.pod:1388
-#: ../fish/guestfish-actions.pod:3554 ../fish/guestfish-actions.pod:3641
+#: ../fish/guestfish-actions.pod:3558 ../fish/guestfish-actions.pod:3645
 msgid ""
 "For more information on the architecture of libguestfs, see L<guestfs(3)>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1965 ../src/guestfs-actions.pod:3942
-#: ../src/guestfs-actions.pod:4057 ../src/guestfs-actions.pod:4076
-#: ../src/guestfs-actions.pod:4095 ../src/guestfs-actions.pod:4107
-#: ../src/guestfs-actions.pod:4124 ../src/guestfs-actions.pod:4137
-#: ../src/guestfs-actions.pod:5015 ../src/guestfs-actions.pod:5352
-#: ../src/guestfs-actions.pod:5595 ../src/guestfs-actions.pod:6196
+#: ../src/guestfs-actions.pod:1965 ../src/guestfs-actions.pod:3946
+#: ../src/guestfs-actions.pod:4061 ../src/guestfs-actions.pod:4080
+#: ../src/guestfs-actions.pod:4099 ../src/guestfs-actions.pod:4111
+#: ../src/guestfs-actions.pod:4128 ../src/guestfs-actions.pod:4141
+#: ../src/guestfs-actions.pod:5019 ../src/guestfs-actions.pod:5356
+#: ../src/guestfs-actions.pod:5599 ../src/guestfs-actions.pod:6200
 msgid "(Added in 1.0.55)"
 msgstr ""
 
@@ -7586,7 +7830,7 @@ msgid "This returns the enable network flag."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1976 ../src/guestfs-actions.pod:5371
+#: ../src/guestfs-actions.pod:1976 ../src/guestfs-actions.pod:5375
 msgid "(Added in 1.5.4)"
 msgstr ""
 
@@ -7681,7 +7925,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2020 ../src/guestfs-actions.pod:5416
+#: ../src/guestfs-actions.pod:2020 ../src/guestfs-actions.pod:5420
 msgid "(Added in 1.0.6)"
 msgstr ""
 
@@ -7705,12 +7949,12 @@ msgid "Return the recovery process enabled flag."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2031 ../src/guestfs-actions.pod:3082
-#: ../src/guestfs-actions.pod:3349 ../src/guestfs-actions.pod:3749
-#: ../src/guestfs-actions.pod:3781 ../src/guestfs-actions.pod:4720
-#: ../src/guestfs-actions.pod:5063 ../src/guestfs-actions.pod:5440
-#: ../src/guestfs-actions.pod:6099 ../src/guestfs-actions.pod:6119
-#: ../src/guestfs-actions.pod:6301
+#: ../src/guestfs-actions.pod:2031 ../src/guestfs-actions.pod:3086
+#: ../src/guestfs-actions.pod:3353 ../src/guestfs-actions.pod:3753
+#: ../src/guestfs-actions.pod:3785 ../src/guestfs-actions.pod:4724
+#: ../src/guestfs-actions.pod:5067 ../src/guestfs-actions.pod:5444
+#: ../src/guestfs-actions.pod:6103 ../src/guestfs-actions.pod:6123
+#: ../src/guestfs-actions.pod:6305
 msgid "(Added in 1.0.77)"
 msgstr ""
 
@@ -7737,7 +7981,7 @@ msgstr ""
 
 # type: textblock
 #: ../src/guestfs-actions.pod:2046 ../src/guestfs-actions.pod:2109
-#: ../src/guestfs-actions.pod:5459 ../src/guestfs-actions.pod:5513
+#: ../src/guestfs-actions.pod:5463 ../src/guestfs-actions.pod:5517
 msgid "(Added in 1.0.67)"
 msgstr ""
 
@@ -7763,11 +8007,11 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2056 ../src/guestfs-actions.pod:2885
-#: ../src/guestfs-actions.pod:2914 ../src/guestfs-actions.pod:2975
-#: ../src/guestfs-actions.pod:3002 ../fish/guestfish-actions.pod:1398
-#: ../fish/guestfish-actions.pod:1987 ../fish/guestfish-actions.pod:2005
-#: ../fish/guestfish-actions.pod:2043 ../fish/guestfish-actions.pod:2059
+#: ../src/guestfs-actions.pod:2056 ../src/guestfs-actions.pod:2889
+#: ../src/guestfs-actions.pod:2918 ../src/guestfs-actions.pod:2979
+#: ../src/guestfs-actions.pod:3006 ../fish/guestfish-actions.pod:1398
+#: ../fish/guestfish-actions.pod:1991 ../fish/guestfish-actions.pod:2009
+#: ../fish/guestfish-actions.pod:2047 ../fish/guestfish-actions.pod:2063
 msgid "For more information on states, see L<guestfs(3)>."
 msgstr ""
 
@@ -7889,18 +8133,18 @@ msgid "See also: C<guestfs_lgetxattrs>, L<attr(5)>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2125 ../src/guestfs-actions.pod:3094
-#: ../src/guestfs-actions.pod:3745
+#: ../src/guestfs-actions.pod:2125 ../src/guestfs-actions.pod:3098
+#: ../src/guestfs-actions.pod:3749
 msgid ""
 "This function returns a C<struct guestfs_xattr_list *>, or NULL if there was "
 "an error.  I<The caller must call C<guestfs_free_xattr_list> after use>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2129 ../src/guestfs-actions.pod:3098
-#: ../src/guestfs-actions.pod:3263 ../src/guestfs-actions.pod:3299
-#: ../src/guestfs-actions.pod:5093 ../src/guestfs-actions.pod:5532
-#: ../src/guestfs-actions.pod:6857
+#: ../src/guestfs-actions.pod:2129 ../src/guestfs-actions.pod:3102
+#: ../src/guestfs-actions.pod:3267 ../src/guestfs-actions.pod:3303
+#: ../src/guestfs-actions.pod:5097 ../src/guestfs-actions.pod:5536
+#: ../src/guestfs-actions.pod:6861
 msgid "(Added in 1.0.59)"
 msgstr ""
 
@@ -7940,8 +8184,8 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2152 ../src/guestfs-actions.pod:5697
-#: ../src/guestfs-actions.pod:5714
+#: ../src/guestfs-actions.pod:2152 ../src/guestfs-actions.pod:5701
+#: ../src/guestfs-actions.pod:5718
 msgid "(Added in 1.0.50)"
 msgstr ""
 
@@ -8091,8 +8335,8 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2248 ../src/guestfs-actions.pod:5994
-#: ../fish/guestfish-actions.pod:1513 ../fish/guestfish-actions.pod:3987
+#: ../src/guestfs-actions.pod:2248 ../src/guestfs-actions.pod:5998
+#: ../fish/guestfish-actions.pod:1513 ../fish/guestfish-actions.pod:3991
 msgid "If the parameter C<nrlines> is zero, this returns an empty list."
 msgstr ""
 
@@ -8119,8 +8363,8 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2274 ../src/guestfs-actions.pod:5778
-#: ../src/guestfs-actions.pod:5833
+#: ../src/guestfs-actions.pod:2274 ../src/guestfs-actions.pod:5782
+#: ../src/guestfs-actions.pod:5837
 msgid "(Added in 1.0.22)"
 msgstr ""
 
@@ -8171,8 +8415,8 @@ msgid "See also C<guestfs_initrd_list>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2296 ../src/guestfs-actions.pod:4713
-#: ../src/guestfs-actions.pod:4739 ../src/guestfs-actions.pod:4920
+#: ../src/guestfs-actions.pod:2296 ../src/guestfs-actions.pod:4717
+#: ../src/guestfs-actions.pod:4743 ../src/guestfs-actions.pod:4924
 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 "
@@ -8445,7 +8689,7 @@ msgstr ""
 #: ../src/guestfs-actions.pod:2612 ../src/guestfs-actions.pod:2633
 #: ../src/guestfs-actions.pod:2666 ../src/guestfs-actions.pod:2693
 #: ../src/guestfs-actions.pod:2722 ../src/guestfs-actions.pod:2764
-#: ../src/guestfs-actions.pod:2802
+#: ../src/guestfs-actions.pod:2806
 msgid ""
 "This function should only be called with a root device string as returned by "
 "C<guestfs_inspect_os>."
@@ -8469,13 +8713,13 @@ msgstr ""
 #: ../src/guestfs-actions.pod:2473 ../src/guestfs-actions.pod:2546
 #: ../src/guestfs-actions.pod:2600 ../src/guestfs-actions.pod:2682
 #: ../src/guestfs-actions.pod:2711 ../src/guestfs-actions.pod:2733
-#: ../src/guestfs-actions.pod:2752 ../src/guestfs-actions.pod:2789
-#: ../src/guestfs-actions.pod:2812 ../src/guestfs-actions.pod:2852
+#: ../src/guestfs-actions.pod:2752 ../src/guestfs-actions.pod:2793
+#: ../src/guestfs-actions.pod:2816 ../src/guestfs-actions.pod:2856
 #: ../fish/guestfish-actions.pod:1667 ../fish/guestfish-actions.pod:1733
 #: ../fish/guestfish-actions.pod:1772 ../fish/guestfish-actions.pod:1832
 #: ../fish/guestfish-actions.pod:1856 ../fish/guestfish-actions.pod:1873
-#: ../fish/guestfish-actions.pod:1886 ../fish/guestfish-actions.pod:1917
-#: ../fish/guestfish-actions.pod:1933 ../fish/guestfish-actions.pod:1967
+#: ../fish/guestfish-actions.pod:1886 ../fish/guestfish-actions.pod:1921
+#: ../fish/guestfish-actions.pod:1937 ../fish/guestfish-actions.pod:1971
 msgid "Please read L<guestfs(3)/INSPECTION> for more details."
 msgstr ""
 
@@ -8609,8 +8853,8 @@ msgid "Ubuntu."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2537 ../src/guestfs-actions.pod:2780
-#: ../fish/guestfish-actions.pod:1724 ../fish/guestfish-actions.pod:1908
+#: ../src/guestfs-actions.pod:2537 ../src/guestfs-actions.pod:2784
+#: ../fish/guestfish-actions.pod:1724 ../fish/guestfish-actions.pod:1912
 msgid "\"unknown\""
 msgstr ""
 
@@ -8620,8 +8864,8 @@ msgid "The distro could not be determined."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2543 ../src/guestfs-actions.pod:2786
-#: ../fish/guestfish-actions.pod:1730 ../fish/guestfish-actions.pod:1914
+#: ../src/guestfs-actions.pod:2543 ../src/guestfs-actions.pod:2790
+#: ../fish/guestfish-actions.pod:1730 ../fish/guestfish-actions.pod:1918
 msgid ""
 "Future versions of libguestfs may return other strings here.  The caller "
 "should be prepared to handle any string."
@@ -8775,8 +9019,8 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2652 ../src/guestfs-actions.pod:3151
-#: ../src/guestfs-actions.pod:4279 ../src/guestfs-actions.pod:6135
+#: ../src/guestfs-actions.pod:2652 ../src/guestfs-actions.pod:3155
+#: ../src/guestfs-actions.pod:4283 ../src/guestfs-actions.pod:6139
 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 "
@@ -8959,18 +9203,28 @@ msgstr ""
 msgid "Any Microsoft Windows operating system."
 msgstr ""
 
+# type: =item
+#: ../src/guestfs-actions.pod:2780 ../fish/guestfish-actions.pod:1908
+msgid "\"freebsd\""
+msgstr ""
+
 # type: textblock
 #: ../src/guestfs-actions.pod:2782 ../fish/guestfish-actions.pod:1910
+msgid "FreeBSD."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:2786 ../fish/guestfish-actions.pod:1914
 msgid "The operating system type could not be determined."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2796
+#: ../src/guestfs-actions.pod:2800
 msgid "guestfs_inspect_get_windows_systemroot"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2798
+#: ../src/guestfs-actions.pod:2802
 #, no-wrap
 msgid ""
 " char *\n"
@@ -8980,31 +9234,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2805 ../fish/guestfish-actions.pod:1926
+#: ../src/guestfs-actions.pod:2809 ../fish/guestfish-actions.pod:1930
 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:2808 ../fish/guestfish-actions.pod:1929
+#: ../src/guestfs-actions.pod:2812 ../fish/guestfish-actions.pod:1933
 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: textblock
-#: ../src/guestfs-actions.pod:2817
+#: ../src/guestfs-actions.pod:2821
 msgid "(Added in 1.5.25)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2819
+#: ../src/guestfs-actions.pod:2823
 msgid "guestfs_inspect_os"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2821
+#: ../src/guestfs-actions.pod:2825
 #, no-wrap
 msgid ""
 " char **\n"
@@ -9013,7 +9267,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2824 ../fish/guestfish-actions.pod:1939
+#: ../src/guestfs-actions.pod:2828 ../fish/guestfish-actions.pod:1943
 msgid ""
 "This function uses other libguestfs functions and certain heuristics to "
 "inspect the disk(s) (usually disks belonging to a virtual machine), looking "
@@ -9021,12 +9275,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2828 ../fish/guestfish-actions.pod:1943
+#: ../src/guestfs-actions.pod:2832 ../fish/guestfish-actions.pod:1947
 msgid "The list returned is empty if no operating systems were found."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2830 ../fish/guestfish-actions.pod:1945
+#: ../src/guestfs-actions.pod:2834 ../fish/guestfish-actions.pod:1949
 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.  "
@@ -9036,7 +9290,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2837
+#: ../src/guestfs-actions.pod:2841
 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, "
@@ -9044,7 +9298,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2842
+#: ../src/guestfs-actions.pod:2846
 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 "
@@ -9053,25 +9307,25 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2848 ../fish/guestfish-actions.pod:1963
+#: ../src/guestfs-actions.pod:2852 ../fish/guestfish-actions.pod:1967
 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:2854 ../src/guestfs-actions.pod:3109
-#: ../src/guestfs-actions.pod:3171
+#: ../src/guestfs-actions.pod:2858 ../src/guestfs-actions.pod:3113
+#: ../src/guestfs-actions.pod:3175
 msgid "See also C<guestfs_list_filesystems>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2862
+#: ../src/guestfs-actions.pod:2866
 msgid "guestfs_is_blockdev"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2864
+#: ../src/guestfs-actions.pod:2868
 #, no-wrap
 msgid ""
 " int\n"
@@ -9081,34 +9335,34 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2868 ../fish/guestfish-actions.pod:1975
+#: ../src/guestfs-actions.pod:2872 ../fish/guestfish-actions.pod:1979
 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:2871 ../src/guestfs-actions.pod:2900
-#: ../src/guestfs-actions.pod:2930 ../src/guestfs-actions.pod:2945
-#: ../src/guestfs-actions.pod:2961 ../src/guestfs-actions.pod:3017
-#: ../src/guestfs-actions.pod:3032
+#: ../src/guestfs-actions.pod:2875 ../src/guestfs-actions.pod:2904
+#: ../src/guestfs-actions.pod:2934 ../src/guestfs-actions.pod:2949
+#: ../src/guestfs-actions.pod:2965 ../src/guestfs-actions.pod:3021
+#: ../src/guestfs-actions.pod:3036
 msgid "See also C<guestfs_stat>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2875 ../src/guestfs-actions.pod:2904
-#: ../src/guestfs-actions.pod:2949 ../src/guestfs-actions.pod:3021
-#: ../src/guestfs-actions.pod:3036
+#: ../src/guestfs-actions.pod:2879 ../src/guestfs-actions.pod:2908
+#: ../src/guestfs-actions.pod:2953 ../src/guestfs-actions.pod:3025
+#: ../src/guestfs-actions.pod:3040
 msgid "(Added in 1.5.10)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2877
+#: ../src/guestfs-actions.pod:2881
 msgid "guestfs_is_busy"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2879
+#: ../src/guestfs-actions.pod:2883
 #, no-wrap
 msgid ""
 " int\n"
@@ -9117,19 +9371,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2882 ../fish/guestfish-actions.pod:1984
+#: ../src/guestfs-actions.pod:2886 ../fish/guestfish-actions.pod:1988
 msgid ""
 "This returns true iff this handle is busy processing a command (in the "
 "C<BUSY> state)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2891
+#: ../src/guestfs-actions.pod:2895
 msgid "guestfs_is_chardev"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2893
+#: ../src/guestfs-actions.pod:2897
 #, no-wrap
 msgid ""
 " int\n"
@@ -9139,19 +9393,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2897 ../fish/guestfish-actions.pod:1993
+#: ../src/guestfs-actions.pod:2901 ../fish/guestfish-actions.pod:1997
 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:2906
+#: ../src/guestfs-actions.pod:2910
 msgid "guestfs_is_config"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2908
+#: ../src/guestfs-actions.pod:2912
 #, no-wrap
 msgid ""
 " int\n"
@@ -9160,19 +9414,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2911 ../fish/guestfish-actions.pod:2002
+#: ../src/guestfs-actions.pod:2915 ../fish/guestfish-actions.pod:2006
 msgid ""
 "This returns true iff this handle is being configured (in the C<CONFIG> "
 "state)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2920
+#: ../src/guestfs-actions.pod:2924
 msgid "guestfs_is_dir"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2922
+#: ../src/guestfs-actions.pod:2926
 #, no-wrap
 msgid ""
 " int\n"
@@ -9182,19 +9436,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2926 ../fish/guestfish-actions.pod:2011
+#: ../src/guestfs-actions.pod:2930 ../fish/guestfish-actions.pod:2015
 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:2936
+#: ../src/guestfs-actions.pod:2940
 msgid "guestfs_is_fifo"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2938
+#: ../src/guestfs-actions.pod:2942
 #, no-wrap
 msgid ""
 " int\n"
@@ -9204,19 +9458,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2942 ../fish/guestfish-actions.pod:2021
+#: ../src/guestfs-actions.pod:2946 ../fish/guestfish-actions.pod:2025
 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:2951
+#: ../src/guestfs-actions.pod:2955
 msgid "guestfs_is_file"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2953
+#: ../src/guestfs-actions.pod:2957
 #, no-wrap
 msgid ""
 " int\n"
@@ -9226,19 +9480,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2957 ../fish/guestfish-actions.pod:2030
+#: ../src/guestfs-actions.pod:2961 ../fish/guestfish-actions.pod:2034
 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:2967
+#: ../src/guestfs-actions.pod:2971
 msgid "guestfs_is_launching"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2969
+#: ../src/guestfs-actions.pod:2973
 #, no-wrap
 msgid ""
 " int\n"
@@ -9247,19 +9501,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2972 ../fish/guestfish-actions.pod:2040
+#: ../src/guestfs-actions.pod:2976 ../fish/guestfish-actions.pod:2044
 msgid ""
 "This returns true iff this handle is launching the subprocess (in the "
 "C<LAUNCHING> state)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2981
+#: ../src/guestfs-actions.pod:2985
 msgid "guestfs_is_lv"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2983
+#: ../src/guestfs-actions.pod:2987
 #, no-wrap
 msgid ""
 " int\n"
@@ -9269,19 +9523,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2987 ../fish/guestfish-actions.pod:2049
+#: ../src/guestfs-actions.pod:2991 ../fish/guestfish-actions.pod:2053
 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:2994
+#: ../src/guestfs-actions.pod:2998
 msgid "guestfs_is_ready"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2996
+#: ../src/guestfs-actions.pod:3000
 #, no-wrap
 msgid ""
 " int\n"
@@ -9290,19 +9544,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2999 ../fish/guestfish-actions.pod:2056
+#: ../src/guestfs-actions.pod:3003 ../fish/guestfish-actions.pod:2060
 msgid ""
 "This returns true iff this handle is ready to accept commands (in the "
 "C<READY> state)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3008
+#: ../src/guestfs-actions.pod:3012
 msgid "guestfs_is_socket"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3010
+#: ../src/guestfs-actions.pod:3014
 #, no-wrap
 msgid ""
 " int\n"
@@ -9312,19 +9566,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3014 ../fish/guestfish-actions.pod:2065
+#: ../src/guestfs-actions.pod:3018 ../fish/guestfish-actions.pod:2069
 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:3023
+#: ../src/guestfs-actions.pod:3027
 msgid "guestfs_is_symlink"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3025
+#: ../src/guestfs-actions.pod:3029
 #, no-wrap
 msgid ""
 " int\n"
@@ -9334,19 +9588,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3029 ../fish/guestfish-actions.pod:2074
+#: ../src/guestfs-actions.pod:3033 ../fish/guestfish-actions.pod:2078
 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:3038
+#: ../src/guestfs-actions.pod:3042
 msgid "guestfs_kill_subprocess"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3040
+#: ../src/guestfs-actions.pod:3044
 #, no-wrap
 msgid ""
 " int\n"
@@ -9355,17 +9609,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3043 ../fish/guestfish-actions.pod:2083
+#: ../src/guestfs-actions.pod:3047 ../fish/guestfish-actions.pod:2087
 msgid "This kills the qemu subprocess.  You should never need to call this."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3049
+#: ../src/guestfs-actions.pod:3053
 msgid "guestfs_launch"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3051
+#: ../src/guestfs-actions.pod:3055
 #, no-wrap
 msgid ""
 " int\n"
@@ -9374,26 +9628,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3054 ../fish/guestfish-actions.pod:2091
+#: ../src/guestfs-actions.pod:3058 ../fish/guestfish-actions.pod:2095
 msgid ""
 "Internally libguestfs is implemented by running a virtual machine using "
 "L<qemu(1)>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3057 ../fish/guestfish-actions.pod:2094
+#: ../src/guestfs-actions.pod:3061 ../fish/guestfish-actions.pod:2098
 msgid ""
 "You should call this after configuring the handle (eg. adding drives) but "
 "before performing any actions."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3064
+#: ../src/guestfs-actions.pod:3068
 msgid "guestfs_lchown"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3066
+#: ../src/guestfs-actions.pod:3070
 #, no-wrap
 msgid ""
 " int\n"
@@ -9405,7 +9659,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3072
+#: ../src/guestfs-actions.pod:3076
 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 "
@@ -9413,12 +9667,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3084
+#: ../src/guestfs-actions.pod:3088
 msgid "guestfs_lgetxattrs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3086
+#: ../src/guestfs-actions.pod:3090
 #, no-wrap
 msgid ""
 " struct guestfs_xattr_list *\n"
@@ -9428,19 +9682,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3090
+#: ../src/guestfs-actions.pod:3094
 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:3100
+#: ../src/guestfs-actions.pod:3104
 msgid "guestfs_list_devices"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3102
+#: ../src/guestfs-actions.pod:3106
 #, no-wrap
 msgid ""
 " char **\n"
@@ -9449,22 +9703,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3105 ../fish/guestfish-actions.pod:2121
+#: ../src/guestfs-actions.pod:3109 ../fish/guestfish-actions.pod:2125
 msgid "List all the block devices."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3107 ../fish/guestfish-actions.pod:2123
+#: ../src/guestfs-actions.pod:3111 ../fish/guestfish-actions.pod:2127
 msgid "The full block device names are returned, eg. C</dev/sda>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3117
+#: ../src/guestfs-actions.pod:3121
 msgid "guestfs_list_filesystems"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3119
+#: ../src/guestfs-actions.pod:3123
 #, no-wrap
 msgid ""
 " char **\n"
@@ -9473,7 +9727,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3122 ../fish/guestfish-actions.pod:2131
+#: ../src/guestfs-actions.pod:3126 ../fish/guestfish-actions.pod:2135
 msgid ""
 "This inspection command looks for filesystems on partitions, block devices "
 "and logical volumes, returning a list of devices containing filesystems and "
@@ -9481,14 +9735,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3126 ../fish/guestfish-actions.pod:2135
+#: ../src/guestfs-actions.pod:3130 ../fish/guestfish-actions.pod:2139
 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:3130 ../fish/guestfish-actions.pod:2139
+#: ../src/guestfs-actions.pod:3134 ../fish/guestfish-actions.pod:2143
 #, no-wrap
 msgid ""
 " \"/dev/sda1\" => \"ntfs\"\n"
@@ -9499,14 +9753,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3135 ../fish/guestfish-actions.pod:2144
+#: ../src/guestfs-actions.pod:3139 ../fish/guestfish-actions.pod:2148
 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:3139
+#: ../src/guestfs-actions.pod:3143
 msgid ""
 "This command runs other libguestfs commands, which might include "
 "C<guestfs_mount> and C<guestfs_umount>, and therefore you should use this "
@@ -9514,7 +9768,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3143
+#: ../src/guestfs-actions.pod:3147
 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 "
@@ -9524,17 +9778,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3157 ../src/guestfs-actions.pod:4680
+#: ../src/guestfs-actions.pod:3161 ../src/guestfs-actions.pod:4684
 msgid "(Added in 1.5.15)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3159
+#: ../src/guestfs-actions.pod:3163
 msgid "guestfs_list_partitions"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3161
+#: ../src/guestfs-actions.pod:3165
 #, no-wrap
 msgid ""
 " char **\n"
@@ -9543,29 +9797,29 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3164 ../fish/guestfish-actions.pod:2164
+#: ../src/guestfs-actions.pod:3168 ../fish/guestfish-actions.pod:2168
 msgid "List all the partitions detected on all block devices."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3166 ../fish/guestfish-actions.pod:2166
+#: ../src/guestfs-actions.pod:3170 ../fish/guestfish-actions.pod:2170
 msgid "The full partition device names are returned, eg. C</dev/sda1>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3168
+#: ../src/guestfs-actions.pod:3172
 msgid ""
 "This does not return logical volumes.  For that you will need to call "
 "C<guestfs_lvs>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3179
+#: ../src/guestfs-actions.pod:3183
 msgid "guestfs_ll"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3181
+#: ../src/guestfs-actions.pod:3185
 #, no-wrap
 msgid ""
 " char *\n"
@@ -9575,26 +9829,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3185 ../fish/guestfish-actions.pod:2177
+#: ../src/guestfs-actions.pod:3189 ../fish/guestfish-actions.pod:2181
 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:3188 ../fish/guestfish-actions.pod:2180
+#: ../src/guestfs-actions.pod:3192 ../fish/guestfish-actions.pod:2184
 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:3196
+#: ../src/guestfs-actions.pod:3200
 msgid "guestfs_ln"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3198
+#: ../src/guestfs-actions.pod:3202
 #, no-wrap
 msgid ""
 " int\n"
@@ -9605,17 +9859,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3203 ../fish/guestfish-actions.pod:2187
+#: ../src/guestfs-actions.pod:3207 ../fish/guestfish-actions.pod:2191
 msgid "This command creates a hard link using the C<ln> command."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3209
+#: ../src/guestfs-actions.pod:3213
 msgid "guestfs_ln_f"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3211
+#: ../src/guestfs-actions.pod:3215
 #, no-wrap
 msgid ""
 " int\n"
@@ -9626,19 +9880,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3216 ../fish/guestfish-actions.pod:2193
+#: ../src/guestfs-actions.pod:3220 ../fish/guestfish-actions.pod:2197
 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:3223
+#: ../src/guestfs-actions.pod:3227
 msgid "guestfs_ln_s"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3225
+#: ../src/guestfs-actions.pod:3229
 #, no-wrap
 msgid ""
 " int\n"
@@ -9649,17 +9903,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3230 ../fish/guestfish-actions.pod:2200
+#: ../src/guestfs-actions.pod:3234 ../fish/guestfish-actions.pod:2204
 msgid "This command creates a symbolic link using the C<ln -s> command."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3236
+#: ../src/guestfs-actions.pod:3240
 msgid "guestfs_ln_sf"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3238
+#: ../src/guestfs-actions.pod:3242
 #, no-wrap
 msgid ""
 " int\n"
@@ -9670,19 +9924,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3243 ../fish/guestfish-actions.pod:2206
+#: ../src/guestfs-actions.pod:3247 ../fish/guestfish-actions.pod:2210
 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:3250
+#: ../src/guestfs-actions.pod:3254
 msgid "guestfs_lremovexattr"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3252
+#: ../src/guestfs-actions.pod:3256
 #, no-wrap
 msgid ""
 " int\n"
@@ -9693,19 +9947,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3257
+#: ../src/guestfs-actions.pod:3261
 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:3265
+#: ../src/guestfs-actions.pod:3269
 msgid "guestfs_ls"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3267
+#: ../src/guestfs-actions.pod:3271
 #, no-wrap
 msgid ""
 " char **\n"
@@ -9715,26 +9969,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3271 ../fish/guestfish-actions.pod:2221
+#: ../src/guestfs-actions.pod:3275 ../fish/guestfish-actions.pod:2225
 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:3275
+#: ../src/guestfs-actions.pod:3279
 msgid ""
 "This command is mostly useful for interactive sessions.  Programs should "
 "probably use C<guestfs_readdir> instead."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3284
+#: ../src/guestfs-actions.pod:3288
 msgid "guestfs_lsetxattr"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3286
+#: ../src/guestfs-actions.pod:3290
 #, no-wrap
 msgid ""
 " int\n"
@@ -9747,19 +10001,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3293
+#: ../src/guestfs-actions.pod:3297
 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:3301
+#: ../src/guestfs-actions.pod:3305
 msgid "guestfs_lstat"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3303
+#: ../src/guestfs-actions.pod:3307
 #, no-wrap
 msgid ""
 " struct guestfs_stat *\n"
@@ -9769,43 +10023,43 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3307 ../src/guestfs-actions.pod:5734
-#: ../fish/guestfish-actions.pod:2240 ../fish/guestfish-actions.pod:3822
+#: ../src/guestfs-actions.pod:3311 ../src/guestfs-actions.pod:5738
+#: ../fish/guestfish-actions.pod:2244 ../fish/guestfish-actions.pod:3826
 msgid "Returns file information for the given C<path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3309
+#: ../src/guestfs-actions.pod:3313
 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:3313 ../fish/guestfish-actions.pod:2246
+#: ../src/guestfs-actions.pod:3317 ../fish/guestfish-actions.pod:2250
 msgid "This is the same as the C<lstat(2)> system call."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3315 ../src/guestfs-actions.pod:5738
+#: ../src/guestfs-actions.pod:3319 ../src/guestfs-actions.pod:5742
 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: textblock
-#: ../src/guestfs-actions.pod:3319 ../src/guestfs-actions.pod:5742
-#: ../src/guestfs-actions.pod:5760 ../src/guestfs-actions.pod:6141
+#: ../src/guestfs-actions.pod:3323 ../src/guestfs-actions.pod:5746
+#: ../src/guestfs-actions.pod:5764 ../src/guestfs-actions.pod:6145
 msgid "(Added in 0.9.2)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3321
+#: ../src/guestfs-actions.pod:3325
 msgid "guestfs_lstatlist"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3323
+#: ../src/guestfs-actions.pod:3327
 #, no-wrap
 msgid ""
 " struct guestfs_stat_list *\n"
@@ -9816,7 +10070,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3328
+#: ../src/guestfs-actions.pod:3332
 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 "
@@ -9824,7 +10078,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3332 ../fish/guestfish-actions.pod:2256
+#: ../src/guestfs-actions.pod:3336 ../fish/guestfish-actions.pod:2260
 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, "
@@ -9832,7 +10086,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3337
+#: ../src/guestfs-actions.pod:3341
 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> "
@@ -9843,19 +10097,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3345
+#: ../src/guestfs-actions.pod:3349
 msgid ""
 "This function returns a C<struct guestfs_stat_list *>, or NULL if there was "
 "an error.  I<The caller must call C<guestfs_free_stat_list> after use>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3351
+#: ../src/guestfs-actions.pod:3355
 msgid "guestfs_luks_add_key"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3353
+#: ../src/guestfs-actions.pod:3357
 #, no-wrap
 msgid ""
 " int\n"
@@ -9868,7 +10122,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3360 ../fish/guestfish-actions.pod:2273
+#: ../src/guestfs-actions.pod:3364 ../fish/guestfish-actions.pod:2277
 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 "
@@ -9876,16 +10130,16 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3365
+#: ../src/guestfs-actions.pod:3369
 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:3371 ../src/guestfs-actions.pod:3411
-#: ../src/guestfs-actions.pod:3434 ../src/guestfs-actions.pod:3454
-#: ../src/guestfs-actions.pod:3486 ../src/guestfs-actions.pod:3505
+#: ../src/guestfs-actions.pod:3375 ../src/guestfs-actions.pod:3415
+#: ../src/guestfs-actions.pod:3438 ../src/guestfs-actions.pod:3458
+#: ../src/guestfs-actions.pod:3490 ../src/guestfs-actions.pod:3509
 msgid ""
 "This function takes a key or passphrase parameter which could contain "
 "sensitive material.  Read the section L</KEYS AND PASSPHRASES> for more "
@@ -9893,18 +10147,18 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3375 ../src/guestfs-actions.pod:3415
-#: ../src/guestfs-actions.pod:3438 ../src/guestfs-actions.pod:3458
+#: ../src/guestfs-actions.pod:3379 ../src/guestfs-actions.pod:3419
+#: ../src/guestfs-actions.pod:3442 ../src/guestfs-actions.pod:3462
 msgid "(Added in 1.5.2)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3377
+#: ../src/guestfs-actions.pod:3381
 msgid "guestfs_luks_close"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3379
+#: ../src/guestfs-actions.pod:3383
 #, no-wrap
 msgid ""
 " int\n"
@@ -9914,7 +10168,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3383
+#: ../src/guestfs-actions.pod:3387
 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 "
@@ -9923,19 +10177,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3391 ../src/guestfs-actions.pod:3490
-#: ../src/guestfs-actions.pod:3509 ../src/guestfs-actions.pod:3559
-#: ../src/guestfs-actions.pod:3607
+#: ../src/guestfs-actions.pod:3395 ../src/guestfs-actions.pod:3494
+#: ../src/guestfs-actions.pod:3513 ../src/guestfs-actions.pod:3563
+#: ../src/guestfs-actions.pod:3611
 msgid "(Added in 1.5.1)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3393
+#: ../src/guestfs-actions.pod:3397
 msgid "guestfs_luks_format"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3395
+#: ../src/guestfs-actions.pod:3399
 #, no-wrap
 msgid ""
 " int\n"
@@ -9947,7 +10201,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3401 ../fish/guestfish-actions.pod:2299
+#: ../src/guestfs-actions.pod:3405 ../fish/guestfish-actions.pod:2303
 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 "
@@ -9955,27 +10209,27 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3408 ../src/guestfs-actions.pod:3431
-#: ../src/guestfs-actions.pod:3571 ../src/guestfs-actions.pod:4431
-#: ../src/guestfs-actions.pod:5194 ../src/guestfs-actions.pod:5569
-#: ../src/guestfs-actions.pod:5592 ../src/guestfs-actions.pod:5618
-#: ../src/guestfs-actions.pod:6768 ../fish/guestfish-actions.pod:2307
-#: ../fish/guestfish-actions.pod:2320 ../fish/guestfish-actions.pod:2404
-#: ../fish/guestfish-actions.pod:2934 ../fish/guestfish-actions.pod:3441
-#: ../fish/guestfish-actions.pod:3721 ../fish/guestfish-actions.pod:3737
-#: ../fish/guestfish-actions.pod:3752 ../fish/guestfish-actions.pod:4467
+#: ../src/guestfs-actions.pod:3412 ../src/guestfs-actions.pod:3435
+#: ../src/guestfs-actions.pod:3575 ../src/guestfs-actions.pod:4435
+#: ../src/guestfs-actions.pod:5198 ../src/guestfs-actions.pod:5573
+#: ../src/guestfs-actions.pod:5596 ../src/guestfs-actions.pod:5622
+#: ../src/guestfs-actions.pod:6772 ../fish/guestfish-actions.pod:2311
+#: ../fish/guestfish-actions.pod:2324 ../fish/guestfish-actions.pod:2408
+#: ../fish/guestfish-actions.pod:2938 ../fish/guestfish-actions.pod:3445
+#: ../fish/guestfish-actions.pod:3725 ../fish/guestfish-actions.pod:3741
+#: ../fish/guestfish-actions.pod:3756 ../fish/guestfish-actions.pod:4471
 msgid ""
 "B<This command is dangerous.  Without careful use you can easily destroy all "
 "your data>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3417
+#: ../src/guestfs-actions.pod:3421
 msgid "guestfs_luks_format_cipher"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3419
+#: ../src/guestfs-actions.pod:3423
 #, no-wrap
 msgid ""
 " int\n"
@@ -9988,19 +10242,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3426
+#: ../src/guestfs-actions.pod:3430
 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:3440
+#: ../src/guestfs-actions.pod:3444
 msgid "guestfs_luks_kill_slot"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3442
+#: ../src/guestfs-actions.pod:3446
 #, no-wrap
 msgid ""
 " int\n"
@@ -10012,19 +10266,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3448 ../fish/guestfish-actions.pod:2327
+#: ../src/guestfs-actions.pod:3452 ../fish/guestfish-actions.pod:2331
 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:3460
+#: ../src/guestfs-actions.pod:3464
 msgid "guestfs_luks_open"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3462
+#: ../src/guestfs-actions.pod:3466
 #, no-wrap
 msgid ""
 " int\n"
@@ -10036,26 +10290,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3468 ../fish/guestfish-actions.pod:2338
+#: ../src/guestfs-actions.pod:3472 ../fish/guestfish-actions.pod:2342
 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:3471 ../fish/guestfish-actions.pod:2341
+#: ../src/guestfs-actions.pod:3475 ../fish/guestfish-actions.pod:2345
 msgid "C<device> is the encrypted block device or partition."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3473 ../fish/guestfish-actions.pod:2343
+#: ../src/guestfs-actions.pod:3477 ../fish/guestfish-actions.pod:2347
 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:3476 ../fish/guestfish-actions.pod:2346
+#: ../src/guestfs-actions.pod:3480 ../fish/guestfish-actions.pod:2350
 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 "
@@ -10063,7 +10317,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3480
+#: ../src/guestfs-actions.pod:3484
 msgid ""
 "If this block device contains LVM volume groups, then calling "
 "C<guestfs_vgscan> followed by C<guestfs_vg_activate_all> will make them "
@@ -10071,12 +10325,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3492
+#: ../src/guestfs-actions.pod:3496
 msgid "guestfs_luks_open_ro"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3494
+#: ../src/guestfs-actions.pod:3498
 #, no-wrap
 msgid ""
 " int\n"
@@ -10088,19 +10342,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3500
+#: ../src/guestfs-actions.pod:3504
 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:3511
+#: ../src/guestfs-actions.pod:3515
 msgid "guestfs_lvcreate"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3513
+#: ../src/guestfs-actions.pod:3517
 #, no-wrap
 msgid ""
 " int\n"
@@ -10112,19 +10366,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3519 ../fish/guestfish-actions.pod:2371
+#: ../src/guestfs-actions.pod:3523 ../fish/guestfish-actions.pod:2375
 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:3526
+#: ../src/guestfs-actions.pod:3530
 msgid "guestfs_lvm_canonical_lv_name"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3528
+#: ../src/guestfs-actions.pod:3532
 #, no-wrap
 msgid ""
 " char *\n"
@@ -10134,7 +10388,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3532 ../fish/guestfish-actions.pod:2378
+#: ../src/guestfs-actions.pod:3536 ../fish/guestfish-actions.pod:2382
 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/"
@@ -10142,29 +10396,29 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3536 ../fish/guestfish-actions.pod:2382
+#: ../src/guestfs-actions.pod:3540 ../fish/guestfish-actions.pod:2386
 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:3539
+#: ../src/guestfs-actions.pod:3543
 msgid "See also C<guestfs_is_lv>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3544
+#: ../src/guestfs-actions.pod:3548
 msgid "(Added in 1.5.24)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3546
+#: ../src/guestfs-actions.pod:3550
 msgid "guestfs_lvm_clear_filter"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3548
+#: ../src/guestfs-actions.pod:3552
 #, no-wrap
 msgid ""
 " int\n"
@@ -10173,26 +10427,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3551
+#: ../src/guestfs-actions.pod:3555
 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:3554 ../src/guestfs-actions.pod:3596
-#: ../fish/guestfish-actions.pod:2394 ../fish/guestfish-actions.pod:2425
+#: ../src/guestfs-actions.pod:3558 ../src/guestfs-actions.pod:3600
+#: ../fish/guestfish-actions.pod:2398 ../fish/guestfish-actions.pod:2429
 msgid ""
 "This command also clears the LVM cache and performs a volume group scan."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3561
+#: ../src/guestfs-actions.pod:3565
 msgid "guestfs_lvm_remove_all"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3563
+#: ../src/guestfs-actions.pod:3567
 #, no-wrap
 msgid ""
 " int\n"
@@ -10201,19 +10455,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3566 ../fish/guestfish-actions.pod:2401
+#: ../src/guestfs-actions.pod:3570 ../fish/guestfish-actions.pod:2405
 msgid ""
 "This command removes all LVM logical volumes, volume groups and physical "
 "volumes."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3576
+#: ../src/guestfs-actions.pod:3580
 msgid "guestfs_lvm_set_filter"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3578
+#: ../src/guestfs-actions.pod:3582
 #, no-wrap
 msgid ""
 " int\n"
@@ -10223,7 +10477,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3582 ../fish/guestfish-actions.pod:2411
+#: ../src/guestfs-actions.pod:3586 ../fish/guestfish-actions.pod:2415
 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 "
@@ -10231,7 +10485,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3586 ../fish/guestfish-actions.pod:2415
+#: ../src/guestfs-actions.pod:3590 ../fish/guestfish-actions.pod:2419
 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 "
@@ -10243,24 +10497,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3599 ../fish/guestfish-actions.pod:2428
+#: ../src/guestfs-actions.pod:3603 ../fish/guestfish-actions.pod:2432
 msgid "You can filter whole block devices or individual partitions."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3601 ../fish/guestfish-actions.pod:2430
+#: ../src/guestfs-actions.pod:3605 ../fish/guestfish-actions.pod:2434
 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:3609
+#: ../src/guestfs-actions.pod:3613
 msgid "guestfs_lvremove"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3611
+#: ../src/guestfs-actions.pod:3615
 #, no-wrap
 msgid ""
 " int\n"
@@ -10270,32 +10524,32 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3615 ../fish/guestfish-actions.pod:2438
+#: ../src/guestfs-actions.pod:3619 ../fish/guestfish-actions.pod:2442
 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:3618 ../fish/guestfish-actions.pod:2441
+#: ../src/guestfs-actions.pod:3622 ../fish/guestfish-actions.pod:2445
 msgid ""
 "You can also remove all LVs in a volume group by specifying the VG name, C</"
 "dev/VG>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3623 ../src/guestfs-actions.pod:4777
-#: ../src/guestfs-actions.pod:6507
+#: ../src/guestfs-actions.pod:3627 ../src/guestfs-actions.pod:4781
+#: ../src/guestfs-actions.pod:6511
 msgid "(Added in 1.0.13)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3625
+#: ../src/guestfs-actions.pod:3629
 msgid "guestfs_lvrename"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3627
+#: ../src/guestfs-actions.pod:3631
 #, no-wrap
 msgid ""
 " int\n"
@@ -10306,22 +10560,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3632 ../fish/guestfish-actions.pod:2448
+#: ../src/guestfs-actions.pod:3636 ../fish/guestfish-actions.pod:2452
 msgid "Rename a logical volume C<logvol> with the new name C<newlogvol>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3636 ../src/guestfs-actions.pod:6520
+#: ../src/guestfs-actions.pod:3640 ../src/guestfs-actions.pod:6524
 msgid "(Added in 1.0.83)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3638
+#: ../src/guestfs-actions.pod:3642
 msgid "guestfs_lvresize"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3640
+#: ../src/guestfs-actions.pod:3644
 #, no-wrap
 msgid ""
 " int\n"
@@ -10332,19 +10586,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3645 ../fish/guestfish-actions.pod:2454
+#: ../src/guestfs-actions.pod:3649 ../fish/guestfish-actions.pod:2458
 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:3653
+#: ../src/guestfs-actions.pod:3657
 msgid "guestfs_lvresize_free"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3655
+#: ../src/guestfs-actions.pod:3659
 #, no-wrap
 msgid ""
 " int\n"
@@ -10355,7 +10609,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3660 ../fish/guestfish-actions.pod:2462
+#: ../src/guestfs-actions.pod:3664 ../fish/guestfish-actions.pod:2466
 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 "
@@ -10364,17 +10618,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3668
+#: ../src/guestfs-actions.pod:3672
 msgid "(Added in 1.3.3)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3670
+#: ../src/guestfs-actions.pod:3674
 msgid "guestfs_lvs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3672
+#: ../src/guestfs-actions.pod:3676
 #, no-wrap
 msgid ""
 " char **\n"
@@ -10383,31 +10637,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3675 ../fish/guestfish-actions.pod:2472
+#: ../src/guestfs-actions.pod:3679 ../fish/guestfish-actions.pod:2476
 msgid ""
 "List all the logical volumes detected.  This is the equivalent of the L<lvs"
 "(8)> command."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3678 ../fish/guestfish-actions.pod:2475
+#: ../src/guestfs-actions.pod:3682 ../fish/guestfish-actions.pod:2479
 msgid ""
 "This returns a list of the logical volume device names (eg. C</dev/"
 "VolGroup00/LogVol00>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3681
+#: ../src/guestfs-actions.pod:3685
 msgid "See also C<guestfs_lvs_full>, C<guestfs_list_filesystems>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3689
+#: ../src/guestfs-actions.pod:3693
 msgid "guestfs_lvs_full"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3691
+#: ../src/guestfs-actions.pod:3695
 #, no-wrap
 msgid ""
 " struct guestfs_lvm_lv_list *\n"
@@ -10416,26 +10670,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3694 ../fish/guestfish-actions.pod:2484
+#: ../src/guestfs-actions.pod:3698 ../fish/guestfish-actions.pod:2488
 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:3697
+#: ../src/guestfs-actions.pod:3701
 msgid ""
 "This function returns a C<struct guestfs_lvm_lv_list *>, or NULL if there "
 "was an error.  I<The caller must call C<guestfs_free_lvm_lv_list> after use>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3703
+#: ../src/guestfs-actions.pod:3707
 msgid "guestfs_lvuuid"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3705
+#: ../src/guestfs-actions.pod:3709
 #, no-wrap
 msgid ""
 " char *\n"
@@ -10445,17 +10699,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3709 ../fish/guestfish-actions.pod:2491
+#: ../src/guestfs-actions.pod:3713 ../fish/guestfish-actions.pod:2495
 msgid "This command returns the UUID of the LVM LV C<device>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3716
+#: ../src/guestfs-actions.pod:3720
 msgid "guestfs_lxattrlist"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3718
+#: ../src/guestfs-actions.pod:3722
 #, no-wrap
 msgid ""
 " struct guestfs_xattr_list *\n"
@@ -10466,7 +10720,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3723 ../fish/guestfish-actions.pod:2497
+#: ../src/guestfs-actions.pod:3727 ../fish/guestfish-actions.pod:2501
 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 "
@@ -10474,7 +10728,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3727 ../fish/guestfish-actions.pod:2501
+#: ../src/guestfs-actions.pod:3731 ../fish/guestfish-actions.pod:2505
 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>.  "
@@ -10486,7 +10740,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3737
+#: ../src/guestfs-actions.pod:3741
 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 "
@@ -10497,12 +10751,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3751
+#: ../src/guestfs-actions.pod:3755
 msgid "guestfs_mkdir"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3753
+#: ../src/guestfs-actions.pod:3757
 #, no-wrap
 msgid ""
 " int\n"
@@ -10512,17 +10766,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3757 ../fish/guestfish-actions.pod:2523
+#: ../src/guestfs-actions.pod:3761 ../fish/guestfish-actions.pod:2527
 msgid "Create a directory named C<path>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3763
+#: ../src/guestfs-actions.pod:3767
 msgid "guestfs_mkdir_mode"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3765
+#: ../src/guestfs-actions.pod:3769
 #, no-wrap
 msgid ""
 " int\n"
@@ -10533,14 +10787,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3770 ../fish/guestfish-actions.pod:2529
+#: ../src/guestfs-actions.pod:3774 ../fish/guestfish-actions.pod:2533
 msgid ""
 "This command creates a directory, setting the initial permissions of the "
 "directory to C<mode>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3773 ../fish/guestfish-actions.pod:2532
+#: ../src/guestfs-actions.pod:3777 ../fish/guestfish-actions.pod:2536
 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 "
@@ -10548,17 +10802,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3777
+#: ../src/guestfs-actions.pod:3781
 msgid "See also C<guestfs_mkdir>, C<guestfs_umask>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3783
+#: ../src/guestfs-actions.pod:3787
 msgid "guestfs_mkdir_p"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3785
+#: ../src/guestfs-actions.pod:3789
 #, no-wrap
 msgid ""
 " int\n"
@@ -10568,19 +10822,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3789 ../fish/guestfish-actions.pod:2542
+#: ../src/guestfs-actions.pod:3793 ../fish/guestfish-actions.pod:2546
 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:3796
+#: ../src/guestfs-actions.pod:3800
 msgid "guestfs_mkdtemp"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3798
+#: ../src/guestfs-actions.pod:3802
 #, no-wrap
 msgid ""
 " char *\n"
@@ -10590,7 +10844,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3802 ../fish/guestfish-actions.pod:2549
+#: ../src/guestfs-actions.pod:3806 ../fish/guestfish-actions.pod:2553
 msgid ""
 "This command creates a temporary directory.  The C<template> parameter "
 "should be a full pathname for the temporary directory name with the final "
@@ -10598,41 +10852,41 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3807 ../fish/guestfish-actions.pod:2554
+#: ../src/guestfs-actions.pod:3811 ../fish/guestfish-actions.pod:2558
 msgid ""
 "For example: \"/tmp/myprogXXXXXX\" or \"/Temp/myprogXXXXXX\", the second one "
 "being suitable for Windows filesystems."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3810 ../fish/guestfish-actions.pod:2557
+#: ../src/guestfs-actions.pod:3814 ../fish/guestfish-actions.pod:2561
 msgid "The name of the temporary directory that was created is returned."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3813 ../fish/guestfish-actions.pod:2560
+#: ../src/guestfs-actions.pod:3817 ../fish/guestfish-actions.pod:2564
 msgid "The temporary directory is created with mode 0700 and is owned by root."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3816 ../fish/guestfish-actions.pod:2563
+#: ../src/guestfs-actions.pod:3820 ../fish/guestfish-actions.pod:2567
 msgid ""
 "The caller is responsible for deleting the temporary directory and its "
 "contents after use."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3819 ../fish/guestfish-actions.pod:2566
+#: ../src/guestfs-actions.pod:3823 ../fish/guestfish-actions.pod:2570
 msgid "See also: L<mkdtemp(3)>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3826
+#: ../src/guestfs-actions.pod:3830
 msgid "guestfs_mke2fs_J"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3828
+#: ../src/guestfs-actions.pod:3832
 #, no-wrap
 msgid ""
 " int\n"
@@ -10645,14 +10899,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3835 ../fish/guestfish-actions.pod:2572
+#: ../src/guestfs-actions.pod:3839 ../fish/guestfish-actions.pod:2576
 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:3839 ../fish/guestfish-actions.pod:2576
+#: ../src/guestfs-actions.pod:3843 ../fish/guestfish-actions.pod:2580
 #, no-wrap
 msgid ""
 " mke2fs -t fstype -b blocksize -J device=<journal> <device>\n"
@@ -10660,25 +10914,25 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3841
+#: ../src/guestfs-actions.pod:3845
 msgid "See also C<guestfs_mke2journal>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3845 ../src/guestfs-actions.pod:3863
-#: ../src/guestfs-actions.pod:3881 ../src/guestfs-actions.pod:3897
-#: ../src/guestfs-actions.pod:3911 ../src/guestfs-actions.pod:3925
-#: ../src/guestfs-actions.pod:3977 ../src/guestfs-actions.pod:4167
+#: ../src/guestfs-actions.pod:3849 ../src/guestfs-actions.pod:3867
+#: ../src/guestfs-actions.pod:3885 ../src/guestfs-actions.pod:3901
+#: ../src/guestfs-actions.pod:3915 ../src/guestfs-actions.pod:3929
+#: ../src/guestfs-actions.pod:3981 ../src/guestfs-actions.pod:4171
 msgid "(Added in 1.0.68)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3847
+#: ../src/guestfs-actions.pod:3851
 msgid "guestfs_mke2fs_JL"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3849
+#: ../src/guestfs-actions.pod:3853
 #, no-wrap
 msgid ""
 " int\n"
@@ -10691,24 +10945,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3856 ../fish/guestfish-actions.pod:2584
+#: ../src/guestfs-actions.pod:3860 ../fish/guestfish-actions.pod:2588
 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:3859
+#: ../src/guestfs-actions.pod:3863
 msgid "See also C<guestfs_mke2journal_L>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3865
+#: ../src/guestfs-actions.pod:3869
 msgid "guestfs_mke2fs_JU"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3867
+#: ../src/guestfs-actions.pod:3871
 #, no-wrap
 msgid ""
 " int\n"
@@ -10721,24 +10975,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3874 ../fish/guestfish-actions.pod:2593
+#: ../src/guestfs-actions.pod:3878 ../fish/guestfish-actions.pod:2597
 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:3877
+#: ../src/guestfs-actions.pod:3881
 msgid "See also C<guestfs_mke2journal_U>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3883
+#: ../src/guestfs-actions.pod:3887
 msgid "guestfs_mke2journal"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3885
+#: ../src/guestfs-actions.pod:3889
 #, no-wrap
 msgid ""
 " int\n"
@@ -10749,14 +11003,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3890 ../fish/guestfish-actions.pod:2602
+#: ../src/guestfs-actions.pod:3894 ../fish/guestfish-actions.pod:2606
 msgid ""
 "This creates an ext2 external journal on C<device>.  It is equivalent to the "
 "command:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3893 ../fish/guestfish-actions.pod:2605
+#: ../src/guestfs-actions.pod:3897 ../fish/guestfish-actions.pod:2609
 #, no-wrap
 msgid ""
 " mke2fs -O journal_dev -b blocksize device\n"
@@ -10764,12 +11018,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3899
+#: ../src/guestfs-actions.pod:3903
 msgid "guestfs_mke2journal_L"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3901
+#: ../src/guestfs-actions.pod:3905
 #, no-wrap
 msgid ""
 " int\n"
@@ -10781,17 +11035,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3907 ../fish/guestfish-actions.pod:2611
+#: ../src/guestfs-actions.pod:3911 ../fish/guestfish-actions.pod:2615
 msgid "This creates an ext2 external journal on C<device> with label C<label>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3913
+#: ../src/guestfs-actions.pod:3917
 msgid "guestfs_mke2journal_U"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3915
+#: ../src/guestfs-actions.pod:3919
 #, no-wrap
 msgid ""
 " int\n"
@@ -10803,17 +11057,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3921 ../fish/guestfish-actions.pod:2617
+#: ../src/guestfs-actions.pod:3925 ../fish/guestfish-actions.pod:2621
 msgid "This creates an ext2 external journal on C<device> with UUID C<uuid>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3927
+#: ../src/guestfs-actions.pod:3931
 msgid "guestfs_mkfifo"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3929
+#: ../src/guestfs-actions.pod:3933
 #, no-wrap
 msgid ""
 " int\n"
@@ -10824,19 +11078,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3934
+#: ../src/guestfs-actions.pod:3938
 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:3944
+#: ../src/guestfs-actions.pod:3948
 msgid "guestfs_mkfs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3946
+#: ../src/guestfs-actions.pod:3950
 #, no-wrap
 msgid ""
 " int\n"
@@ -10847,19 +11101,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3951 ../fish/guestfish-actions.pod:2633
+#: ../src/guestfs-actions.pod:3955 ../fish/guestfish-actions.pod:2637
 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:3959
+#: ../src/guestfs-actions.pod:3963
 msgid "guestfs_mkfs_b"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3961
+#: ../src/guestfs-actions.pod:3965
 #, no-wrap
 msgid ""
 " int\n"
@@ -10871,7 +11125,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3967
+#: ../src/guestfs-actions.pod:3971
 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 "
@@ -10879,19 +11133,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3972 ../fish/guestfish-actions.pod:2646
+#: ../src/guestfs-actions.pod:3976 ../fish/guestfish-actions.pod:2650
 msgid ""
 "For VFAT and NTFS the C<blocksize> parameter is treated as the requested "
 "cluster size."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3979
+#: ../src/guestfs-actions.pod:3983
 msgid "guestfs_mkmountpoint"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3981
+#: ../src/guestfs-actions.pod:3985
 #, no-wrap
 msgid ""
 " int\n"
@@ -10901,7 +11155,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3985
+#: ../src/guestfs-actions.pod:3989
 msgid ""
 "C<guestfs_mkmountpoint> and C<guestfs_rmmountpoint> are specialized calls "
 "that can be used to create extra mountpoints before mounting the first "
@@ -10909,7 +11163,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3989 ../fish/guestfish-actions.pod:2657
+#: ../src/guestfs-actions.pod:3993 ../fish/guestfish-actions.pod:2661
 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 "
@@ -10917,7 +11171,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3993 ../fish/guestfish-actions.pod:2661
+#: ../src/guestfs-actions.pod:3997 ../fish/guestfish-actions.pod:2665
 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 "
@@ -10925,7 +11179,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3998 ../fish/guestfish-actions.pod:2666
+#: ../src/guestfs-actions.pod:4002 ../fish/guestfish-actions.pod:2670
 #, no-wrap
 msgid ""
 " add-ro Fedora-11-i686-Live.iso\n"
@@ -10940,12 +11194,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4007 ../fish/guestfish-actions.pod:2675
+#: ../src/guestfs-actions.pod:4011 ../fish/guestfish-actions.pod:2679
 msgid "The inner filesystem is now unpacked under the /ext3fs mountpoint."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4009
+#: ../src/guestfs-actions.pod:4013
 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 "
@@ -10953,7 +11207,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4013
+#: ../src/guestfs-actions.pod:4017
 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 "
@@ -10962,13 +11216,13 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4018 ../fish/guestfish-actions.pod:2686
+#: ../src/guestfs-actions.pod:4022 ../fish/guestfish-actions.pod:2690
 msgid ""
 "For more details see L<https://bugzilla.redhat.com/show_bug.cgi?id=599503>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4020
+#: ../src/guestfs-actions.pod:4024
 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 "
@@ -10976,18 +11230,18 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4026 ../src/guestfs-actions.pod:4285
-#: ../src/guestfs-actions.pod:5178
+#: ../src/guestfs-actions.pod:4030 ../src/guestfs-actions.pod:4289
+#: ../src/guestfs-actions.pod:5182
 msgid "(Added in 1.0.62)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4028
+#: ../src/guestfs-actions.pod:4032
 msgid "guestfs_mknod"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4030
+#: ../src/guestfs-actions.pod:4034
 #, no-wrap
 msgid ""
 " int\n"
@@ -11000,13 +11254,13 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4037 ../fish/guestfish-actions.pod:2696
+#: ../src/guestfs-actions.pod:4041 ../fish/guestfish-actions.pod:2700
 msgid ""
 "This call creates block or character special devices, or named pipes (FIFOs)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4040 ../fish/guestfish-actions.pod:2699
+#: ../src/guestfs-actions.pod:4044 ../fish/guestfish-actions.pod:2703
 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 "
@@ -11014,7 +11268,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4045
+#: ../src/guestfs-actions.pod:4049
 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 "
@@ -11025,12 +11279,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4059
+#: ../src/guestfs-actions.pod:4063
 msgid "guestfs_mknod_b"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4061
+#: ../src/guestfs-actions.pod:4065
 #, no-wrap
 msgid ""
 " int\n"
@@ -11043,7 +11297,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4068
+#: ../src/guestfs-actions.pod:4072
 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 "
@@ -11051,12 +11305,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4078
+#: ../src/guestfs-actions.pod:4082
 msgid "guestfs_mknod_c"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4080
+#: ../src/guestfs-actions.pod:4084
 #, no-wrap
 msgid ""
 " int\n"
@@ -11069,7 +11323,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4087
+#: ../src/guestfs-actions.pod:4091
 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 "
@@ -11077,12 +11331,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4097
+#: ../src/guestfs-actions.pod:4101
 msgid "guestfs_mkswap"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4099
+#: ../src/guestfs-actions.pod:4103
 #, no-wrap
 msgid ""
 " int\n"
@@ -11092,17 +11346,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4103 ../fish/guestfish-actions.pod:2738
+#: ../src/guestfs-actions.pod:4107 ../fish/guestfish-actions.pod:2742
 msgid "Create a swap partition on C<device>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4109
+#: ../src/guestfs-actions.pod:4113
 msgid "guestfs_mkswap_L"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4111
+#: ../src/guestfs-actions.pod:4115
 #, no-wrap
 msgid ""
 " int\n"
@@ -11113,12 +11367,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4116 ../fish/guestfish-actions.pod:2744
+#: ../src/guestfs-actions.pod:4120 ../fish/guestfish-actions.pod:2748
 msgid "Create a swap partition on C<device> with label C<label>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4118 ../fish/guestfish-actions.pod:2746
+#: ../src/guestfs-actions.pod:4122 ../fish/guestfish-actions.pod:2750
 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 "
@@ -11126,12 +11380,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4126
+#: ../src/guestfs-actions.pod:4130
 msgid "guestfs_mkswap_U"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4128
+#: ../src/guestfs-actions.pod:4132
 #, no-wrap
 msgid ""
 " int\n"
@@ -11142,17 +11396,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4133 ../fish/guestfish-actions.pod:2754
+#: ../src/guestfs-actions.pod:4137 ../fish/guestfish-actions.pod:2758
 msgid "Create a swap partition on C<device> with UUID C<uuid>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4139
+#: ../src/guestfs-actions.pod:4143
 msgid "guestfs_mkswap_file"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4141
+#: ../src/guestfs-actions.pod:4145
 #, no-wrap
 msgid ""
 " int\n"
@@ -11162,24 +11416,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4145 ../fish/guestfish-actions.pod:2760
+#: ../src/guestfs-actions.pod:4149 ../fish/guestfish-actions.pod:2764
 msgid "Create a swap file."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4147
+#: ../src/guestfs-actions.pod:4151
 msgid ""
 "This command just writes a swap file signature to an existing file.  To "
 "create the file itself, use something like C<guestfs_fallocate>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4154
+#: ../src/guestfs-actions.pod:4158
 msgid "guestfs_modprobe"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4156
+#: ../src/guestfs-actions.pod:4160
 #, no-wrap
 msgid ""
 " int\n"
@@ -11189,24 +11443,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4160 ../fish/guestfish-actions.pod:2769
+#: ../src/guestfs-actions.pod:4164 ../fish/guestfish-actions.pod:2773
 msgid "This loads a kernel module in the appliance."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4162 ../fish/guestfish-actions.pod:2771
+#: ../src/guestfs-actions.pod:4166 ../fish/guestfish-actions.pod:2775
 msgid ""
 "The kernel module must have been whitelisted when libguestfs was built (see "
 "C<appliance/kmod.whitelist.in> in the source)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4169
+#: ../src/guestfs-actions.pod:4173
 msgid "guestfs_mount"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4171
+#: ../src/guestfs-actions.pod:4175
 #, no-wrap
 msgid ""
 " int\n"
@@ -11217,7 +11471,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4176 ../fish/guestfish-actions.pod:2778
+#: ../src/guestfs-actions.pod:4180 ../fish/guestfish-actions.pod:2782
 msgid ""
 "Mount a guest disk at a position in the filesystem.  Block devices are named "
 "C</dev/sda>, C</dev/sdb> and so on, as they were added to the guest.  If "
@@ -11226,7 +11480,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4182 ../fish/guestfish-actions.pod:2784
+#: ../src/guestfs-actions.pod:4186 ../fish/guestfish-actions.pod:2788
 msgid ""
 "The rules are the same as for L<mount(2)>: A filesystem must first be "
 "mounted on C</> before others can be mounted.  Other filesystems can only be "
@@ -11234,14 +11488,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4187 ../fish/guestfish-actions.pod:2789
+#: ../src/guestfs-actions.pod:4191 ../fish/guestfish-actions.pod:2793
 msgid ""
 "The mounted filesystem is writable, if we have sufficient permissions on the "
 "underlying device."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4190
+#: ../src/guestfs-actions.pod:4194
 msgid ""
 "B<Important note:> When you use this call, the filesystem options C<sync> "
 "and C<noatime> are set implicitly.  This was originally done because we "
@@ -11253,12 +11507,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4204
+#: ../src/guestfs-actions.pod:4208
 msgid "guestfs_mount_loop"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4206
+#: ../src/guestfs-actions.pod:4210
 #, no-wrap
 msgid ""
 " int\n"
@@ -11269,7 +11523,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4211 ../fish/guestfish-actions.pod:2806
+#: ../src/guestfs-actions.pod:4215 ../fish/guestfish-actions.pod:2810
 msgid ""
 "This command lets you mount C<file> (a filesystem image in a file) on a "
 "mount point.  It is entirely equivalent to the command C<mount -o loop file "
@@ -11277,12 +11531,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4219
+#: ../src/guestfs-actions.pod:4223
 msgid "guestfs_mount_options"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4221
+#: ../src/guestfs-actions.pod:4225
 #, no-wrap
 msgid ""
 " int\n"
@@ -11294,32 +11548,32 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4227
+#: ../src/guestfs-actions.pod:4231
 msgid ""
 "This is the same as the C<guestfs_mount> command, but it allows you to set "
 "the mount options as for the L<mount(8)> I<-o> flag."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4231 ../fish/guestfish-actions.pod:2818
+#: ../src/guestfs-actions.pod:4235 ../fish/guestfish-actions.pod:2822
 msgid ""
 "If the C<options> parameter is an empty string, then no options are passed "
 "(all options default to whatever the filesystem uses)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4237 ../src/guestfs-actions.pod:4251
-#: ../src/guestfs-actions.pod:4268
+#: ../src/guestfs-actions.pod:4241 ../src/guestfs-actions.pod:4255
+#: ../src/guestfs-actions.pod:4272
 msgid "(Added in 1.0.10)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4239
+#: ../src/guestfs-actions.pod:4243
 msgid "guestfs_mount_ro"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4241
+#: ../src/guestfs-actions.pod:4245
 #, no-wrap
 msgid ""
 " int\n"
@@ -11330,19 +11584,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4246
+#: ../src/guestfs-actions.pod:4250
 msgid ""
 "This is the same as the C<guestfs_mount> command, but it mounts the "
 "filesystem with the read-only (I<-o ro>) flag."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4253
+#: ../src/guestfs-actions.pod:4257
 msgid "guestfs_mount_vfs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4255
+#: ../src/guestfs-actions.pod:4259
 #, no-wrap
 msgid ""
 " int\n"
@@ -11355,7 +11609,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4262
+#: ../src/guestfs-actions.pod:4266
 msgid ""
 "This is the same as the C<guestfs_mount> command, but it allows you to set "
 "both the mount options and the vfstype as for the L<mount(8)> I<-o> and I<-"
@@ -11363,12 +11617,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4270
+#: ../src/guestfs-actions.pod:4274
 msgid "guestfs_mountpoints"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4272
+#: ../src/guestfs-actions.pod:4276
 #, no-wrap
 msgid ""
 " char **\n"
@@ -11377,7 +11631,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4275
+#: ../src/guestfs-actions.pod:4279
 msgid ""
 "This call is similar to C<guestfs_mounts>.  That call returns a list of "
 "devices.  This one returns a hash table (map) of device name to directory "
@@ -11385,12 +11639,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4287
+#: ../src/guestfs-actions.pod:4291
 msgid "guestfs_mounts"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4289
+#: ../src/guestfs-actions.pod:4293
 #, no-wrap
 msgid ""
 " char **\n"
@@ -11399,29 +11653,29 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4292 ../fish/guestfish-actions.pod:2849
+#: ../src/guestfs-actions.pod:4296 ../fish/guestfish-actions.pod:2853
 msgid ""
 "This returns the list of currently mounted filesystems.  It returns the list "
 "of devices (eg. C</dev/sda1>, C</dev/VG/LV>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4295 ../fish/guestfish-actions.pod:2852
+#: ../src/guestfs-actions.pod:4299 ../fish/guestfish-actions.pod:2856
 msgid "Some internal mounts are not shown."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4297
+#: ../src/guestfs-actions.pod:4301
 msgid "See also: C<guestfs_mountpoints>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4305
+#: ../src/guestfs-actions.pod:4309
 msgid "guestfs_mv"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4307
+#: ../src/guestfs-actions.pod:4311
 #, no-wrap
 msgid ""
 " int\n"
@@ -11432,19 +11686,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4312 ../fish/guestfish-actions.pod:2860
+#: ../src/guestfs-actions.pod:4316 ../fish/guestfish-actions.pod:2864
 msgid ""
 "This moves 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:4319
+#: ../src/guestfs-actions.pod:4323
 msgid "guestfs_ntfs_3g_probe"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4321
+#: ../src/guestfs-actions.pod:4325
 #, no-wrap
 msgid ""
 " int\n"
@@ -11455,7 +11709,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4326 ../fish/guestfish-actions.pod:2867
+#: ../src/guestfs-actions.pod:4330 ../fish/guestfish-actions.pod:2871
 msgid ""
 "This command runs the L<ntfs-3g.probe(8)> command which probes an NTFS "
 "C<device> for mountability.  (Not all NTFS volumes can be mounted read-"
@@ -11463,7 +11717,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4330 ../fish/guestfish-actions.pod:2871
+#: ../src/guestfs-actions.pod:4334 ../fish/guestfish-actions.pod:2875
 msgid ""
 "C<rw> is a boolean flag.  Set it to true if you want to test if the volume "
 "can be mounted read-write.  Set it to false if you want to test if the "
@@ -11471,24 +11725,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4334 ../fish/guestfish-actions.pod:2875
+#: ../src/guestfs-actions.pod:4338 ../fish/guestfish-actions.pod:2879
 msgid ""
 "The return value is an integer which C<0> if the operation would succeed, or "
 "some non-zero value documented in the L<ntfs-3g.probe(8)> manual page."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4340
+#: ../src/guestfs-actions.pod:4344
 msgid "(Added in 1.0.43)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4342
+#: ../src/guestfs-actions.pod:4346
 msgid "guestfs_ntfsresize"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4344
+#: ../src/guestfs-actions.pod:4348
 #, no-wrap
 msgid ""
 " int\n"
@@ -11498,19 +11752,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4348 ../fish/guestfish-actions.pod:2883
+#: ../src/guestfs-actions.pod:4352 ../fish/guestfish-actions.pod:2887
 msgid ""
 "This command resizes an NTFS filesystem, expanding or shrinking it to the "
 "size of the underlying device.  See also L<ntfsresize(8)>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4356
+#: ../src/guestfs-actions.pod:4360
 msgid "guestfs_ntfsresize_size"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4358
+#: ../src/guestfs-actions.pod:4362
 #, no-wrap
 msgid ""
 " int\n"
@@ -11521,25 +11775,25 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4363
+#: ../src/guestfs-actions.pod:4367
 msgid ""
 "This command is the same as C<guestfs_ntfsresize> except that it allows you "
 "to specify the new size (in bytes) explicitly."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4368 ../src/guestfs-actions.pod:4804
-#: ../src/guestfs-actions.pod:4877 ../src/guestfs-actions.pod:5126
+#: ../src/guestfs-actions.pod:4372 ../src/guestfs-actions.pod:4808
+#: ../src/guestfs-actions.pod:4881 ../src/guestfs-actions.pod:5130
 msgid "(Added in 1.3.14)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4370
+#: ../src/guestfs-actions.pod:4374
 msgid "guestfs_part_add"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4372
+#: ../src/guestfs-actions.pod:4376
 #, no-wrap
 msgid ""
 " int\n"
@@ -11552,14 +11806,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4379
+#: ../src/guestfs-actions.pod:4383
 msgid ""
 "This command adds a partition to C<device>.  If there is no partition table "
 "on the device, call C<guestfs_part_init> first."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4382 ../fish/guestfish-actions.pod:2901
+#: ../src/guestfs-actions.pod:4386 ../fish/guestfish-actions.pod:2905
 msgid ""
 "The C<prlogex> parameter is the type of partition.  Normally you should pass "
 "C<p> or C<primary> here, but MBR partition tables also support C<l> (or "
@@ -11567,7 +11821,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4387 ../fish/guestfish-actions.pod:2906
+#: ../src/guestfs-actions.pod:4391 ../fish/guestfish-actions.pod:2910
 msgid ""
 "C<startsect> and C<endsect> are the start and end of the partition in "
 "I<sectors>.  C<endsect> may be negative, which means it counts backwards "
@@ -11575,27 +11829,27 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4391
+#: ../src/guestfs-actions.pod:4395
 msgid ""
 "Creating a partition which covers the whole disk is not so easy.  Use "
 "C<guestfs_part_disk> to do that."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4396 ../src/guestfs-actions.pod:4434
-#: ../src/guestfs-actions.pod:4487 ../src/guestfs-actions.pod:4565
-#: ../src/guestfs-actions.pod:4603 ../src/guestfs-actions.pod:4622
-#: ../src/guestfs-actions.pod:4662
+#: ../src/guestfs-actions.pod:4400 ../src/guestfs-actions.pod:4438
+#: ../src/guestfs-actions.pod:4491 ../src/guestfs-actions.pod:4569
+#: ../src/guestfs-actions.pod:4607 ../src/guestfs-actions.pod:4626
+#: ../src/guestfs-actions.pod:4666
 msgid "(Added in 1.0.78)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4398
+#: ../src/guestfs-actions.pod:4402
 msgid "guestfs_part_del"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4400
+#: ../src/guestfs-actions.pod:4404
 #, no-wrap
 msgid ""
 " int\n"
@@ -11606,24 +11860,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4405 ../fish/guestfish-actions.pod:2917
+#: ../src/guestfs-actions.pod:4409 ../fish/guestfish-actions.pod:2921
 msgid "This command deletes the partition numbered C<partnum> on C<device>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4407 ../fish/guestfish-actions.pod:2919
+#: ../src/guestfs-actions.pod:4411 ../fish/guestfish-actions.pod:2923
 msgid ""
 "Note that in the case of MBR partitioning, deleting an extended partition "
 "also deletes any logical partitions it contains."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4415
+#: ../src/guestfs-actions.pod:4419
 msgid "guestfs_part_disk"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4417
+#: ../src/guestfs-actions.pod:4421
 #, no-wrap
 msgid ""
 " int\n"
@@ -11634,7 +11888,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4422
+#: ../src/guestfs-actions.pod:4426
 msgid ""
 "This command is simply a combination of C<guestfs_part_init> followed by "
 "C<guestfs_part_add> to create a single primary partition covering the whole "
@@ -11642,19 +11896,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4426
+#: ../src/guestfs-actions.pod:4430
 msgid ""
 "C<parttype> is the partition table type, usually C<mbr> or C<gpt>, but other "
 "possible values are described in C<guestfs_part_init>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4436
+#: ../src/guestfs-actions.pod:4440
 msgid "guestfs_part_get_bootable"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4438
+#: ../src/guestfs-actions.pod:4442
 #, no-wrap
 msgid ""
 " int\n"
@@ -11665,24 +11919,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4443 ../fish/guestfish-actions.pod:2941
+#: ../src/guestfs-actions.pod:4447 ../fish/guestfish-actions.pod:2945
 msgid ""
 "This command returns true if the partition C<partnum> on C<device> has the "
 "bootable flag set."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4446
+#: ../src/guestfs-actions.pod:4450
 msgid "See also C<guestfs_part_set_bootable>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4452
+#: ../src/guestfs-actions.pod:4456
 msgid "guestfs_part_get_mbr_id"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4454
+#: ../src/guestfs-actions.pod:4458
 #, no-wrap
 msgid ""
 " int\n"
@@ -11693,14 +11947,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4459 ../fish/guestfish-actions.pod:2950
+#: ../src/guestfs-actions.pod:4463 ../fish/guestfish-actions.pod:2954
 msgid ""
 "Returns the MBR type byte (also known as the ID byte) from the numbered "
 "partition C<partnum>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4462 ../src/guestfs-actions.pod:4638
+#: ../src/guestfs-actions.pod:4466 ../src/guestfs-actions.pod:4642
 msgid ""
 "Note that only MBR (old DOS-style) partitions have type bytes.  You will get "
 "undefined results for other partition table types (see "
@@ -11708,12 +11962,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4470
+#: ../src/guestfs-actions.pod:4474
 msgid "guestfs_part_get_parttype"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4472
+#: ../src/guestfs-actions.pod:4476
 #, no-wrap
 msgid ""
 " char *\n"
@@ -11723,14 +11977,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4476 ../fish/guestfish-actions.pod:2961
+#: ../src/guestfs-actions.pod:4480 ../fish/guestfish-actions.pod:2965
 msgid ""
 "This command examines the partition table on C<device> and returns the "
 "partition table type (format) being used."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4479
+#: ../src/guestfs-actions.pod:4483
 msgid ""
 "Common return values include: C<msdos> (a DOS/Windows style MBR partition "
 "table), C<gpt> (a GPT/EFI-style partition table).  Other values are "
@@ -11738,12 +11992,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4489
+#: ../src/guestfs-actions.pod:4493
 msgid "guestfs_part_init"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4491
+#: ../src/guestfs-actions.pod:4495
 #, no-wrap
 msgid ""
 " int\n"
@@ -11754,7 +12008,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4496 ../fish/guestfish-actions.pod:2973
+#: ../src/guestfs-actions.pod:4500 ../fish/guestfish-actions.pod:2977
 msgid ""
 "This creates an empty partition table on C<device> of one of the partition "
 "types listed below.  Usually C<parttype> should be either C<msdos> or C<gpt> "
@@ -11762,29 +12016,29 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4500
+#: ../src/guestfs-actions.pod:4504
 msgid ""
 "Initially there are no partitions.  Following this, you should call "
 "C<guestfs_part_add> for each partition required."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4503 ../fish/guestfish-actions.pod:2980
+#: ../src/guestfs-actions.pod:4507 ../fish/guestfish-actions.pod:2984
 msgid "Possible values for C<parttype> are:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4507 ../fish/guestfish-actions.pod:2984
+#: ../src/guestfs-actions.pod:4511 ../fish/guestfish-actions.pod:2988
 msgid "B<efi> | B<gpt>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4509 ../fish/guestfish-actions.pod:2986
+#: ../src/guestfs-actions.pod:4513 ../fish/guestfish-actions.pod:2990
 msgid "Intel EFI / GPT partition table."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4511 ../fish/guestfish-actions.pod:2988
+#: ../src/guestfs-actions.pod:4515 ../fish/guestfish-actions.pod:2992
 msgid ""
 "This is recommended for >= 2 TB partitions that will be accessed from Linux "
 "and Intel-based Mac OS X.  It also has limited backwards compatibility with "
@@ -11792,12 +12046,12 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4515 ../fish/guestfish-actions.pod:2992
+#: ../src/guestfs-actions.pod:4519 ../fish/guestfish-actions.pod:2996
 msgid "B<mbr> | B<msdos>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4517 ../fish/guestfish-actions.pod:2994
+#: ../src/guestfs-actions.pod:4521 ../fish/guestfish-actions.pod:2998
 msgid ""
 "The standard PC \"Master Boot Record\" (MBR) format used by MS-DOS and "
 "Windows.  This partition type will B<only> work for device sizes up to 2 "
@@ -11805,98 +12059,98 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4524 ../fish/guestfish-actions.pod:3001
+#: ../src/guestfs-actions.pod:4528 ../fish/guestfish-actions.pod:3005
 msgid ""
 "Other partition table types that may work but are not supported include:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4529 ../fish/guestfish-actions.pod:3006
+#: ../src/guestfs-actions.pod:4533 ../fish/guestfish-actions.pod:3010
 msgid "B<aix>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4531 ../fish/guestfish-actions.pod:3008
+#: ../src/guestfs-actions.pod:4535 ../fish/guestfish-actions.pod:3012
 msgid "AIX disk labels."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4533 ../fish/guestfish-actions.pod:3010
+#: ../src/guestfs-actions.pod:4537 ../fish/guestfish-actions.pod:3014
 msgid "B<amiga> | B<rdb>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4535 ../fish/guestfish-actions.pod:3012
+#: ../src/guestfs-actions.pod:4539 ../fish/guestfish-actions.pod:3016
 msgid "Amiga \"Rigid Disk Block\" format."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4537 ../fish/guestfish-actions.pod:3014
+#: ../src/guestfs-actions.pod:4541 ../fish/guestfish-actions.pod:3018
 msgid "B<bsd>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4539 ../fish/guestfish-actions.pod:3016
+#: ../src/guestfs-actions.pod:4543 ../fish/guestfish-actions.pod:3020
 msgid "BSD disk labels."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4541 ../fish/guestfish-actions.pod:3018
+#: ../src/guestfs-actions.pod:4545 ../fish/guestfish-actions.pod:3022
 msgid "B<dasd>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4543 ../fish/guestfish-actions.pod:3020
+#: ../src/guestfs-actions.pod:4547 ../fish/guestfish-actions.pod:3024
 msgid "DASD, used on IBM mainframes."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4545 ../fish/guestfish-actions.pod:3022
+#: ../src/guestfs-actions.pod:4549 ../fish/guestfish-actions.pod:3026
 msgid "B<dvh>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4547 ../fish/guestfish-actions.pod:3024
+#: ../src/guestfs-actions.pod:4551 ../fish/guestfish-actions.pod:3028
 msgid "MIPS/SGI volumes."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4549 ../fish/guestfish-actions.pod:3026
+#: ../src/guestfs-actions.pod:4553 ../fish/guestfish-actions.pod:3030
 msgid "B<mac>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4551 ../fish/guestfish-actions.pod:3028
+#: ../src/guestfs-actions.pod:4555 ../fish/guestfish-actions.pod:3032
 msgid "Old Mac partition format.  Modern Macs use C<gpt>."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4553 ../fish/guestfish-actions.pod:3030
+#: ../src/guestfs-actions.pod:4557 ../fish/guestfish-actions.pod:3034
 msgid "B<pc98>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4555 ../fish/guestfish-actions.pod:3032
+#: ../src/guestfs-actions.pod:4559 ../fish/guestfish-actions.pod:3036
 msgid "NEC PC-98 format, common in Japan apparently."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4557 ../fish/guestfish-actions.pod:3034
+#: ../src/guestfs-actions.pod:4561 ../fish/guestfish-actions.pod:3038
 msgid "B<sun>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4559 ../fish/guestfish-actions.pod:3036
+#: ../src/guestfs-actions.pod:4563 ../fish/guestfish-actions.pod:3040
 msgid "Sun disk labels."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4567
+#: ../src/guestfs-actions.pod:4571
 msgid "guestfs_part_list"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4569
+#: ../src/guestfs-actions.pod:4573
 #, no-wrap
 msgid ""
 " struct guestfs_partition_list *\n"
@@ -11906,61 +12160,61 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4573 ../fish/guestfish-actions.pod:3044
+#: ../src/guestfs-actions.pod:4577 ../fish/guestfish-actions.pod:3048
 msgid ""
 "This command parses the partition table on C<device> and returns the list of "
 "partitions found."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4576 ../fish/guestfish-actions.pod:3047
+#: ../src/guestfs-actions.pod:4580 ../fish/guestfish-actions.pod:3051
 msgid "The fields in the returned structure are:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4580 ../fish/guestfish-actions.pod:3051
+#: ../src/guestfs-actions.pod:4584 ../fish/guestfish-actions.pod:3055
 msgid "B<part_num>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4582 ../fish/guestfish-actions.pod:3053
+#: ../src/guestfs-actions.pod:4586 ../fish/guestfish-actions.pod:3057
 msgid "Partition number, counting from 1."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4584 ../fish/guestfish-actions.pod:3055
+#: ../src/guestfs-actions.pod:4588 ../fish/guestfish-actions.pod:3059
 msgid "B<part_start>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4586
+#: ../src/guestfs-actions.pod:4590
 msgid ""
 "Start of the partition I<in bytes>.  To get sectors you have to divide by "
 "the device's sector size, see C<guestfs_blockdev_getss>."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4589 ../fish/guestfish-actions.pod:3060
+#: ../src/guestfs-actions.pod:4593 ../fish/guestfish-actions.pod:3064
 msgid "B<part_end>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4591 ../fish/guestfish-actions.pod:3062
+#: ../src/guestfs-actions.pod:4595 ../fish/guestfish-actions.pod:3066
 msgid "End of the partition in bytes."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4593 ../fish/guestfish-actions.pod:3064
+#: ../src/guestfs-actions.pod:4597 ../fish/guestfish-actions.pod:3068
 msgid "B<part_size>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4595 ../fish/guestfish-actions.pod:3066
+#: ../src/guestfs-actions.pod:4599 ../fish/guestfish-actions.pod:3070
 msgid "Size of the partition in bytes."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4599
+#: ../src/guestfs-actions.pod:4603
 msgid ""
 "This function returns a C<struct guestfs_partition_list *>, or NULL if there "
 "was an error.  I<The caller must call C<guestfs_free_partition_list> after "
@@ -11968,12 +12222,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4605
+#: ../src/guestfs-actions.pod:4609
 msgid "guestfs_part_set_bootable"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4607
+#: ../src/guestfs-actions.pod:4611
 #, no-wrap
 msgid ""
 " int\n"
@@ -11985,14 +12239,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4613 ../fish/guestfish-actions.pod:3074
+#: ../src/guestfs-actions.pod:4617 ../fish/guestfish-actions.pod:3078
 msgid ""
 "This sets the bootable flag on partition numbered C<partnum> on device "
 "C<device>.  Note that partitions are numbered from 1."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4616 ../fish/guestfish-actions.pod:3077
+#: ../src/guestfs-actions.pod:4620 ../fish/guestfish-actions.pod:3081
 msgid ""
 "The bootable flag is used by some operating systems (notably Windows) to "
 "determine which partition to boot from.  It is by no means universally "
@@ -12000,12 +12254,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4624
+#: ../src/guestfs-actions.pod:4628
 msgid "guestfs_part_set_mbr_id"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4626
+#: ../src/guestfs-actions.pod:4630
 #, no-wrap
 msgid ""
 " int\n"
@@ -12017,7 +12271,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4632 ../fish/guestfish-actions.pod:3085
+#: ../src/guestfs-actions.pod:4636 ../fish/guestfish-actions.pod:3089
 msgid ""
 "Sets the MBR type byte (also known as the ID byte) of the numbered partition "
 "C<partnum> to C<idbyte>.  Note that the type bytes quoted in most "
@@ -12026,12 +12280,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4646
+#: ../src/guestfs-actions.pod:4650
 msgid "guestfs_part_set_name"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4648
+#: ../src/guestfs-actions.pod:4652
 #, no-wrap
 msgid ""
 " int\n"
@@ -12043,26 +12297,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4654 ../fish/guestfish-actions.pod:3099
+#: ../src/guestfs-actions.pod:4658 ../fish/guestfish-actions.pod:3103
 msgid ""
 "This sets the partition name on partition numbered C<partnum> on device "
 "C<device>.  Note that partitions are numbered from 1."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4657 ../fish/guestfish-actions.pod:3102
+#: ../src/guestfs-actions.pod:4661 ../fish/guestfish-actions.pod:3106
 msgid ""
 "The partition name can only be set on certain types of partition table.  "
 "This works on C<gpt> but not on C<mbr> partitions."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4664
+#: ../src/guestfs-actions.pod:4668
 msgid "guestfs_part_to_dev"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4666
+#: ../src/guestfs-actions.pod:4670
 #, no-wrap
 msgid ""
 " char *\n"
@@ -12072,26 +12326,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4670 ../fish/guestfish-actions.pod:3109
+#: ../src/guestfs-actions.pod:4674 ../fish/guestfish-actions.pod:3113
 msgid ""
 "This function takes a partition name (eg. \"/dev/sdb1\") and removes the "
 "partition number, returning the device name (eg. \"/dev/sdb\")."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4674
+#: ../src/guestfs-actions.pod:4678
 msgid ""
 "The named partition must exist, for example as a string returned from "
 "C<guestfs_list_partitions>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4682
+#: ../src/guestfs-actions.pod:4686
 msgid "guestfs_ping_daemon"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4684
+#: ../src/guestfs-actions.pod:4688
 #, no-wrap
 msgid ""
 " int\n"
@@ -12100,7 +12354,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4687 ../fish/guestfish-actions.pod:3120
+#: ../src/guestfs-actions.pod:4691 ../fish/guestfish-actions.pod:3124
 msgid ""
 "This is a test probe into the guestfs daemon running inside the qemu "
 "subprocess.  Calling this function checks that the daemon responds to the "
@@ -12109,12 +12363,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4696
+#: ../src/guestfs-actions.pod:4700
 msgid "guestfs_pread"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4698
+#: ../src/guestfs-actions.pod:4702
 #, no-wrap
 msgid ""
 " char *\n"
@@ -12127,32 +12381,32 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4705 ../fish/guestfish-actions.pod:3129
+#: ../src/guestfs-actions.pod:4709 ../fish/guestfish-actions.pod:3133
 msgid ""
 "This command lets you read part of a file.  It reads C<count> bytes of the "
 "file, starting at C<offset>, from file C<path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4708 ../src/guestfs-actions.pod:4734
-#: ../fish/guestfish-actions.pod:3132 ../fish/guestfish-actions.pod:3147
+#: ../src/guestfs-actions.pod:4712 ../src/guestfs-actions.pod:4738
+#: ../fish/guestfish-actions.pod:3136 ../fish/guestfish-actions.pod:3151
 msgid ""
 "This may read fewer bytes than requested.  For further details see the "
 "L<pread(2)> system call."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4711
+#: ../src/guestfs-actions.pod:4715
 msgid "See also C<guestfs_pwrite>, C<guestfs_pread_device>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4722
+#: ../src/guestfs-actions.pod:4726
 msgid "guestfs_pread_device"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4724
+#: ../src/guestfs-actions.pod:4728
 #, no-wrap
 msgid ""
 " char *\n"
@@ -12165,29 +12419,29 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4731 ../fish/guestfish-actions.pod:3144
+#: ../src/guestfs-actions.pod:4735 ../fish/guestfish-actions.pod:3148
 msgid ""
 "This command lets you read part of a file.  It reads C<count> bytes of "
 "C<device>, starting at C<offset>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4737
+#: ../src/guestfs-actions.pod:4741
 msgid "See also C<guestfs_pread>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4746
+#: ../src/guestfs-actions.pod:4750
 msgid "(Added in 1.5.21)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4748
+#: ../src/guestfs-actions.pod:4752
 msgid "guestfs_pvcreate"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4750
+#: ../src/guestfs-actions.pod:4754
 #, no-wrap
 msgid ""
 " int\n"
@@ -12197,19 +12451,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4754 ../fish/guestfish-actions.pod:3159
+#: ../src/guestfs-actions.pod:4758 ../fish/guestfish-actions.pod:3163
 msgid ""
 "This creates an LVM physical volume on the named C<device>, where C<device> "
 "should usually be a partition name such as C</dev/sda1>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4762
+#: ../src/guestfs-actions.pod:4766
 msgid "guestfs_pvremove"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4764
+#: ../src/guestfs-actions.pod:4768
 #, no-wrap
 msgid ""
 " int\n"
@@ -12219,14 +12473,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4768 ../fish/guestfish-actions.pod:3167
+#: ../src/guestfs-actions.pod:4772 ../fish/guestfish-actions.pod:3171
 msgid ""
 "This wipes a physical volume C<device> so that LVM will no longer recognise "
 "it."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4771 ../fish/guestfish-actions.pod:3170
+#: ../src/guestfs-actions.pod:4775 ../fish/guestfish-actions.pod:3174
 msgid ""
 "The implementation uses the C<pvremove> command which refuses to wipe "
 "physical volumes that contain any volume groups, so you have to remove those "
@@ -12234,12 +12488,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4779
+#: ../src/guestfs-actions.pod:4783
 msgid "guestfs_pvresize"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4781
+#: ../src/guestfs-actions.pod:4785
 #, no-wrap
 msgid ""
 " int\n"
@@ -12249,19 +12503,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4785 ../fish/guestfish-actions.pod:3178
+#: ../src/guestfs-actions.pod:4789 ../fish/guestfish-actions.pod:3182
 msgid ""
 "This resizes (expands or shrinks) an existing LVM physical volume to match "
 "the new size of the underlying device."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4792
+#: ../src/guestfs-actions.pod:4796
 msgid "guestfs_pvresize_size"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4794
+#: ../src/guestfs-actions.pod:4798
 #, no-wrap
 msgid ""
 " int\n"
@@ -12272,19 +12526,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4799
+#: ../src/guestfs-actions.pod:4803
 msgid ""
 "This command is the same as C<guestfs_pvresize> except that it allows you to "
 "specify the new size (in bytes) explicitly."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4806
+#: ../src/guestfs-actions.pod:4810
 msgid "guestfs_pvs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4808
+#: ../src/guestfs-actions.pod:4812
 #, no-wrap
 msgid ""
 " char **\n"
@@ -12293,31 +12547,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4811 ../fish/guestfish-actions.pod:3192
+#: ../src/guestfs-actions.pod:4815 ../fish/guestfish-actions.pod:3196
 msgid ""
 "List all the physical volumes detected.  This is the equivalent of the L<pvs"
 "(8)> command."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4814 ../fish/guestfish-actions.pod:3195
+#: ../src/guestfs-actions.pod:4818 ../fish/guestfish-actions.pod:3199
 msgid ""
 "This returns a list of just the device names that contain PVs (eg. C</dev/"
 "sda2>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4817
+#: ../src/guestfs-actions.pod:4821
 msgid "See also C<guestfs_pvs_full>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4825
+#: ../src/guestfs-actions.pod:4829
 msgid "guestfs_pvs_full"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4827
+#: ../src/guestfs-actions.pod:4831
 #, no-wrap
 msgid ""
 " struct guestfs_lvm_pv_list *\n"
@@ -12326,26 +12580,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4830 ../fish/guestfish-actions.pod:3204
+#: ../src/guestfs-actions.pod:4834 ../fish/guestfish-actions.pod:3208
 msgid ""
 "List all the physical volumes detected.  This is the equivalent of the L<pvs"
 "(8)> command.  The \"full\" version includes all fields."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4833
+#: ../src/guestfs-actions.pod:4837
 msgid ""
 "This function returns a C<struct guestfs_lvm_pv_list *>, or NULL if there "
 "was an error.  I<The caller must call C<guestfs_free_lvm_pv_list> after use>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4839
+#: ../src/guestfs-actions.pod:4843
 msgid "guestfs_pvuuid"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4841
+#: ../src/guestfs-actions.pod:4845
 #, no-wrap
 msgid ""
 " char *\n"
@@ -12355,17 +12609,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4845 ../fish/guestfish-actions.pod:3211
+#: ../src/guestfs-actions.pod:4849 ../fish/guestfish-actions.pod:3215
 msgid "This command returns the UUID of the LVM PV C<device>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4852
+#: ../src/guestfs-actions.pod:4856
 msgid "guestfs_pwrite"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4854
+#: ../src/guestfs-actions.pod:4858
 #, no-wrap
 msgid ""
 " int\n"
@@ -12378,14 +12632,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4861 ../fish/guestfish-actions.pod:3217
+#: ../src/guestfs-actions.pod:4865 ../fish/guestfish-actions.pod:3221
 msgid ""
 "This command writes to part of a file.  It writes the data buffer C<content> "
 "to the file C<path> starting at offset C<offset>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4864 ../fish/guestfish-actions.pod:3220
+#: ../src/guestfs-actions.pod:4868 ../fish/guestfish-actions.pod:3224
 msgid ""
 "This command implements the L<pwrite(2)> system call, and like that system "
 "call it may not write the full data requested.  The return value is the "
@@ -12395,17 +12649,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4870
+#: ../src/guestfs-actions.pod:4874
 msgid "See also C<guestfs_pread>, C<guestfs_pwrite_device>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4879
+#: ../src/guestfs-actions.pod:4883
 msgid "guestfs_pwrite_device"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4881
+#: ../src/guestfs-actions.pod:4885
 #, no-wrap
 msgid ""
 " int\n"
@@ -12418,14 +12672,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4888 ../fish/guestfish-actions.pod:3235
+#: ../src/guestfs-actions.pod:4892 ../fish/guestfish-actions.pod:3239
 msgid ""
 "This command writes to part of a device.  It writes the data buffer "
 "C<content> to C<device> starting at offset C<offset>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4891 ../fish/guestfish-actions.pod:3238
+#: ../src/guestfs-actions.pod:4895 ../fish/guestfish-actions.pod:3242
 msgid ""
 "This command implements the L<pwrite(2)> system call, and like that system "
 "call it may not write the full data requested (although short writes to disk "
@@ -12433,22 +12687,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4896
+#: ../src/guestfs-actions.pod:4900
 msgid "See also C<guestfs_pwrite>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4903
+#: ../src/guestfs-actions.pod:4907
 msgid "(Added in 1.5.20)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4905
+#: ../src/guestfs-actions.pod:4909
 msgid "guestfs_read_file"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4907
+#: ../src/guestfs-actions.pod:4911
 #, no-wrap
 msgid ""
 " char *\n"
@@ -12459,12 +12713,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4912 ../fish/guestfish-actions.pod:3252
+#: ../src/guestfs-actions.pod:4916 ../fish/guestfish-actions.pod:3256
 msgid "This calls returns the contents of the file C<path> as a buffer."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4915
+#: ../src/guestfs-actions.pod:4919
 msgid ""
 "Unlike C<guestfs_cat>, this function can correctly handle files that contain "
 "embedded ASCII NUL characters.  However unlike C<guestfs_download>, this "
@@ -12472,17 +12726,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4927
+#: ../src/guestfs-actions.pod:4931
 msgid "(Added in 1.0.63)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4929
+#: ../src/guestfs-actions.pod:4933
 msgid "guestfs_read_lines"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4931
+#: ../src/guestfs-actions.pod:4935
 #, no-wrap
 msgid ""
 " char **\n"
@@ -12492,14 +12746,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4937 ../fish/guestfish-actions.pod:3269
+#: ../src/guestfs-actions.pod:4941 ../fish/guestfish-actions.pod:3273
 msgid ""
 "The file contents are returned as a list of lines.  Trailing C<LF> and "
 "C<CRLF> character sequences are I<not> returned."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4940
+#: ../src/guestfs-actions.pod:4944
 msgid ""
 "Note that this function cannot correctly handle binary files (specifically, "
 "files containing C<\\0> character which is treated as end of line).  For "
@@ -12508,12 +12762,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4951
+#: ../src/guestfs-actions.pod:4955
 msgid "guestfs_readdir"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4953
+#: ../src/guestfs-actions.pod:4957
 #, no-wrap
 msgid ""
 " struct guestfs_dirent_list *\n"
@@ -12523,12 +12777,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4957 ../fish/guestfish-actions.pod:3281
+#: ../src/guestfs-actions.pod:4961 ../fish/guestfish-actions.pod:3285
 msgid "This returns the list of directory entries in directory C<dir>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4959 ../fish/guestfish-actions.pod:3283
+#: ../src/guestfs-actions.pod:4963 ../fish/guestfish-actions.pod:3287
 msgid ""
 "All entries in the directory are returned, including C<.> and C<..>.  The "
 "entries are I<not> sorted, but returned in the same order as the underlying "
@@ -12536,105 +12790,105 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4963 ../fish/guestfish-actions.pod:3287
+#: ../src/guestfs-actions.pod:4967 ../fish/guestfish-actions.pod:3291
 msgid ""
 "Also this call returns basic file type information about each file.  The "
 "C<ftyp> field will contain one of the following characters:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4968 ../fish/guestfish-actions.pod:3292
+#: ../src/guestfs-actions.pod:4972 ../fish/guestfish-actions.pod:3296
 msgid "'b'"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4970 ../fish/guestfish-actions.pod:3294
+#: ../src/guestfs-actions.pod:4974 ../fish/guestfish-actions.pod:3298
 msgid "Block special"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4972 ../fish/guestfish-actions.pod:3296
+#: ../src/guestfs-actions.pod:4976 ../fish/guestfish-actions.pod:3300
 msgid "'c'"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4974 ../fish/guestfish-actions.pod:3298
+#: ../src/guestfs-actions.pod:4978 ../fish/guestfish-actions.pod:3302
 msgid "Char special"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4976 ../fish/guestfish-actions.pod:3300
+#: ../src/guestfs-actions.pod:4980 ../fish/guestfish-actions.pod:3304
 msgid "'d'"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4978 ../fish/guestfish-actions.pod:3302
+#: ../src/guestfs-actions.pod:4982 ../fish/guestfish-actions.pod:3306
 msgid "Directory"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4980 ../fish/guestfish-actions.pod:3304
+#: ../src/guestfs-actions.pod:4984 ../fish/guestfish-actions.pod:3308
 msgid "'f'"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4982 ../fish/guestfish-actions.pod:3306
+#: ../src/guestfs-actions.pod:4986 ../fish/guestfish-actions.pod:3310
 msgid "FIFO (named pipe)"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4984 ../fish/guestfish-actions.pod:3308
+#: ../src/guestfs-actions.pod:4988 ../fish/guestfish-actions.pod:3312
 msgid "'l'"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4986 ../fish/guestfish-actions.pod:3310
+#: ../src/guestfs-actions.pod:4990 ../fish/guestfish-actions.pod:3314
 msgid "Symbolic link"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4988 ../fish/guestfish-actions.pod:3312
+#: ../src/guestfs-actions.pod:4992 ../fish/guestfish-actions.pod:3316
 msgid "'r'"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4990 ../fish/guestfish-actions.pod:3314
+#: ../src/guestfs-actions.pod:4994 ../fish/guestfish-actions.pod:3318
 msgid "Regular file"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4992 ../fish/guestfish-actions.pod:3316
+#: ../src/guestfs-actions.pod:4996 ../fish/guestfish-actions.pod:3320
 msgid "'s'"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4994 ../fish/guestfish-actions.pod:3318
+#: ../src/guestfs-actions.pod:4998 ../fish/guestfish-actions.pod:3322
 msgid "Socket"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4996 ../fish/guestfish-actions.pod:3320
+#: ../src/guestfs-actions.pod:5000 ../fish/guestfish-actions.pod:3324
 msgid "'u'"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4998 ../fish/guestfish-actions.pod:3322
+#: ../src/guestfs-actions.pod:5002 ../fish/guestfish-actions.pod:3326
 msgid "Unknown file type"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:5000 ../fish/guestfish-actions.pod:3324
+#: ../src/guestfs-actions.pod:5004 ../fish/guestfish-actions.pod:3328
 msgid "'?'"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5002 ../fish/guestfish-actions.pod:3326
+#: ../src/guestfs-actions.pod:5006 ../fish/guestfish-actions.pod:3330
 msgid ""
 "The L<readdir(3)> call returned a C<d_type> field with an unexpected value"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5007
+#: ../src/guestfs-actions.pod:5011
 msgid ""
 "This function is primarily intended for use by programs.  To get a simple "
 "list of names, use C<guestfs_ls>.  To get a printable directory for human "
@@ -12642,19 +12896,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5011
+#: ../src/guestfs-actions.pod:5015
 msgid ""
 "This function returns a C<struct guestfs_dirent_list *>, or NULL if there "
 "was an error.  I<The caller must call C<guestfs_free_dirent_list> after use>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5017
+#: ../src/guestfs-actions.pod:5021
 msgid "guestfs_readlink"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5019
+#: ../src/guestfs-actions.pod:5023
 #, no-wrap
 msgid ""
 " char *\n"
@@ -12664,17 +12918,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5023 ../fish/guestfish-actions.pod:3339
+#: ../src/guestfs-actions.pod:5027 ../fish/guestfish-actions.pod:3343
 msgid "This command reads the target of a symbolic link."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5030
+#: ../src/guestfs-actions.pod:5034
 msgid "guestfs_readlinklist"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5032
+#: ../src/guestfs-actions.pod:5036
 #, no-wrap
 msgid ""
 " char **\n"
@@ -12685,7 +12939,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5037 ../fish/guestfish-actions.pod:3345
+#: ../src/guestfs-actions.pod:5041 ../fish/guestfish-actions.pod:3349
 msgid ""
 "This call allows you to do a C<readlink> operation on multiple files, where "
 "all files are in the directory C<path>.  C<names> is the list of files from "
@@ -12693,14 +12947,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5041 ../fish/guestfish-actions.pod:3349
+#: ../src/guestfs-actions.pod:5045 ../fish/guestfish-actions.pod:3353
 msgid ""
 "On return you get a list of strings, with a one-to-one correspondence to the "
 "C<names> list.  Each string is the value of the symbolic link."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5045 ../fish/guestfish-actions.pod:3353
+#: ../src/guestfs-actions.pod:5049 ../fish/guestfish-actions.pod:3357
 msgid ""
 "If the C<readlink(2)> operation fails on any name, then the corresponding "
 "result string is the empty string C<\"\">.  However the whole operation is "
@@ -12710,7 +12964,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5052 ../fish/guestfish-actions.pod:3360
+#: ../src/guestfs-actions.pod:5056 ../fish/guestfish-actions.pod:3364
 msgid ""
 "This call is intended for programs that want to efficiently list a directory "
 "contents without making many round-trips.  Very long directory listings "
@@ -12719,12 +12973,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5065
+#: ../src/guestfs-actions.pod:5069
 msgid "guestfs_realpath"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5067
+#: ../src/guestfs-actions.pod:5071
 #, no-wrap
 msgid ""
 " char *\n"
@@ -12734,19 +12988,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5071 ../fish/guestfish-actions.pod:3371
+#: ../src/guestfs-actions.pod:5075 ../fish/guestfish-actions.pod:3375
 msgid ""
 "Return the canonicalized absolute pathname of C<path>.  The returned path "
 "has no C<.>, C<..> or symbolic link path elements."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5079
+#: ../src/guestfs-actions.pod:5083
 msgid "guestfs_removexattr"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5081
+#: ../src/guestfs-actions.pod:5085
 #, no-wrap
 msgid ""
 " int\n"
@@ -12757,23 +13011,23 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5086 ../fish/guestfish-actions.pod:3378
+#: ../src/guestfs-actions.pod:5090 ../fish/guestfish-actions.pod:3382
 msgid ""
 "This call removes the extended attribute named C<xattr> of the file C<path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5089
+#: ../src/guestfs-actions.pod:5093
 msgid "See also: C<guestfs_lremovexattr>, L<attr(5)>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5095
+#: ../src/guestfs-actions.pod:5099
 msgid "guestfs_resize2fs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5097
+#: ../src/guestfs-actions.pod:5101
 #, no-wrap
 msgid ""
 " int\n"
@@ -12783,14 +13037,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5101 ../fish/guestfish-actions.pod:3387
+#: ../src/guestfs-actions.pod:5105 ../fish/guestfish-actions.pod:3391
 msgid ""
 "This resizes an ext2, ext3 or ext4 filesystem to match the size of the "
 "underlying device."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5104
+#: ../src/guestfs-actions.pod:5108
 msgid ""
 "I<Note:> It is sometimes required that you run C<guestfs_e2fsck_f> on the "
 "C<device> before calling this command.  For unknown reasons C<resize2fs> "
@@ -12799,12 +13053,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5114
+#: ../src/guestfs-actions.pod:5118
 msgid "guestfs_resize2fs_size"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5116
+#: ../src/guestfs-actions.pod:5120
 #, no-wrap
 msgid ""
 " int\n"
@@ -12815,19 +13069,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5121
+#: ../src/guestfs-actions.pod:5125
 msgid ""
 "This command is the same as C<guestfs_resize2fs> except that it allows you "
 "to specify the new size (in bytes) explicitly."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5128
+#: ../src/guestfs-actions.pod:5132
 msgid "guestfs_rm"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5130
+#: ../src/guestfs-actions.pod:5134
 #, no-wrap
 msgid ""
 " int\n"
@@ -12837,17 +13091,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5134 ../fish/guestfish-actions.pod:3407
+#: ../src/guestfs-actions.pod:5138 ../fish/guestfish-actions.pod:3411
 msgid "Remove the single file C<path>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5140
+#: ../src/guestfs-actions.pod:5144
 msgid "guestfs_rm_rf"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5142
+#: ../src/guestfs-actions.pod:5146
 #, no-wrap
 msgid ""
 " int\n"
@@ -12857,19 +13111,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5146 ../fish/guestfish-actions.pod:3413
+#: ../src/guestfs-actions.pod:5150 ../fish/guestfish-actions.pod:3417
 msgid ""
 "Remove the file or directory C<path>, recursively removing the contents if "
 "its a directory.  This is like the C<rm -rf> shell command."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5154
+#: ../src/guestfs-actions.pod:5158
 msgid "guestfs_rmdir"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5156
+#: ../src/guestfs-actions.pod:5160
 #, no-wrap
 msgid ""
 " int\n"
@@ -12879,17 +13133,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5160 ../fish/guestfish-actions.pod:3421
+#: ../src/guestfs-actions.pod:5164 ../fish/guestfish-actions.pod:3425
 msgid "Remove the single directory C<path>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5166
+#: ../src/guestfs-actions.pod:5170
 msgid "guestfs_rmmountpoint"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5168
+#: ../src/guestfs-actions.pod:5172
 #, no-wrap
 msgid ""
 " int\n"
@@ -12899,19 +13153,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5172
+#: ../src/guestfs-actions.pod:5176
 msgid ""
 "This calls removes a mountpoint that was previously created with "
 "C<guestfs_mkmountpoint>.  See C<guestfs_mkmountpoint> for full details."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5180
+#: ../src/guestfs-actions.pod:5184
 msgid "guestfs_scrub_device"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5182
+#: ../src/guestfs-actions.pod:5186
 #, no-wrap
 msgid ""
 " int\n"
@@ -12921,34 +13175,34 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5186 ../fish/guestfish-actions.pod:3435
+#: ../src/guestfs-actions.pod:5190 ../fish/guestfish-actions.pod:3439
 msgid ""
 "This command writes patterns over C<device> to make data retrieval more "
 "difficult."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5189 ../src/guestfs-actions.pod:5210
-#: ../src/guestfs-actions.pod:5229 ../fish/guestfish-actions.pod:3438
-#: ../fish/guestfish-actions.pod:3453 ../fish/guestfish-actions.pod:3466
+#: ../src/guestfs-actions.pod:5193 ../src/guestfs-actions.pod:5214
+#: ../src/guestfs-actions.pod:5233 ../fish/guestfish-actions.pod:3442
+#: ../fish/guestfish-actions.pod:3457 ../fish/guestfish-actions.pod:3470
 msgid ""
 "It is an interface to the L<scrub(1)> program.  See that manual page for "
 "more details."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5197 ../src/guestfs-actions.pod:5215
-#: ../src/guestfs-actions.pod:5234
+#: ../src/guestfs-actions.pod:5201 ../src/guestfs-actions.pod:5219
+#: ../src/guestfs-actions.pod:5238
 msgid "(Added in 1.0.52)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5199
+#: ../src/guestfs-actions.pod:5203
 msgid "guestfs_scrub_file"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5201
+#: ../src/guestfs-actions.pod:5205
 #, no-wrap
 msgid ""
 " int\n"
@@ -12958,24 +13212,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5205 ../fish/guestfish-actions.pod:3448
+#: ../src/guestfs-actions.pod:5209 ../fish/guestfish-actions.pod:3452
 msgid ""
 "This command writes patterns over a file to make data retrieval more "
 "difficult."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5208 ../fish/guestfish-actions.pod:3451
+#: ../src/guestfs-actions.pod:5212 ../fish/guestfish-actions.pod:3455
 msgid "The file is I<removed> after scrubbing."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5217
+#: ../src/guestfs-actions.pod:5221
 msgid "guestfs_scrub_freespace"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5219
+#: ../src/guestfs-actions.pod:5223
 #, no-wrap
 msgid ""
 " int\n"
@@ -12985,7 +13239,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5223
+#: ../src/guestfs-actions.pod:5227
 msgid ""
 "This command creates the directory C<dir> and then fills it with files until "
 "the filesystem is full, and scrubs the files as for C<guestfs_scrub_file>, "
@@ -12994,12 +13248,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5236
+#: ../src/guestfs-actions.pod:5240
 msgid "guestfs_set_append"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5238
+#: ../src/guestfs-actions.pod:5242
 #, no-wrap
 msgid ""
 " int\n"
@@ -13009,33 +13263,33 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5242 ../fish/guestfish-actions.pod:3475
+#: ../src/guestfs-actions.pod:5246 ../fish/guestfish-actions.pod:3479
 msgid ""
 "This function is used to add additional options to the guest kernel command "
 "line."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5245 ../fish/guestfish-actions.pod:3478
+#: ../src/guestfs-actions.pod:5249 ../fish/guestfish-actions.pod:3482
 msgid ""
 "The default is C<NULL> unless overridden by setting C<LIBGUESTFS_APPEND> "
 "environment variable."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5248 ../fish/guestfish-actions.pod:3481
+#: ../src/guestfs-actions.pod:5252 ../fish/guestfish-actions.pod:3485
 msgid ""
 "Setting C<append> to C<NULL> means I<no> additional options are passed "
 "(libguestfs always adds a few of its own)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5255
+#: ../src/guestfs-actions.pod:5259
 msgid "guestfs_set_autosync"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5257
+#: ../src/guestfs-actions.pod:5261
 #, no-wrap
 msgid ""
 " int\n"
@@ -13045,7 +13299,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5261
+#: ../src/guestfs-actions.pod:5265
 msgid ""
 "If C<autosync> is true, this enables autosync.  Libguestfs will make a best "
 "effort attempt to run C<guestfs_umount_all> followed by C<guestfs_sync> when "
@@ -13053,19 +13307,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5266 ../fish/guestfish-actions.pod:3495
+#: ../src/guestfs-actions.pod:5270 ../fish/guestfish-actions.pod:3499
 msgid ""
 "This is enabled by default (since libguestfs 1.5.24, previously it was "
 "disabled by default)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5273
+#: ../src/guestfs-actions.pod:5277
 msgid "guestfs_set_direct"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5275
+#: ../src/guestfs-actions.pod:5279
 #, no-wrap
 msgid ""
 " int\n"
@@ -13075,14 +13329,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5279 ../fish/guestfish-actions.pod:3504
+#: ../src/guestfs-actions.pod:5283 ../fish/guestfish-actions.pod:3508
 msgid ""
 "If the direct appliance mode flag is enabled, then stdin and stdout are "
 "passed directly through to the appliance once it is launched."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5283
+#: ../src/guestfs-actions.pod:5287
 msgid ""
 "One consequence of this is that log messages aren't caught by the library "
 "and handled by C<guestfs_set_log_message_callback>, but go straight to "
@@ -13090,22 +13344,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5287 ../fish/guestfish-actions.pod:3512
+#: ../src/guestfs-actions.pod:5291 ../fish/guestfish-actions.pod:3516
 msgid "You probably don't want to use this unless you know what you are doing."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5290 ../fish/guestfish-actions.pod:3515
+#: ../src/guestfs-actions.pod:5294 ../fish/guestfish-actions.pod:3519
 msgid "The default is disabled."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5296
+#: ../src/guestfs-actions.pod:5300
 msgid "guestfs_set_e2label"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5298
+#: ../src/guestfs-actions.pod:5302
 #, no-wrap
 msgid ""
 " int\n"
@@ -13116,26 +13370,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5303 ../fish/guestfish-actions.pod:3521
+#: ../src/guestfs-actions.pod:5307 ../fish/guestfish-actions.pod:3525
 msgid ""
 "This sets the ext2/3/4 filesystem label of the filesystem on C<device> to "
 "C<label>.  Filesystem labels are limited to 16 characters."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5307
+#: ../src/guestfs-actions.pod:5311
 msgid ""
 "You can use either C<guestfs_tune2fs_l> or C<guestfs_get_e2label> to return "
 "the existing label on a filesystem."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5314
+#: ../src/guestfs-actions.pod:5318
 msgid "guestfs_set_e2uuid"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5316
+#: ../src/guestfs-actions.pod:5320
 #, no-wrap
 msgid ""
 " int\n"
@@ -13146,7 +13400,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5321 ../fish/guestfish-actions.pod:3532
+#: ../src/guestfs-actions.pod:5325 ../fish/guestfish-actions.pod:3536
 msgid ""
 "This sets the ext2/3/4 filesystem UUID of the filesystem on C<device> to "
 "C<uuid>.  The format of the UUID and alternatives such as C<clear>, "
@@ -13154,19 +13408,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5326
+#: ../src/guestfs-actions.pod:5330
 msgid ""
 "You can use either C<guestfs_tune2fs_l> or C<guestfs_get_e2uuid> to return "
 "the existing UUID of a filesystem."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5333
+#: ../src/guestfs-actions.pod:5337
 msgid "guestfs_set_memsize"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5335
+#: ../src/guestfs-actions.pod:5339
 #, no-wrap
 msgid ""
 " int\n"
@@ -13176,26 +13430,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5339
+#: ../src/guestfs-actions.pod:5343
 msgid ""
 "This sets the memory size in megabytes allocated to the qemu subprocess.  "
 "This only has any effect if called before C<guestfs_launch>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5343 ../fish/guestfish-actions.pod:3550
+#: ../src/guestfs-actions.pod:5347 ../fish/guestfish-actions.pod:3554
 msgid ""
 "You can also change this by setting the environment variable "
 "C<LIBGUESTFS_MEMSIZE> before the handle is created."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5354
+#: ../src/guestfs-actions.pod:5358
 msgid "guestfs_set_network"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5356
+#: ../src/guestfs-actions.pod:5360
 #, no-wrap
 msgid ""
 " int\n"
@@ -13205,33 +13459,33 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5360 ../fish/guestfish-actions.pod:3563
+#: ../src/guestfs-actions.pod:5364 ../fish/guestfish-actions.pod:3567
 msgid ""
 "If C<network> is true, then the network is enabled in the libguestfs "
 "appliance.  The default is false."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5363 ../fish/guestfish-actions.pod:3566
+#: ../src/guestfs-actions.pod:5367 ../fish/guestfish-actions.pod:3570
 msgid ""
 "This affects whether commands are able to access the network (see L<guestfs"
 "(3)/RUNNING COMMANDS>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5366
+#: ../src/guestfs-actions.pod:5370
 msgid ""
 "You must call this before calling C<guestfs_launch>, otherwise it has no "
 "effect."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5373
+#: ../src/guestfs-actions.pod:5377
 msgid "guestfs_set_path"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5375
+#: ../src/guestfs-actions.pod:5379
 #, no-wrap
 msgid ""
 " int\n"
@@ -13241,29 +13495,29 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5379 ../fish/guestfish-actions.pod:3578
+#: ../src/guestfs-actions.pod:5383 ../fish/guestfish-actions.pod:3582
 msgid "Set the path that libguestfs searches for kernel and initrd.img."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5381 ../fish/guestfish-actions.pod:3580
+#: ../src/guestfs-actions.pod:5385 ../fish/guestfish-actions.pod:3584
 msgid ""
 "The default is C<$libdir/guestfs> unless overridden by setting "
 "C<LIBGUESTFS_PATH> environment variable."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5384 ../fish/guestfish-actions.pod:3583
+#: ../src/guestfs-actions.pod:5388 ../fish/guestfish-actions.pod:3587
 msgid "Setting C<path> to C<NULL> restores the default path."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5390
+#: ../src/guestfs-actions.pod:5394
 msgid "guestfs_set_qemu"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5392
+#: ../src/guestfs-actions.pod:5396
 #, no-wrap
 msgid ""
 " int\n"
@@ -13273,30 +13527,30 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5396 ../fish/guestfish-actions.pod:3591
+#: ../src/guestfs-actions.pod:5400 ../fish/guestfish-actions.pod:3595
 msgid "Set the qemu binary that we will use."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5398 ../fish/guestfish-actions.pod:3593
+#: ../src/guestfs-actions.pod:5402 ../fish/guestfish-actions.pod:3597
 msgid ""
 "The default is chosen when the library was compiled by the configure script."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5401 ../fish/guestfish-actions.pod:3596
+#: ../src/guestfs-actions.pod:5405 ../fish/guestfish-actions.pod:3600
 msgid ""
 "You can also override this by setting the C<LIBGUESTFS_QEMU> environment "
 "variable."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5404 ../fish/guestfish-actions.pod:3599
+#: ../src/guestfs-actions.pod:5408 ../fish/guestfish-actions.pod:3603
 msgid "Setting C<qemu> to C<NULL> restores the default qemu binary."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5406 ../fish/guestfish-actions.pod:3601
+#: ../src/guestfs-actions.pod:5410 ../fish/guestfish-actions.pod:3605
 msgid ""
 "Note that you should call this function as early as possible after creating "
 "the handle.  This is because some pre-launch operations depend on testing "
@@ -13307,12 +13561,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5418
+#: ../src/guestfs-actions.pod:5422
 msgid "guestfs_set_recovery_proc"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5420
+#: ../src/guestfs-actions.pod:5424
 #, no-wrap
 msgid ""
 " int\n"
@@ -13322,7 +13576,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5424
+#: ../src/guestfs-actions.pod:5428
 msgid ""
 "If this is called with the parameter C<false> then C<guestfs_launch> does "
 "not create a recovery process.  The purpose of the recovery process is to "
@@ -13331,14 +13585,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5429
+#: ../src/guestfs-actions.pod:5433
 msgid ""
 "This only has any effect if called before C<guestfs_launch>, and the default "
 "is true."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5432 ../fish/guestfish-actions.pod:3623
+#: ../src/guestfs-actions.pod:5436 ../fish/guestfish-actions.pod:3627
 msgid ""
 "About the only time when you would want to disable this is if the main "
 "process will fork itself into the background (\"daemonize\" itself).  In "
@@ -13347,12 +13601,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5442
+#: ../src/guestfs-actions.pod:5446
 msgid "guestfs_set_selinux"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5444
+#: ../src/guestfs-actions.pod:5448
 #, no-wrap
 msgid ""
 " int\n"
@@ -13362,26 +13616,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5448 ../fish/guestfish-actions.pod:3635
+#: ../src/guestfs-actions.pod:5452 ../fish/guestfish-actions.pod:3639
 msgid ""
 "This sets the selinux flag that is passed to the appliance at boot time.  "
 "The default is C<selinux=0> (disabled)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5451 ../fish/guestfish-actions.pod:3638
+#: ../src/guestfs-actions.pod:5455 ../fish/guestfish-actions.pod:3642
 msgid ""
 "Note that if SELinux is enabled, it is always in Permissive mode "
 "(C<enforcing=0>)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5461
+#: ../src/guestfs-actions.pod:5465
 msgid "guestfs_set_trace"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5463
+#: ../src/guestfs-actions.pod:5467
 #, no-wrap
 msgid ""
 " int\n"
@@ -13391,7 +13645,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5467 ../fish/guestfish-actions.pod:3650
+#: ../src/guestfs-actions.pod:5471 ../fish/guestfish-actions.pod:3654
 msgid ""
 "If the command trace flag is set to 1, then commands are printed on stderr "
 "before they are executed in a format which is very similar to the one used "
@@ -13401,26 +13655,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5474 ../fish/guestfish-actions.pod:3657
+#: ../src/guestfs-actions.pod:5478 ../fish/guestfish-actions.pod:3661
 msgid ""
 "If you want to trace C API calls into libguestfs (and other libraries) then "
 "possibly a better way is to use the external ltrace(1) command."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5478 ../fish/guestfish-actions.pod:3661
+#: ../src/guestfs-actions.pod:5482 ../fish/guestfish-actions.pod:3665
 msgid ""
 "Command traces are disabled unless the environment variable "
 "C<LIBGUESTFS_TRACE> is defined and set to C<1>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5485
+#: ../src/guestfs-actions.pod:5489
 msgid "guestfs_set_verbose"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5487
+#: ../src/guestfs-actions.pod:5491
 #, no-wrap
 msgid ""
 " int\n"
@@ -13430,24 +13684,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5491 ../fish/guestfish-actions.pod:3670
+#: ../src/guestfs-actions.pod:5495 ../fish/guestfish-actions.pod:3674
 msgid "If C<verbose> is true, this turns on verbose messages (to C<stderr>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5493 ../fish/guestfish-actions.pod:3672
+#: ../src/guestfs-actions.pod:5497 ../fish/guestfish-actions.pod:3676
 msgid ""
 "Verbose messages are disabled unless the environment variable "
 "C<LIBGUESTFS_DEBUG> is defined and set to C<1>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5500
+#: ../src/guestfs-actions.pod:5504
 msgid "guestfs_setcon"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5502
+#: ../src/guestfs-actions.pod:5506
 #, no-wrap
 msgid ""
 " int\n"
@@ -13457,24 +13711,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5506 ../fish/guestfish-actions.pod:3679
+#: ../src/guestfs-actions.pod:5510 ../fish/guestfish-actions.pod:3683
 msgid ""
 "This sets the SELinux security context of the daemon to the string "
 "C<context>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5509 ../fish/guestfish-actions.pod:3682
+#: ../src/guestfs-actions.pod:5513 ../fish/guestfish-actions.pod:3686
 msgid "See the documentation about SELINUX in L<guestfs(3)>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5515
+#: ../src/guestfs-actions.pod:5519
 msgid "guestfs_setxattr"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5517
+#: ../src/guestfs-actions.pod:5521
 #, no-wrap
 msgid ""
 " int\n"
@@ -13487,24 +13741,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5524 ../fish/guestfish-actions.pod:3688
+#: ../src/guestfs-actions.pod:5528 ../fish/guestfish-actions.pod:3692
 msgid ""
 "This call sets the extended attribute named C<xattr> of the file C<path> to "
 "the value C<val> (of length C<vallen>).  The value is arbitrary 8 bit data."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5528
+#: ../src/guestfs-actions.pod:5532
 msgid "See also: C<guestfs_lsetxattr>, L<attr(5)>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5534
+#: ../src/guestfs-actions.pod:5538
 msgid "guestfs_sfdisk"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5536
+#: ../src/guestfs-actions.pod:5540
 #, no-wrap
 msgid ""
 " int\n"
@@ -13518,19 +13772,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5544 ../fish/guestfish-actions.pod:3698
+#: ../src/guestfs-actions.pod:5548 ../fish/guestfish-actions.pod:3702
 msgid ""
 "This is a direct interface to the L<sfdisk(8)> program for creating "
 "partitions on block devices."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5547 ../fish/guestfish-actions.pod:3701
+#: ../src/guestfs-actions.pod:5551 ../fish/guestfish-actions.pod:3705
 msgid "C<device> should be a block device, for example C</dev/sda>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5549 ../fish/guestfish-actions.pod:3703
+#: ../src/guestfs-actions.pod:5553 ../fish/guestfish-actions.pod:3707
 msgid ""
 "C<cyls>, C<heads> and C<sectors> are the number of cylinders, heads and "
 "sectors on the device, which are passed directly to sfdisk as the I<-C>, I<-"
@@ -13541,14 +13795,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5557 ../fish/guestfish-actions.pod:3711
+#: ../src/guestfs-actions.pod:5561 ../fish/guestfish-actions.pod:3715
 msgid ""
 "C<lines> is a list of lines that we feed to C<sfdisk>.  For more information "
 "refer to the L<sfdisk(8)> manpage."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5560 ../fish/guestfish-actions.pod:3714
+#: ../src/guestfs-actions.pod:5564 ../fish/guestfish-actions.pod:3718
 msgid ""
 "To create a single partition occupying the whole disk, you would pass "
 "C<lines> as a single element list, when the single element being the string "
@@ -13556,18 +13810,18 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5564
+#: ../src/guestfs-actions.pod:5568
 msgid ""
 "See also: C<guestfs_sfdisk_l>, C<guestfs_sfdisk_N>, C<guestfs_part_init>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5574
+#: ../src/guestfs-actions.pod:5578
 msgid "guestfs_sfdiskM"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5576
+#: ../src/guestfs-actions.pod:5580
 #, no-wrap
 msgid ""
 " int\n"
@@ -13578,7 +13832,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5581
+#: ../src/guestfs-actions.pod:5585
 msgid ""
 "This is a simplified interface to the C<guestfs_sfdisk> command, where "
 "partition sizes are specified in megabytes only (rounded to the nearest "
@@ -13587,19 +13841,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5587
+#: ../src/guestfs-actions.pod:5591
 msgid ""
 "See also: C<guestfs_sfdisk>, the L<sfdisk(8)> manpage and "
 "C<guestfs_part_disk>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5597
+#: ../src/guestfs-actions.pod:5601
 msgid "guestfs_sfdisk_N"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5599
+#: ../src/guestfs-actions.pod:5603
 #, no-wrap
 msgid ""
 " int\n"
@@ -13614,31 +13868,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5608 ../fish/guestfish-actions.pod:3744
+#: ../src/guestfs-actions.pod:5612 ../fish/guestfish-actions.pod:3748
 msgid ""
 "This runs L<sfdisk(8)> option to modify just the single partition C<n> "
 "(note: C<n> counts from 1)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5611
+#: ../src/guestfs-actions.pod:5615
 msgid ""
 "For other parameters, see C<guestfs_sfdisk>.  You should usually pass C<0> "
 "for the cyls/heads/sectors parameters."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5614
+#: ../src/guestfs-actions.pod:5618
 msgid "See also: C<guestfs_part_add>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5623
+#: ../src/guestfs-actions.pod:5627
 msgid "guestfs_sfdisk_disk_geometry"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5625
+#: ../src/guestfs-actions.pod:5629
 #, no-wrap
 msgid ""
 " char *\n"
@@ -13648,7 +13902,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5629
+#: ../src/guestfs-actions.pod:5633
 msgid ""
 "This displays the disk geometry of C<device> read from the partition table.  "
 "Especially in the case where the underlying block device has been resized, "
@@ -13657,18 +13911,18 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5634 ../src/guestfs-actions.pod:5650
-#: ../fish/guestfish-actions.pod:3764 ../fish/guestfish-actions.pod:3773
+#: ../src/guestfs-actions.pod:5638 ../src/guestfs-actions.pod:5654
+#: ../fish/guestfish-actions.pod:3768 ../fish/guestfish-actions.pod:3777
 msgid "The result is in human-readable format, and not designed to be parsed."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5642
+#: ../src/guestfs-actions.pod:5646
 msgid "guestfs_sfdisk_kernel_geometry"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5644
+#: ../src/guestfs-actions.pod:5648
 #, no-wrap
 msgid ""
 " char *\n"
@@ -13678,17 +13932,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5648 ../fish/guestfish-actions.pod:3771
+#: ../src/guestfs-actions.pod:5652 ../fish/guestfish-actions.pod:3775
 msgid "This displays the kernel's idea of the geometry of C<device>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5658
+#: ../src/guestfs-actions.pod:5662
 msgid "guestfs_sfdisk_l"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5660
+#: ../src/guestfs-actions.pod:5664
 #, no-wrap
 msgid ""
 " char *\n"
@@ -13698,24 +13952,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5664 ../fish/guestfish-actions.pod:3780
+#: ../src/guestfs-actions.pod:5668 ../fish/guestfish-actions.pod:3784
 msgid ""
 "This displays the partition table on C<device>, in the human-readable output "
 "of the L<sfdisk(8)> command.  It is not intended to be parsed."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5668
+#: ../src/guestfs-actions.pod:5672
 msgid "See also: C<guestfs_part_list>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5675
+#: ../src/guestfs-actions.pod:5679
 msgid "guestfs_sh"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5677
+#: ../src/guestfs-actions.pod:5681
 #, no-wrap
 msgid ""
 " char *\n"
@@ -13725,19 +13979,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5681 ../fish/guestfish-actions.pod:3790
+#: ../src/guestfs-actions.pod:5685 ../fish/guestfish-actions.pod:3794
 msgid ""
 "This call runs a command from the guest filesystem via the guest's C</bin/"
 "sh>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5684
+#: ../src/guestfs-actions.pod:5688
 msgid "This is like C<guestfs_command>, but passes the command to:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5686 ../fish/guestfish-actions.pod:3795
+#: ../src/guestfs-actions.pod:5690 ../fish/guestfish-actions.pod:3799
 #, no-wrap
 msgid ""
 " /bin/sh -c \"command\"\n"
@@ -13745,24 +13999,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5688 ../fish/guestfish-actions.pod:3797
+#: ../src/guestfs-actions.pod:5692 ../fish/guestfish-actions.pod:3801
 msgid ""
 "Depending on the guest's shell, this usually results in wildcards being "
 "expanded, shell expressions being interpolated and so on."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5692
+#: ../src/guestfs-actions.pod:5696
 msgid "All the provisos about C<guestfs_command> apply to this call."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5699
+#: ../src/guestfs-actions.pod:5703
 msgid "guestfs_sh_lines"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5701
+#: ../src/guestfs-actions.pod:5705
 #, no-wrap
 msgid ""
 " char **\n"
@@ -13772,24 +14026,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5705
+#: ../src/guestfs-actions.pod:5709
 msgid ""
 "This is the same as C<guestfs_sh>, but splits the result into a list of "
 "lines."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5708
+#: ../src/guestfs-actions.pod:5712
 msgid "See also: C<guestfs_command_lines>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5716
+#: ../src/guestfs-actions.pod:5720
 msgid "guestfs_sleep"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5718
+#: ../src/guestfs-actions.pod:5722
 #, no-wrap
 msgid ""
 " int\n"
@@ -13799,22 +14053,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5722 ../fish/guestfish-actions.pod:3816
+#: ../src/guestfs-actions.pod:5726 ../fish/guestfish-actions.pod:3820
 msgid "Sleep for C<secs> seconds."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5726
+#: ../src/guestfs-actions.pod:5730
 msgid "(Added in 1.0.41)"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5728 ../src/guestfs-structs.pod:109
+#: ../src/guestfs-actions.pod:5732 ../src/guestfs-structs.pod:109
 msgid "guestfs_stat"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5730
+#: ../src/guestfs-actions.pod:5734
 #, no-wrap
 msgid ""
 " struct guestfs_stat *\n"
@@ -13824,17 +14078,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5736 ../fish/guestfish-actions.pod:3824
+#: ../src/guestfs-actions.pod:5740 ../fish/guestfish-actions.pod:3828
 msgid "This is the same as the C<stat(2)> system call."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5744 ../src/guestfs-structs.pod:135
+#: ../src/guestfs-actions.pod:5748 ../src/guestfs-structs.pod:135
 msgid "guestfs_statvfs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5746
+#: ../src/guestfs-actions.pod:5750
 #, no-wrap
 msgid ""
 " struct guestfs_statvfs *\n"
@@ -13844,7 +14098,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5750 ../fish/guestfish-actions.pod:3830
+#: ../src/guestfs-actions.pod:5754 ../fish/guestfish-actions.pod:3834
 msgid ""
 "Returns file system statistics for any mounted file system.  C<path> should "
 "be a file or directory in the mounted file system (typically it is the mount "
@@ -13852,24 +14106,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5754 ../fish/guestfish-actions.pod:3834
+#: ../src/guestfs-actions.pod:5758 ../fish/guestfish-actions.pod:3838
 msgid "This is the same as the C<statvfs(2)> system call."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5756
+#: ../src/guestfs-actions.pod:5760
 msgid ""
 "This function returns a C<struct guestfs_statvfs *>, or NULL if there was an "
 "error.  I<The caller must call C<guestfs_free_statvfs> after use>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5762
+#: ../src/guestfs-actions.pod:5766
 msgid "guestfs_strings"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5764
+#: ../src/guestfs-actions.pod:5768
 #, no-wrap
 msgid ""
 " char **\n"
@@ -13879,19 +14133,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5768 ../fish/guestfish-actions.pod:3840
+#: ../src/guestfs-actions.pod:5772 ../fish/guestfish-actions.pod:3844
 msgid ""
 "This runs the L<strings(1)> command on a file and returns the list of "
 "printable strings found."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5780
+#: ../src/guestfs-actions.pod:5784
 msgid "guestfs_strings_e"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5782
+#: ../src/guestfs-actions.pod:5786
 #, no-wrap
 msgid ""
 " char **\n"
@@ -13902,93 +14156,93 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5787
+#: ../src/guestfs-actions.pod:5791
 msgid ""
 "This is like the C<guestfs_strings> command, but allows you to specify the "
 "encoding of strings that are looked for in the source file C<path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5791 ../fish/guestfish-actions.pod:3854
+#: ../src/guestfs-actions.pod:5795 ../fish/guestfish-actions.pod:3858
 msgid "Allowed encodings are:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:5795 ../fish/guestfish-actions.pod:3858
+#: ../src/guestfs-actions.pod:5799 ../fish/guestfish-actions.pod:3862
 msgid "s"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5797
+#: ../src/guestfs-actions.pod:5801
 msgid ""
 "Single 7-bit-byte characters like ASCII and the ASCII-compatible parts of "
 "ISO-8859-X (this is what C<guestfs_strings> uses)."
 msgstr &q