df: Add --uuid option to print guest UUIDs instead of names (RHBZ#646821).
[libguestfs.git] / po-docs / libguestfs-docs.pot
index 1fd8cbd..0e43922 100644 (file)
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: libguestfs 1.5.16\n"
+"Project-Id-Version: libguestfs 1.5.23\n"
 "Report-Msgid-Bugs-To: libguestfs@redhat.com\n"
 "Report-Msgid-Bugs-To: libguestfs@redhat.com\n"
-"POT-Creation-Date: 2010-09-15 22:12+0200\n"
+"POT-Creation-Date: 2010-10-22 23:11+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,12 +17,12 @@ msgstr ""
 "Content-Transfer-Encoding: ENCODING"
 
 # type: =encoding
 "Content-Transfer-Encoding: ENCODING"
 
 # type: =encoding
-#: ../src/guestfs.pod:1 ../fish/guestfish.pod:1 ../test-tool/libguestfs-test-tool.pod:1 ../fuse/guestmount.pod:1 ../inspector/virt-inspector.pl:36 ../tools/virt-cat.pl:30 ../tools/virt-df.pl:32 ../tools/virt-edit.pl:31 ../tools/virt-list-filesystems.pl:28 ../tools/virt-list-partitions.pl:28 ../tools/virt-ls.pl:31 ../tools/virt-make-fs.pl:33 ../tools/virt-rescue.pl:29 ../tools/virt-resize.pl:38 ../tools/virt-tar.pl:30 ../tools/virt-win-reg.pl:34
+#: ../src/guestfs.pod:1 ../fish/guestfish.pod:1 ../test-tool/libguestfs-test-tool.pod:1 ../fuse/guestmount.pod:1 ../inspector/virt-inspector.pl:36 ../tools/virt-edit.pl:31 ../tools/virt-win-reg.pl:34 ../tools/virt-df.pl:32 ../tools/virt-ls.pl:31 ../tools/virt-resize.pl:38 ../tools/virt-list-filesystems.pl:28 ../tools/virt-cat.pl:30 ../tools/virt-tar.pl:30 ../tools/virt-rescue.pl:29 ../tools/virt-make-fs.pl:33 ../tools/virt-list-partitions.pl:28
 msgid "utf8"
 msgstr ""
 
 # type: =head1
 msgid "utf8"
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:3 ../fish/guestfish.pod:3 ../test-tool/libguestfs-test-tool.pod:3 ../fuse/guestmount.pod:3 ../inspector/virt-inspector.pl:38 ../tools/virt-cat.pl:32 ../tools/virt-df.pl:34 ../tools/virt-edit.pl:33 ../tools/virt-list-filesystems.pl:30 ../tools/virt-list-partitions.pl:30 ../tools/virt-ls.pl:33 ../tools/virt-make-fs.pl:35 ../tools/virt-rescue.pl:31 ../tools/virt-resize.pl:40 ../tools/virt-tar.pl:32 ../tools/virt-win-reg.pl:36
+#: ../src/guestfs.pod:3 ../fish/guestfish.pod:3 ../test-tool/libguestfs-test-tool.pod:3 ../fuse/guestmount.pod:3 ../inspector/virt-inspector.pl:38 ../tools/virt-edit.pl:33 ../tools/virt-win-reg.pl:36 ../tools/virt-df.pl:34 ../tools/virt-ls.pl:33 ../tools/virt-resize.pl:40 ../tools/virt-list-filesystems.pl:30 ../tools/virt-cat.pl:32 ../tools/virt-tar.pl:32 ../tools/virt-rescue.pl:31 ../tools/virt-make-fs.pl:35 ../tools/virt-list-partitions.pl:30
 msgid "NAME"
 msgstr ""
 
 msgid "NAME"
 msgstr ""
 
@@ -32,7 +32,7 @@ msgid "guestfs - Library for accessing and modifying virtual machine images"
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:7 ../fish/guestfish.pod:7 ../test-tool/libguestfs-test-tool.pod:7 ../fuse/guestmount.pod:7 ../inspector/virt-inspector.pl:42 ../tools/virt-cat.pl:36 ../tools/virt-df.pl:38 ../tools/virt-edit.pl:37 ../tools/virt-list-filesystems.pl:34 ../tools/virt-list-partitions.pl:34 ../tools/virt-ls.pl:37 ../tools/virt-make-fs.pl:39 ../tools/virt-rescue.pl:35 ../tools/virt-resize.pl:44 ../tools/virt-tar.pl:36 ../tools/virt-win-reg.pl:40
+#: ../src/guestfs.pod:7 ../fish/guestfish.pod:7 ../test-tool/libguestfs-test-tool.pod:7 ../fuse/guestmount.pod:7 ../inspector/virt-inspector.pl:42 ../tools/virt-edit.pl:37 ../tools/virt-win-reg.pl:40 ../tools/virt-df.pl:38 ../tools/virt-ls.pl:37 ../tools/virt-resize.pl:44 ../tools/virt-list-filesystems.pl:34 ../tools/virt-cat.pl:36 ../tools/virt-tar.pl:36 ../tools/virt-rescue.pl:35 ../tools/virt-make-fs.pl:39 ../tools/virt-list-partitions.pl:34
 msgid "SYNOPSIS"
 msgstr ""
 
 msgid "SYNOPSIS"
 msgstr ""
 
@@ -70,7 +70,7 @@ msgid ""
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:24 ../fish/guestfish.pod:115 ../test-tool/libguestfs-test-tool.pod:11 ../fuse/guestmount.pod:16 ../inspector/virt-inspector.pl:48 ../tools/virt-cat.pl:42 ../tools/virt-df.pl:46 ../tools/virt-edit.pl:51 ../tools/virt-list-filesystems.pl:40 ../tools/virt-list-partitions.pl:40 ../tools/virt-ls.pl:43 ../tools/virt-make-fs.pl:47 ../tools/virt-rescue.pl:51 ../tools/virt-resize.pl:50 ../tools/virt-tar.pl:73 ../tools/virt-win-reg.pl:64
+#: ../src/guestfs.pod:24 ../fish/guestfish.pod:30 ../test-tool/libguestfs-test-tool.pod:11 ../fuse/guestmount.pod:16 ../inspector/virt-inspector.pl:48 ../tools/virt-edit.pl:51 ../tools/virt-win-reg.pl:64 ../tools/virt-df.pl:46 ../tools/virt-ls.pl:43 ../tools/virt-resize.pl:50 ../tools/virt-list-filesystems.pl:40 ../tools/virt-cat.pl:42 ../tools/virt-tar.pl:73 ../tools/virt-rescue.pl:51 ../tools/virt-make-fs.pl:47 ../tools/virt-list-partitions.pl:40
 msgid "DESCRIPTION"
 msgstr ""
 
 msgid "DESCRIPTION"
 msgstr ""
 
@@ -272,12 +272,46 @@ msgstr ""
 # type: textblock
 #: ../src/guestfs.pod:127
 msgid ""
 # type: textblock
 #: ../src/guestfs.pod:127
 msgid ""
-"You can add a disk read-only using L</guestfs_add_drive_ro>, in which case "
+"The call you should use in modern code for adding drives is "
+"L</guestfs_add_drive_opts>.  To add a disk image, allowing writes, and "
+"specifying that the format is raw, do:"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs.pod:131
+#, no-wrap
+msgid ""
+" guestfs_add_drive_opts (g, filename,\n"
+"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"raw\",\n"
+"                         -1);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:135
+msgid "You can add a disk read-only using:"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs.pod:137
+#, no-wrap
+msgid ""
+" guestfs_add_drive_opts (g, filename,\n"
+"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"raw\",\n"
+"                         GUESTFS_ADD_DRIVE_OPTS_READONLY, 1,\n"
+"                         -1);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:142
+msgid ""
+"or by calling the older function L</guestfs_add_drive_ro>.  In either case "
 "libguestfs won't modify the file."
 msgstr ""
 
 # type: textblock
 "libguestfs won't modify the file."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:130
+#: ../src/guestfs.pod:145
 msgid ""
 "Be extremely cautious if the disk image is in use, eg. if it is being used "
 "by a virtual machine.  Adding it read-write will almost certainly cause disk "
 msgid ""
 "Be extremely cautious if the disk image is in use, eg. if it is being used "
 "by a virtual machine.  Adding it read-write will almost certainly cause disk "
@@ -285,7 +319,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:134
+#: ../src/guestfs.pod:149
 msgid ""
 "You must add at least one disk image, and you may add multiple disk images.  "
 "In the API, the disk images are usually referred to as C</dev/sda> (for the "
 msgid ""
 "You must add at least one disk image, and you may add multiple disk images.  "
 "In the API, the disk images are usually referred to as C</dev/sda> (for the "
@@ -293,7 +327,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:139
+#: ../src/guestfs.pod:154
 msgid ""
 "Once L</guestfs_launch> has been called you cannot add any more images.  You "
 "can call L</guestfs_list_devices> to get a list of the device names, in the "
 msgid ""
 "Once L</guestfs_launch> has been called you cannot add any more images.  You "
 "can call L</guestfs_list_devices> to get a list of the device names, in the "
@@ -301,12 +335,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:144
+#: ../src/guestfs.pod:159
 msgid "MOUNTING"
 msgstr ""
 
 # type: textblock
 msgid "MOUNTING"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:146
+#: ../src/guestfs.pod:161
 msgid ""
 "Before you can read or write files, create directories and so on in a disk "
 "image that contains filesystems, you have to mount those filesystems using "
 msgid ""
 "Before you can read or write files, create directories and so on in a disk "
 "image that contains filesystems, you have to mount those filesystems using "
@@ -316,7 +350,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:152
+#: ../src/guestfs.pod:167
 #, no-wrap
 msgid ""
 " guestfs_mount (g, \"/dev/sda1\", \"/\");\n"
 #, no-wrap
 msgid ""
 " guestfs_mount (g, \"/dev/sda1\", \"/\");\n"
@@ -324,7 +358,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:154
+#: ../src/guestfs.pod:169
 msgid ""
 "where C</dev/sda1> means literally the first partition (C<1>) of the first "
 "disk image that we added (C</dev/sda>).  If the disk contains Linux LVM2 "
 msgid ""
 "where C</dev/sda1> means literally the first partition (C<1>) of the first "
 "disk image that we added (C</dev/sda>).  If the disk contains Linux LVM2 "
@@ -332,7 +366,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:158
+#: ../src/guestfs.pod:173
 msgid ""
 "If you are given a disk image and you don't know what it contains then you "
 "have to find out.  Libguestfs can do that too: use "
 msgid ""
 "If you are given a disk image and you don't know what it contains then you "
 "have to find out.  Libguestfs can do that too: use "
@@ -345,19 +379,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:168
+#: ../src/guestfs.pod:183
 msgid ""
 "To mount a disk image read-only, use L</guestfs_mount_ro>.  There are "
 "several other variations of the C<guestfs_mount_*> call."
 msgstr ""
 
 # type: =head2
 msgid ""
 "To mount a disk image read-only, use L</guestfs_mount_ro>.  There are "
 "several other variations of the C<guestfs_mount_*> call."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:171
+#: ../src/guestfs.pod:186
 msgid "FILESYSTEM ACCESS AND MODIFICATION"
 msgstr ""
 
 # type: textblock
 msgid "FILESYSTEM ACCESS AND MODIFICATION"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:173
+#: ../src/guestfs.pod:188
 msgid ""
 "The majority of the libguestfs API consists of fairly low-level calls for "
 "accessing and modifying the files, directories, symlinks etc on mounted "
 msgid ""
 "The majority of the libguestfs API consists of fairly low-level calls for "
 "accessing and modifying the files, directories, symlinks etc on mounted "
@@ -367,21 +401,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:179
+#: ../src/guestfs.pod:194
 msgid ""
 "Specify filenames as full paths, starting with C<\"/\"> and including the "
 "mount point."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Specify filenames as full paths, starting with C<\"/\"> and including the "
 "mount point."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:182
+#: ../src/guestfs.pod:197
 msgid ""
 "For example, if you mounted a filesystem at C<\"/\"> and you want to read "
 "the file called C<\"etc/passwd\"> then you could do:"
 msgstr ""
 
 # type: verbatim
 msgid ""
 "For example, if you mounted a filesystem at C<\"/\"> and you want to read "
 "the file called C<\"etc/passwd\"> then you could do:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:185
+#: ../src/guestfs.pod:200
 #, no-wrap
 msgid ""
 " char *data = guestfs_cat (g, \"/etc/passwd\");\n"
 #, no-wrap
 msgid ""
 " char *data = guestfs_cat (g, \"/etc/passwd\");\n"
@@ -389,7 +423,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:187
+#: ../src/guestfs.pod:202
 msgid ""
 "This would return C<data> as a newly allocated buffer containing the full "
 "content of that file (with some conditions: see also L</DOWNLOADING> below), "
 msgid ""
 "This would return C<data> as a newly allocated buffer containing the full "
 "content of that file (with some conditions: see also L</DOWNLOADING> below), "
@@ -397,14 +431,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:191
+#: ../src/guestfs.pod:206
 msgid ""
 "As another example, to create a top-level directory on that filesystem "
 "called C<\"var\"> you would do:"
 msgstr ""
 
 # type: verbatim
 msgid ""
 "As another example, to create a top-level directory on that filesystem "
 "called C<\"var\"> you would do:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:194
+#: ../src/guestfs.pod:209
 #, no-wrap
 msgid ""
 " guestfs_mkdir (g, \"/var\");\n"
 #, no-wrap
 msgid ""
 " guestfs_mkdir (g, \"/var\");\n"
@@ -412,12 +446,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:196
+#: ../src/guestfs.pod:211
 msgid "To create a symlink you could do:"
 msgstr ""
 
 # type: verbatim
 msgid "To create a symlink you could do:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:198
+#: ../src/guestfs.pod:213
 #, no-wrap
 msgid ""
 " guestfs_ln_s (g, \"/etc/init.d/portmap\",\n"
 #, no-wrap
 msgid ""
 " guestfs_ln_s (g, \"/etc/init.d/portmap\",\n"
@@ -426,14 +460,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:201
+#: ../src/guestfs.pod:216
 msgid ""
 "Libguestfs will reject attempts to use relative paths and there is no "
 "concept of a current working directory."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Libguestfs will reject attempts to use relative paths and there is no "
 "concept of a current working directory."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:204
+#: ../src/guestfs.pod:219
 msgid ""
 "Libguestfs can return errors in many situations: for example if the "
 "filesystem isn't writable, or if a file or directory that you requested "
 msgid ""
 "Libguestfs can return errors in many situations: for example if the "
 "filesystem isn't writable, or if a file or directory that you requested "
@@ -443,33 +477,33 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:210
+#: ../src/guestfs.pod:225
 msgid ""
 "File writes are affected by the per-handle umask, set by calling "
 "L</guestfs_umask> and defaulting to 022.  See L</UMASK>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "File writes are affected by the per-handle umask, set by calling "
 "L</guestfs_umask> and defaulting to 022.  See L</UMASK>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:213
+#: ../src/guestfs.pod:228
 msgid "PARTITIONING"
 msgstr ""
 
 # type: textblock
 msgid "PARTITIONING"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:215
+#: ../src/guestfs.pod:230
 msgid ""
 "Libguestfs contains API calls to read, create and modify partition tables on "
 "disk images."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Libguestfs contains API calls to read, create and modify partition tables on "
 "disk images."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:218
+#: ../src/guestfs.pod:233
 msgid ""
 "In the common case where you want to create a single partition covering the "
 "whole disk, you should use the L</guestfs_part_disk> call:"
 msgstr ""
 
 # type: verbatim
 msgid ""
 "In the common case where you want to create a single partition covering the "
 "whole disk, you should use the L</guestfs_part_disk> call:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:222
+#: ../src/guestfs.pod:237
 #, no-wrap
 msgid ""
 " const char *parttype = \"mbr\";\n"
 #, no-wrap
 msgid ""
 " const char *parttype = \"mbr\";\n"
@@ -480,19 +514,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:227
+#: ../src/guestfs.pod:242
 msgid ""
 "Obviously this effectively wipes anything that was on that disk image "
 "before."
 msgstr ""
 
 # type: =head2
 msgid ""
 "Obviously this effectively wipes anything that was on that disk image "
 "before."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:230
+#: ../src/guestfs.pod:245
 msgid "LVM2"
 msgstr ""
 
 # type: textblock
 msgid "LVM2"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:232
+#: ../src/guestfs.pod:247
 msgid ""
 "Libguestfs provides access to a large part of the LVM2 API, such as "
 "L</guestfs_lvcreate> and L</guestfs_vgremove>.  It won't make much sense "
 msgid ""
 "Libguestfs provides access to a large part of the LVM2 API, such as "
 "L</guestfs_lvcreate> and L</guestfs_vgremove>.  It won't make much sense "
@@ -501,19 +535,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:237
+#: ../src/guestfs.pod:252
 msgid ""
 "This author strongly recommends reading the LVM HOWTO, online at "
 "L<http://tldp.org/HOWTO/LVM-HOWTO/>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This author strongly recommends reading the LVM HOWTO, online at "
 "L<http://tldp.org/HOWTO/LVM-HOWTO/>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:240
+#: ../src/guestfs.pod:255
 msgid "DOWNLOADING"
 msgstr ""
 
 # type: textblock
 msgid "DOWNLOADING"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:242
+#: ../src/guestfs.pod:257
 msgid ""
 "Use L</guestfs_cat> to download small, text only files.  This call is "
 "limited to files which are less than 2 MB and which cannot contain any ASCII "
 msgid ""
 "Use L</guestfs_cat> to download small, text only files.  This call is "
 "limited to files which are less than 2 MB and which cannot contain any ASCII "
@@ -521,7 +555,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:247
+#: ../src/guestfs.pod:262
 msgid ""
 "L</guestfs_read_file> can be used to read files which contain arbitrary 8 "
 "bit data, since it returns a (pointer, size) pair.  However it is still "
 msgid ""
 "L</guestfs_read_file> can be used to read files which contain arbitrary 8 "
 "bit data, since it returns a (pointer, size) pair.  However it is still "
@@ -529,31 +563,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:251
+#: ../src/guestfs.pod:266
 msgid ""
 "L</guestfs_download> can be used to download any file, with no limits on "
 "content or size (even files larger than 4 GB)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "L</guestfs_download> can be used to download any file, with no limits on "
 "content or size (even files larger than 4 GB)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:254
+#: ../src/guestfs.pod:269
 msgid "To download multiple files, see L</guestfs_tar_out> and L</guestfs_tgz_out>."
 msgstr ""
 
 # type: =head2
 msgid "To download multiple files, see L</guestfs_tar_out> and L</guestfs_tgz_out>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:257
+#: ../src/guestfs.pod:272
 msgid "UPLOADING"
 msgstr ""
 
 # type: textblock
 msgid "UPLOADING"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:259
+#: ../src/guestfs.pod:274
 msgid ""
 "It's often the case that you want to write a file or files to the disk "
 "image."
 msgstr ""
 
 # type: textblock
 msgid ""
 "It's often the case that you want to write a file or files to the disk "
 "image."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:262
+#: ../src/guestfs.pod:277
 msgid ""
 "To write a small file with fixed content, use L</guestfs_write>.  To create "
 "a file of all zeroes, use L</guestfs_truncate_size> (sparse) or "
 msgid ""
 "To write a small file with fixed content, use L</guestfs_write>.  To create "
 "a file of all zeroes, use L</guestfs_truncate_size> (sparse) or "
@@ -563,19 +597,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:268
+#: ../src/guestfs.pod:283
 msgid ""
 "To upload a single file, use L</guestfs_upload>.  This call has no limits on "
 "file content or size (even files larger than 4 GB)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "To upload a single file, use L</guestfs_upload>.  This call has no limits on "
 "file content or size (even files larger than 4 GB)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:271
+#: ../src/guestfs.pod:286
 msgid "To upload multiple files, see L</guestfs_tar_in> and L</guestfs_tgz_in>."
 msgstr ""
 
 # type: textblock
 msgid "To upload multiple files, see L</guestfs_tar_in> and L</guestfs_tgz_in>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:273
+#: ../src/guestfs.pod:288
 msgid ""
 "However the fastest way to upload I<large numbers of arbitrary files> is to "
 "turn them into a squashfs or CD ISO (see L<mksquashfs(8)> and "
 msgid ""
 "However the fastest way to upload I<large numbers of arbitrary files> is to "
 "turn them into a squashfs or CD ISO (see L<mksquashfs(8)> and "
@@ -589,12 +623,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:284
+#: ../src/guestfs.pod:299
 msgid "COPYING"
 msgstr ""
 
 # type: textblock
 msgid "COPYING"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:286
+#: ../src/guestfs.pod:301
 msgid ""
 "There are various different commands for copying between files and devices "
 "and in and out of the guest filesystem.  These are summarised in the table "
 msgid ""
 "There are various different commands for copying between files and devices "
 "and in and out of the guest filesystem.  These are summarised in the table "
@@ -602,36 +636,36 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:292
+#: ../src/guestfs.pod:307
 msgid "B<file> to B<file>"
 msgstr ""
 
 # type: textblock
 msgid "B<file> to B<file>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:294
+#: ../src/guestfs.pod:309
 msgid ""
 "Use L</guestfs_cp> to copy a single file, or L</guestfs_cp_a> to copy "
 "directories recursively."
 msgstr ""
 
 # type: =item
 msgid ""
 "Use L</guestfs_cp> to copy a single file, or L</guestfs_cp_a> to copy "
 "directories recursively."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:297
+#: ../src/guestfs.pod:312
 msgid "B<file or device> to B<file or device>"
 msgstr ""
 
 # type: textblock
 msgid "B<file or device> to B<file or device>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:299
+#: ../src/guestfs.pod:314
 msgid ""
 "Use L</guestfs_dd> which efficiently uses L<dd(1)> to copy between files and "
 "devices in the guest."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Use L</guestfs_dd> which efficiently uses L<dd(1)> to copy between files and "
 "devices in the guest."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:302
+#: ../src/guestfs.pod:317
 msgid "Example: duplicate the contents of an LV:"
 msgstr ""
 
 # type: verbatim
 msgid "Example: duplicate the contents of an LV:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:304
+#: ../src/guestfs.pod:319
 #, no-wrap
 msgid ""
 " guestfs_dd (g, \"/dev/VG/Original\", \"/dev/VG/Copy\");\n"
 #, no-wrap
 msgid ""
 " guestfs_dd (g, \"/dev/VG/Original\", \"/dev/VG/Copy\");\n"
@@ -639,7 +673,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:306
+#: ../src/guestfs.pod:321
 msgid ""
 "The destination (C</dev/VG/Copy>) must be at least as large as the source "
 "(C</dev/VG/Original>).  To copy less than the whole source device, use "
 msgid ""
 "The destination (C</dev/VG/Copy>) must be at least as large as the source "
 "(C</dev/VG/Original>).  To copy less than the whole source device, use "
@@ -647,46 +681,46 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:310
+#: ../src/guestfs.pod:325
 msgid "B<file on the host> to B<file or device>"
 msgstr ""
 
 # type: textblock
 msgid "B<file on the host> to B<file or device>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:312
+#: ../src/guestfs.pod:327
 msgid "Use L</guestfs_upload>.  See L</UPLOADING> above."
 msgstr ""
 
 # type: =item
 msgid "Use L</guestfs_upload>.  See L</UPLOADING> above."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:314
+#: ../src/guestfs.pod:329
 msgid "B<file or device> to B<file on the host>"
 msgstr ""
 
 # type: textblock
 msgid "B<file or device> to B<file on the host>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:316
+#: ../src/guestfs.pod:331
 msgid "Use L</guestfs_download>.  See L</DOWNLOADING> above."
 msgstr ""
 
 # type: =head2
 msgid "Use L</guestfs_download>.  See L</DOWNLOADING> above."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:320
+#: ../src/guestfs.pod:335
 msgid "LISTING FILES"
 msgstr ""
 
 # type: textblock
 msgid "LISTING FILES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:322
+#: ../src/guestfs.pod:337
 msgid ""
 "L</guestfs_ll> is just designed for humans to read (mainly when using the "
 "L<guestfish(1)>-equivalent command C<ll>)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "L</guestfs_ll> is just designed for humans to read (mainly when using the "
 "L<guestfish(1)>-equivalent command C<ll>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:325
+#: ../src/guestfs.pod:340
 msgid ""
 "L</guestfs_ls> is a quick way to get a list of files in a directory from "
 "programs, as a flat list of strings."
 msgstr ""
 
 # type: textblock
 msgid ""
 "L</guestfs_ls> is a quick way to get a list of files in a directory from "
 "programs, as a flat list of strings."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:328
+#: ../src/guestfs.pod:343
 msgid ""
 "L</guestfs_readdir> is a programmatic way to get a list of files in a "
 "directory, plus additional information about each one.  It is more "
 msgid ""
 "L</guestfs_readdir> is a programmatic way to get a list of files in a "
 "directory, plus additional information about each one.  It is more "
@@ -694,19 +728,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:332
+#: ../src/guestfs.pod:347
 msgid ""
 "L</guestfs_find> and L</guestfs_find0> can be used to recursively list "
 "files."
 msgstr ""
 
 # type: =head2
 msgid ""
 "L</guestfs_find> and L</guestfs_find0> can be used to recursively list "
 "files."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:335
+#: ../src/guestfs.pod:350
 msgid "RUNNING COMMANDS"
 msgstr ""
 
 # type: textblock
 msgid "RUNNING COMMANDS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:337
+#: ../src/guestfs.pod:352
 msgid ""
 "Although libguestfs is primarily an API for manipulating files inside guest "
 "images, we also provide some limited facilities for running commands inside "
 msgid ""
 "Although libguestfs is primarily an API for manipulating files inside guest "
 "images, we also provide some limited facilities for running commands inside "
@@ -714,79 +748,79 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:341
+#: ../src/guestfs.pod:356
 msgid "There are many limitations to this:"
 msgstr ""
 
 # type: =item
 msgid "There are many limitations to this:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:345 ../src/guestfs.pod:350 ../src/guestfs.pod:355 ../src/guestfs.pod:359 ../src/guestfs.pod:364 ../src/guestfs.pod:368 ../src/guestfs.pod:373 ../src/guestfs.pod:1223 ../src/guestfs.pod:1228 ../src/guestfs.pod:1232 ../src/guestfs.pod:1334 ../src/guestfs.pod:1338 ../src/guestfs.pod:1342 ../src/guestfs.pod:1347 ../src/guestfs.pod:1355 ../src/guestfs.pod:1374 ../src/guestfs.pod:1382 ../src/guestfs.pod:1612 ../src/guestfs.pod:1618 ../src/guestfs.pod:1623 ../src/guestfs.pod:1629 ../src/guestfs.pod:1736 ../src/guestfs.pod:1740 ../src/guestfs.pod:1744 ../src/guestfs.pod:1748 ../src/guestfs-actions.pod:14 ../src/guestfs-actions.pod:21 ../src/guestfs-actions.pod:372 ../src/guestfs-actions.pod:380 ../src/guestfs-actions.pod:387 ../src/guestfs-actions.pod:394 ../src/guestfs-actions.pod:1257 ../src/guestfs-actions.pod:1261 ../src/guestfs-actions.pod:1265 ../src/guestfs-actions.pod:1269 ../src/guestfs-actions.pod:1277 ../src/guestfs-actions.pod:1281 ../src/guestfs-actions.pod:1285 ../src/guestfs-actions.pod:1295 ../src/guestfs-actions.pod:1299 ../src/guestfs-actions.pod:1303 ../src/guestfs-actions.pod:1426 ../src/guestfs-actions.pod:1430 ../src/guestfs-actions.pod:1435 ../src/guestfs-actions.pod:1440 ../src/guestfs-actions.pod:1492 ../src/guestfs-actions.pod:1496 ../src/guestfs-actions.pod:1501 ../fish/guestfish.pod:309 ../fish/guestfish.pod:313 ../fish/guestfish.pod:317 ../fish/guestfish.pod:321 ../fish/guestfish-actions.pod:13 ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:300 ../fish/guestfish-actions.pod:308 ../fish/guestfish-actions.pod:315 ../fish/guestfish-actions.pod:322 ../fish/guestfish-actions.pod:998 ../fish/guestfish-actions.pod:1002 ../fish/guestfish-actions.pod:1006 ../fish/guestfish-actions.pod:1010 ../fish/guestfish-actions.pod:1018 ../fish/guestfish-actions.pod:1022 ../fish/guestfish-actions.pod:1026 ../fish/guestfish-actions.pod:1036 ../fish/guestfish-actions.pod:1040 ../fish/guestfish-actions.pod:1044 ../fish/guestfish-actions.pod:1134 ../fish/guestfish-actions.pod:1138 ../fish/guestfish-actions.pod:1143 ../fish/guestfish-actions.pod:1148 ../fish/guestfish-actions.pod:1190 ../fish/guestfish-actions.pod:1194 ../fish/guestfish-actions.pod:1199 ../tools/virt-resize.pl:324 ../tools/virt-resize.pl:329 ../tools/virt-resize.pl:339
+#: ../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:1140 ../src/guestfs.pod:1145 ../src/guestfs.pod:1149 ../src/guestfs.pod:1365 ../src/guestfs.pod:1370 ../src/guestfs.pod:1374 ../src/guestfs.pod:1476 ../src/guestfs.pod:1480 ../src/guestfs.pod:1484 ../src/guestfs.pod:1489 ../src/guestfs.pod:1497 ../src/guestfs.pod:1516 ../src/guestfs.pod:1524 ../src/guestfs.pod:1754 ../src/guestfs.pod:1760 ../src/guestfs.pod:1765 ../src/guestfs.pod:1771 ../src/guestfs.pod:1878 ../src/guestfs.pod:1882 ../src/guestfs.pod:1886 ../src/guestfs.pod:1890 ../src/guestfs-actions.pod:14 ../src/guestfs-actions.pod:21 ../src/guestfs-actions.pod:438 ../src/guestfs-actions.pod:446 ../src/guestfs-actions.pod:453 ../src/guestfs-actions.pod:460 ../src/guestfs-actions.pod:1351 ../src/guestfs-actions.pod:1355 ../src/guestfs-actions.pod:1359 ../src/guestfs-actions.pod:1363 ../src/guestfs-actions.pod:1371 ../src/guestfs-actions.pod:1375 ../src/guestfs-actions.pod:1379 ../src/guestfs-actions.pod:1389 ../src/guestfs-actions.pod:1393 ../src/guestfs-actions.pod:1397 ../src/guestfs-actions.pod:1520 ../src/guestfs-actions.pod:1524 ../src/guestfs-actions.pod:1529 ../src/guestfs-actions.pod:1534 ../src/guestfs-actions.pod:1586 ../src/guestfs-actions.pod:1590 ../src/guestfs-actions.pod:1595 ../fish/guestfish.pod:364 ../fish/guestfish.pod:368 ../fish/guestfish.pod:372 ../fish/guestfish.pod:376 ../fish/guestfish-actions.pod:13 ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:339 ../fish/guestfish-actions.pod:347 ../fish/guestfish-actions.pod:354 ../fish/guestfish-actions.pod:361 ../fish/guestfish-actions.pod:1056 ../fish/guestfish-actions.pod:1060 ../fish/guestfish-actions.pod:1064 ../fish/guestfish-actions.pod:1068 ../fish/guestfish-actions.pod:1076 ../fish/guestfish-actions.pod:1080 ../fish/guestfish-actions.pod:1084 ../fish/guestfish-actions.pod:1094 ../fish/guestfish-actions.pod:1098 ../fish/guestfish-actions.pod:1102 ../fish/guestfish-actions.pod:1192 ../fish/guestfish-actions.pod:1196 ../fish/guestfish-actions.pod:1201 ../fish/guestfish-actions.pod:1206 ../fish/guestfish-actions.pod:1248 ../fish/guestfish-actions.pod:1252 ../fish/guestfish-actions.pod:1257 ../tools/virt-df.pl:161 ../tools/virt-df.pl:167 ../tools/virt-resize.pl:348 ../tools/virt-resize.pl:353 ../tools/virt-resize.pl:363
 msgid "*"
 msgstr ""
 
 # type: textblock
 msgid "*"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:347
+#: ../src/guestfs.pod:362
 msgid ""
 "The kernel version that the command runs under will be different from what "
 "it expects."
 msgstr ""
 
 # type: textblock
 msgid ""
 "The kernel version that the command runs under will be different from what "
 "it expects."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:352
+#: ../src/guestfs.pod:367
 msgid ""
 "If the command needs to communicate with daemons, then most likely they "
 "won't be running."
 msgstr ""
 
 # type: textblock
 msgid ""
 "If the command needs to communicate with daemons, then most likely they "
 "won't be running."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:357
+#: ../src/guestfs.pod:372
 msgid "The command will be running in limited memory."
 msgstr ""
 
 # type: textblock
 msgid "The command will be running in limited memory."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:361
+#: ../src/guestfs.pod:376
 msgid ""
 "The network may not be available unless you enable it (see "
 "L</guestfs_set_network>)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "The network may not be available unless you enable it (see "
 "L</guestfs_set_network>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:366
+#: ../src/guestfs.pod:381
 msgid "Only supports Linux guests (not Windows, BSD, etc)."
 msgstr ""
 
 # type: textblock
 msgid "Only supports Linux guests (not Windows, BSD, etc)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:370
+#: ../src/guestfs.pod:385
 msgid "Architecture limitations (eg. won't work for a PPC guest on an X86 host)."
 msgstr ""
 
 # type: textblock
 msgid "Architecture limitations (eg. won't work for a PPC guest on an X86 host)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:375
+#: ../src/guestfs.pod:390
 msgid ""
 "For SELinux guests, you may need to enable SELinux and load policy first.  "
 "See L</SELINUX> in this manpage."
 msgstr ""
 
 # type: textblock
 msgid ""
 "For SELinux guests, you may need to enable SELinux and load policy first.  "
 "See L</SELINUX> in this manpage."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:380
+#: ../src/guestfs.pod:395
 msgid ""
 "The two main API calls to run commands are L</guestfs_command> and "
 "L</guestfs_sh> (there are also variations)."
 msgstr ""
 
 # type: textblock
 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:383
+#: ../src/guestfs.pod:398
 msgid ""
 "The difference is that L</guestfs_sh> runs commands using the shell, so any "
 "shell globs, redirections, etc will work."
 msgstr ""
 
 # type: =head2
 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:386
+#: ../src/guestfs.pod:401
 msgid "CONFIGURATION FILES"
 msgstr ""
 
 # type: textblock
 msgid "CONFIGURATION FILES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:388
+#: ../src/guestfs.pod:403
 msgid ""
 "To read and write configuration files in Linux guest filesystems, we "
 "strongly recommend using Augeas.  For example, Augeas understands how to "
 msgid ""
 "To read and write configuration files in Linux guest filesystems, we "
 "strongly recommend using Augeas.  For example, Augeas understands how to "
@@ -795,7 +829,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:393
+#: ../src/guestfs.pod:408
 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 "
 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 "
@@ -803,7 +837,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:397
+#: ../src/guestfs.pod:412
 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 "
 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 "
@@ -811,29 +845,29 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:401
+#: ../src/guestfs.pod:416
 msgid "SELINUX"
 msgstr ""
 
 # type: textblock
 msgid "SELINUX"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:403
+#: ../src/guestfs.pod:418
 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
 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:409
+#: ../src/guestfs.pod:424
 msgid "1."
 msgstr ""
 
 # type: textblock
 msgid "1."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:411
+#: ../src/guestfs.pod:426
 msgid "Before launching, do:"
 msgstr ""
 
 # type: verbatim
 msgid "Before launching, do:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:413
+#: ../src/guestfs.pod:428
 #, no-wrap
 msgid ""
 " guestfs_set_selinux (g, 1);\n"
 #, no-wrap
 msgid ""
 " guestfs_set_selinux (g, 1);\n"
@@ -841,19 +875,19 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:415
+#: ../src/guestfs.pod:430
 msgid "2."
 msgstr ""
 
 # type: textblock
 msgid "2."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:417
+#: ../src/guestfs.pod:432
 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
 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:421
+#: ../src/guestfs.pod:436
 #, no-wrap
 msgid ""
 " guestfs_sh (g, \"/usr/sbin/load_policy\");\n"
 #, no-wrap
 msgid ""
 " guestfs_sh (g, \"/usr/sbin/load_policy\");\n"
@@ -861,26 +895,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:423
+#: ../src/guestfs.pod:438
 msgid ""
 "(Older versions of C<load_policy> require you to specify the name of the "
 "policy file)."
 msgstr ""
 
 # type: =item
 msgid ""
 "(Older versions of C<load_policy> require you to specify the name of the "
 "policy file)."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:426
+#: ../src/guestfs.pod:441
 msgid "3."
 msgstr ""
 
 # type: textblock
 msgid "3."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:428
+#: ../src/guestfs.pod:443
 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
 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:432
+#: ../src/guestfs.pod:447
 #, no-wrap
 msgid ""
 " guestfs_setcon (g, \"unconfined_u:unconfined_r:unconfined_t:s0\");\n"
 #, no-wrap
 msgid ""
 " guestfs_setcon (g, \"unconfined_u:unconfined_r:unconfined_t:s0\");\n"
@@ -888,24 +922,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:436
+#: ../src/guestfs.pod:451
 msgid "This will work for running commands and editing existing files."
 msgstr ""
 
 # type: textblock
 msgid "This will work for running commands and editing existing files."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:438
+#: ../src/guestfs.pod:453
 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
 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:442
+#: ../src/guestfs.pod:457
 msgid "UMASK"
 msgstr ""
 
 # type: textblock
 msgid "UMASK"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:444
+#: ../src/guestfs.pod:459
 msgid ""
 "Certain calls are affected by the current file mode creation mask (the "
 "\"umask\").  In particular ones which create files or directories, such as "
 msgid ""
 "Certain calls are affected by the current file mode creation mask (the "
 "\"umask\").  In particular ones which create files or directories, such as "
@@ -915,14 +949,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:450
+#: ../src/guestfs.pod:465
 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
 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:453
+#: ../src/guestfs.pod:468
 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 "
 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 "
@@ -930,17 +964,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:457
+#: ../src/guestfs.pod:472
 msgid "For more information about umask, see L<umask(2)>."
 msgstr ""
 
 # type: =head1
 msgid "For more information about umask, see L<umask(2)>."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:459 ../fish/guestfish.pod:559
+#: ../src/guestfs.pod:474 ../fish/guestfish.pod:630
 msgid "ENCRYPTED DISKS"
 msgstr ""
 
 # type: textblock
 msgid "ENCRYPTED DISKS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:461
+#: ../src/guestfs.pod:476
 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) "
 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) "
@@ -949,21 +983,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:467
+#: ../src/guestfs.pod:482
 msgid ""
 "Use L</guestfs_vfs_type> to identify LUKS-encrypted block devices (it "
 "returns the string C<crypto_LUKS>)."
 msgstr ""
 
 # type: textblock
 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:470
+#: ../src/guestfs.pod:485
 msgid ""
 "Then open these devices by calling L</guestfs_luks_open>.  Obviously you "
 "will require the passphrase!"
 msgstr ""
 
 # type: textblock
 msgid ""
 "Then open these devices by calling L</guestfs_luks_open>.  Obviously you "
 "will require the passphrase!"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:473
+#: ../src/guestfs.pod:488
 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 "
 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 "
@@ -972,7 +1006,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:479
+#: ../src/guestfs.pod:494
 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 "
 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 "
@@ -980,7 +1014,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:483
+#: ../src/guestfs.pod:498
 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, "
 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, "
@@ -990,12 +1024,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:490
+#: ../src/guestfs.pod:505
 msgid "INSPECTION"
 msgstr ""
 
 # type: textblock
 msgid "INSPECTION"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:492
+#: ../src/guestfs.pod:507
 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 "
 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 "
@@ -1005,14 +1039,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:498
+#: ../src/guestfs.pod:513
 msgid ""
 "Add all disks belonging to the unknown virtual machine and call "
 "L</guestfs_launch> in the usual way."
 msgstr ""
 
 # type: textblock
 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:501
+#: ../src/guestfs.pod:516
 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 "
 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 "
@@ -1025,7 +1059,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:510
+#: ../src/guestfs.pod:525
 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 "
 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 "
@@ -1034,7 +1068,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:516
+#: ../src/guestfs.pod:531
 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 "
 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 "
@@ -1045,7 +1079,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:523
+#: ../src/guestfs.pod:538
 #, no-wrap
 msgid ""
 " /boot => /dev/sda1\n"
 #, no-wrap
 msgid ""
 " /boot => /dev/sda1\n"
@@ -1055,14 +1089,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:527
+#: ../src/guestfs.pod:542
 msgid ""
 "The caller can then make calls to L</guestfs_mount_options> to mount the "
 "filesystems as suggested."
 msgstr ""
 
 # type: textblock
 msgid ""
 "The caller can then make calls to L</guestfs_mount_options> to mount the "
 "filesystems as suggested."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:530
+#: ../src/guestfs.pod:545
 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 "
 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 "
@@ -1070,7 +1104,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:534
+#: ../src/guestfs.pod:549
 msgid ""
 "Inspection currently only works for some common operating systems.  "
 "Contributors are welcome to send patches for other operating systems that we "
 msgid ""
 "Inspection currently only works for some common operating systems.  "
 "Contributors are welcome to send patches for other operating systems that we "
@@ -1078,7 +1112,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:538
+#: ../src/guestfs.pod:553
 msgid ""
 "Encrypted disks must be opened before inspection.  See L</ENCRYPTED DISKS> "
 "for more details.  The L</guestfs_inspect_os> function just ignores any "
 msgid ""
 "Encrypted disks must be opened before inspection.  See L</ENCRYPTED DISKS> "
 "for more details.  The L</guestfs_inspect_os> function just ignores any "
@@ -1086,7 +1120,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:542
+#: ../src/guestfs.pod:557
 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 "
 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 "
@@ -1096,19 +1130,19 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:549
+#: ../src/guestfs.pod:564
 msgid "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS"
 msgstr ""
 
 # type: textblock
 msgid "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:551
+#: ../src/guestfs.pod:566
 msgid ""
 "Libguestfs can mount NTFS partitions.  It does this using the "
 "L<http://www.ntfs-3g.org/> driver."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Libguestfs can mount NTFS partitions.  It does this using the "
 "L<http://www.ntfs-3g.org/> driver."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:554
+#: ../src/guestfs.pod:569
 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 "
 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 "
@@ -1118,7 +1152,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:560
+#: ../src/guestfs.pod:575
 msgid ""
 "Drive letter mappings are outside the scope of libguestfs.  You have to use "
 "libguestfs to read the appropriate Windows Registry and configuration files, "
 msgid ""
 "Drive letter mappings are outside the scope of libguestfs.  You have to use "
 "libguestfs to read the appropriate Windows Registry and configuration files, "
@@ -1127,21 +1161,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:565
+#: ../src/guestfs.pod:580
 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
 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:568
+#: ../src/guestfs.pod:583
 msgid ""
 "Where we can help is in resolving the case insensitivity of paths.  For "
 "this, call L</guestfs_case_sensitive_path>."
 msgstr ""
 
 # type: textblock
 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:571
+#: ../src/guestfs.pod:586
 msgid ""
 "Libguestfs also provides some help for decoding Windows Registry \"hive\" "
 "files, through the library C<hivex> which is part of the libguestfs project "
 msgid ""
 "Libguestfs also provides some help for decoding Windows Registry \"hive\" "
 "files, through the library C<hivex> which is part of the libguestfs project "
@@ -1152,19 +1186,19 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:579
+#: ../src/guestfs.pod:594
 msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES"
 msgstr ""
 
 # type: textblock
 msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:581
+#: ../src/guestfs.pod:596
 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
 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:584
+#: ../src/guestfs.pod:599
 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, "
 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, "
@@ -1173,14 +1207,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:590
+#: ../src/guestfs.pod:605
 msgid ""
 "Error messages are automatically transformed into exceptions if the language "
 "supports it."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Error messages are automatically transformed into exceptions if the language "
 "supports it."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:593
+#: ../src/guestfs.pod:608
 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 "
 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 "
@@ -1188,36 +1222,36 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:599
+#: ../src/guestfs.pod:614
 msgid "B<C++>"
 msgstr ""
 
 # type: textblock
 msgid "B<C++>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:601
+#: ../src/guestfs.pod:616
 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
 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:605
+#: ../src/guestfs.pod:620
 msgid "B<C#>"
 msgstr ""
 
 # type: textblock
 msgid "B<C#>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:607
+#: ../src/guestfs.pod:622
 msgid ""
 "The C# bindings are highly experimental.  Please read the warnings at the "
 "top of C<csharp/Libguestfs.cs>."
 msgstr ""
 
 # type: =item
 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:610
+#: ../src/guestfs.pod:625
 msgid "B<Haskell>"
 msgstr ""
 
 # type: textblock
 msgid "B<Haskell>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:612
+#: ../src/guestfs.pod:627
 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 "
 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 "
@@ -1225,66 +1259,66 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:616
+#: ../src/guestfs.pod:631
 msgid "B<Java>"
 msgstr ""
 
 # type: textblock
 msgid "B<Java>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:618
+#: ../src/guestfs.pod:633
 msgid ""
 "Full documentation is contained in the Javadoc which is distributed with "
 "libguestfs."
 msgstr ""
 
 # type: =item
 msgid ""
 "Full documentation is contained in the Javadoc which is distributed with "
 "libguestfs."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:621
+#: ../src/guestfs.pod:636
 msgid "B<OCaml>"
 msgstr ""
 
 # type: textblock
 msgid "B<OCaml>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:623
+#: ../src/guestfs.pod:638
 msgid "For documentation see the file C<guestfs.mli>."
 msgstr ""
 
 # type: =item
 msgid "For documentation see the file C<guestfs.mli>."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:625
+#: ../src/guestfs.pod:640
 msgid "B<Perl>"
 msgstr ""
 
 # type: textblock
 msgid "B<Perl>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:627
+#: ../src/guestfs.pod:642
 msgid "For documentation see L<Sys::Guestfs(3)>."
 msgstr ""
 
 # type: =item
 msgid "For documentation see L<Sys::Guestfs(3)>."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:629
+#: ../src/guestfs.pod:644
 msgid "B<PHP>"
 msgstr ""
 
 # type: textblock
 msgid "B<PHP>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:631
+#: ../src/guestfs.pod:646
 msgid ""
 "For documentation see C<README-PHP> supplied with libguestfs sources or in "
 "the php-libguestfs package for your distribution."
 msgstr ""
 
 # type: textblock
 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:634
+#: ../src/guestfs.pod:649
 msgid "The PHP binding only works correctly on 64 bit machines."
 msgstr ""
 
 # type: =item
 msgid "The PHP binding only works correctly on 64 bit machines."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:636
+#: ../src/guestfs.pod:651
 msgid "B<Python>"
 msgstr ""
 
 # type: textblock
 msgid "B<Python>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:638
+#: ../src/guestfs.pod:653
 msgid "For documentation do:"
 msgstr ""
 
 # type: verbatim
 msgid "For documentation do:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:640
+#: ../src/guestfs.pod:655
 #, no-wrap
 msgid ""
 " $ python\n"
 #, no-wrap
 msgid ""
 " $ python\n"
@@ -1294,34 +1328,34 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:644
+#: ../src/guestfs.pod:659
 msgid "B<Ruby>"
 msgstr ""
 
 # type: textblock
 msgid "B<Ruby>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:646
+#: ../src/guestfs.pod:661
 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
 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:649
+#: ../src/guestfs.pod:664
 msgid "B<shell scripts>"
 msgstr ""
 
 # type: textblock
 msgid "B<shell scripts>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:651
+#: ../src/guestfs.pod:666
 msgid "For documentation see L<guestfish(1)>."
 msgstr ""
 
 # type: =head2
 msgid "For documentation see L<guestfish(1)>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:655
+#: ../src/guestfs.pod:670
 msgid "LIBGUESTFS GOTCHAS"
 msgstr ""
 
 # type: textblock
 msgid "LIBGUESTFS GOTCHAS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:657
+#: ../src/guestfs.pod:672
 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 "
 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 "
@@ -1329,7 +1363,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:661
+#: ../src/guestfs.pod:676
 msgid ""
 "Since we developed libguestfs and the associated tools, there are several "
 "things we would have designed differently, but are now stuck with for "
 msgid ""
 "Since we developed libguestfs and the associated tools, there are several "
 "things we would have designed differently, but are now stuck with for "
@@ -1338,12 +1372,12 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:669
+#: ../src/guestfs.pod:684
 msgid "Autosync / forgetting to sync."
 msgstr ""
 
 # type: textblock
 msgid "Autosync / forgetting to sync."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:671
+#: ../src/guestfs.pod:686
 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 "
 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 "
@@ -1351,7 +1385,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:675
+#: ../src/guestfs.pod:690
 #, no-wrap
 msgid ""
 " guestfs_set_autosync (g, 1);\n"
 #, no-wrap
 msgid ""
 " guestfs_set_autosync (g, 1);\n"
@@ -1359,7 +1393,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:677
+#: ../src/guestfs.pod:692
 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> "
 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> "
@@ -1367,7 +1401,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:681
+#: ../src/guestfs.pod:696
 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 "
 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 "
@@ -1375,7 +1409,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:685
+#: ../src/guestfs.pod:700
 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 "
 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 "
@@ -1383,12 +1417,12 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:689
+#: ../src/guestfs.pod:704
 msgid "Mount option C<-o sync> should not be the default."
 msgstr ""
 
 # type: textblock
 msgid "Mount option C<-o sync> should not be the default."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:691
+#: ../src/guestfs.pod:706
 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 "
 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 "
@@ -1396,31 +1430,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:695
+#: ../src/guestfs.pod:710
 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
 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:698
+#: ../src/guestfs.pod:713
 msgid "Read-only should be the default."
 msgstr ""
 
 # type: textblock
 msgid "Read-only should be the default."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:700
+#: ../src/guestfs.pod:715
 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
 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:703
+#: ../src/guestfs.pod:718
 msgid "This would reduce the potential to corrupt live VM images."
 msgstr ""
 
 # type: textblock
 msgid "This would reduce the potential to corrupt live VM images."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:705
+#: ../src/guestfs.pod:720
 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 "
 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 "
@@ -1428,12 +1462,12 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:709
+#: ../src/guestfs.pod:724
 msgid "guestfish command line is hard to use."
 msgstr ""
 
 # type: textblock
 msgid "guestfish command line is hard to use."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:711
+#: ../src/guestfs.pod:726
 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 "
 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 "
@@ -1443,12 +1477,12 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:718
+#: ../src/guestfs.pod:733
 msgid "guestfish megabyte modifiers don't work right on all commands"
 msgstr ""
 
 # type: textblock
 msgid "guestfish megabyte modifiers don't work right on all commands"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:720
+#: ../src/guestfs.pod:735
 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 "
 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 "
@@ -1458,12 +1492,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:727
+#: ../src/guestfs.pod:742
 msgid "The most common is L</guestfs_lvcreate>.  The guestfish command:"
 msgstr ""
 
 # type: verbatim
 msgid "The most common is L</guestfs_lvcreate>.  The guestfish command:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:729
+#: ../src/guestfs.pod:744
 #, no-wrap
 msgid ""
 " lvcreate LV VG 100M\n"
 #, no-wrap
 msgid ""
 " lvcreate LV VG 100M\n"
@@ -1471,7 +1505,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:731
+#: ../src/guestfs.pod:746
 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 "
 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 "
@@ -1480,19 +1514,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:736
+#: ../src/guestfs.pod:751
 msgid ""
 "This could be fixed in the generator by specially marking parameters and "
 "return values which take bytes or other units."
 msgstr ""
 
 # type: =item
 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:739
+#: ../src/guestfs.pod:754
 msgid "Library should return errno with error messages."
 msgstr ""
 
 # type: textblock
 msgid "Library should return errno with error messages."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:741
+#: ../src/guestfs.pod:756
 msgid ""
 "It would be a nice-to-have to be able to get the original value of 'errno' "
 "from inside the appliance along error paths (where set).  Currently "
 msgid ""
 "It would be a nice-to-have to be able to get the original value of 'errno' "
 "from inside the appliance along error paths (where set).  Currently "
@@ -1501,19 +1535,82 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:747
+#: ../src/guestfs.pod:762
 msgid ""
 "In libguestfs 1.5.4, the protocol was changed so that the Linux errno is "
 "sent back from the daemon."
 msgstr ""
 
 msgid ""
 "In libguestfs 1.5.4, the protocol was changed so that the Linux errno is "
 "sent back from the daemon."
 msgstr ""
 
+# type: =item
+#: ../src/guestfs.pod:765
+msgid "Ambiguity between devices and paths"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:767
+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 C<sdb2> in the directory C</dev> (consider some non-Unix VM image)."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:772
+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>.  "
+"Some API calls are ambiguous and (incorrectly) resolve the problem by "
+"detecting if the path supplied begins with C</dev/>."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:778
+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 "
+"use a notation like grub (C<hd(0,0)>), although nobody really likes this "
+"aspect of grub.  Another way would be to use a structured type, equivalent "
+"to this OCaml type:"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs.pod:784
+#, no-wrap
+msgid ""
+" type path = Path of string | Device of int | Partition of int * int\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:786
+msgid "which would allow you to pass arguments like:"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs.pod:788
+#, no-wrap
+msgid ""
+" Path \"/foo/bar\"\n"
+" Device 1            (* /dev/sdb, or perhaps /dev/sda *)\n"
+" Partition (1, 2)    (* /dev/sdb2 (or is it /dev/sda2 or /dev/sdb3?) *)\n"
+" Path \"/dev/sdb2\"    (* not a device *)\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:793
+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
 # type: =head2
-#: ../src/guestfs.pod:752
+#: ../src/guestfs.pod:798
 msgid "PROTOCOL LIMITS"
 msgstr ""
 
 # type: textblock
 msgid "PROTOCOL LIMITS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:754
+#: ../src/guestfs.pod:800
 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 "
 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 "
@@ -1524,7 +1621,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:762
+#: ../src/guestfs.pod:808
 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 "
 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 "
@@ -1533,7 +1630,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:768
+#: ../src/guestfs.pod:814
 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> "
 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> "
@@ -1541,26 +1638,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:772
+#: ../src/guestfs.pod:818
 msgid ""
 "You might also consider mounting the disk image using our FUSE filesystem "
 "support (L<guestmount(1)>)."
 msgstr ""
 
 # type: =head2
 msgid ""
 "You might also consider mounting the disk image using our FUSE filesystem "
 "support (L<guestmount(1)>)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:775
+#: ../src/guestfs.pod:821
 msgid "KEYS AND PASSPHRASES"
 msgstr ""
 
 # type: textblock
 msgid "KEYS AND PASSPHRASES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:777
+#: ../src/guestfs.pod:823
 msgid ""
 "Certain libguestfs calls take a parameter that contains sensitive key "
 "material, passed in as a C string."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Certain libguestfs calls take a parameter that contains sensitive key "
 "material, passed in as a C string."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:780
+#: ../src/guestfs.pod:826
 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 "
 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 "
@@ -1569,7 +1666,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:785
+#: ../src/guestfs.pod:831
 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, "
 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, "
@@ -1577,17 +1674,17 @@ msgid ""
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:790
+#: ../src/guestfs.pod:836
 msgid "CONNECTION MANAGEMENT"
 msgstr ""
 
 # type: =head2
 msgid "CONNECTION MANAGEMENT"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:792
+#: ../src/guestfs.pod:838
 msgid "guestfs_h *"
 msgstr ""
 
 # type: textblock
 msgid "guestfs_h *"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:794
+#: ../src/guestfs.pod:840
 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 "
 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 "
@@ -1595,19 +1692,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:798
+#: ../src/guestfs.pod:844
 msgid ""
 "For information on using multiple handles and threads, see the section "
 "L</MULTIPLE HANDLES AND MULTIPLE THREADS> below."
 msgstr ""
 
 # type: =head2
 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:801
+#: ../src/guestfs.pod:847
 msgid "guestfs_create"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_create"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:803
+#: ../src/guestfs.pod:849
 #, no-wrap
 msgid ""
 " guestfs_h *guestfs_create (void);\n"
 #, no-wrap
 msgid ""
 " guestfs_h *guestfs_create (void);\n"
@@ -1615,41 +1712,43 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:805
+#: ../src/guestfs.pod:851
 msgid "Create a connection handle."
 msgstr ""
 
 # type: textblock
 msgid "Create a connection handle."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:807
-msgid "You have to call L</guestfs_add_drive> on the handle at least once."
+#: ../src/guestfs.pod:853
+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
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:809
+#: ../src/guestfs.pod:856
 msgid ""
 "This function returns a non-NULL pointer to a handle on success or NULL on "
 "error."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This function returns a non-NULL pointer to a handle on success or NULL on "
 "error."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:812
+#: ../src/guestfs.pod:859
 msgid "After configuring the handle, you have to call L</guestfs_launch>."
 msgstr ""
 
 # type: textblock
 msgid "After configuring the handle, you have to call L</guestfs_launch>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:814
+#: ../src/guestfs.pod:861
 msgid ""
 "You may also want to configure error handling for the handle.  See L</ERROR "
 "HANDLING> section below."
 msgstr ""
 
 # type: =head2
 msgid ""
 "You may also want to configure error handling for the handle.  See L</ERROR "
 "HANDLING> section below."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:817
+#: ../src/guestfs.pod:864
 msgid "guestfs_close"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_close"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:819
+#: ../src/guestfs.pod:866
 #, no-wrap
 msgid ""
 " void guestfs_close (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " void guestfs_close (guestfs_h *g);\n"
@@ -1657,17 +1756,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:821
+#: ../src/guestfs.pod:868
 msgid "This closes the connection handle and frees up all resources used."
 msgstr ""
 
 # type: =head1
 msgid "This closes the connection handle and frees up all resources used."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:823
+#: ../src/guestfs.pod:870
 msgid "ERROR HANDLING"
 msgstr ""
 
 # type: textblock
 msgid "ERROR HANDLING"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:825
+#: ../src/guestfs.pod:872
 msgid ""
 "The convention in all functions that return C<int> is that they return C<-1> "
 "to indicate an error.  You can get additional information on errors by "
 msgid ""
 "The convention in all functions that return C<int> is that they return C<-1> "
 "to indicate an error.  You can get additional information on errors by "
@@ -1676,12 +1775,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:830
+#: ../src/guestfs.pod:877
 msgid "The default error handler prints the information string to C<stderr>."
 msgstr ""
 
 # type: textblock
 msgid "The default error handler prints the information string to C<stderr>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:832
+#: ../src/guestfs.pod:879
 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 "
 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 "
@@ -1689,12 +1788,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:836
+#: ../src/guestfs.pod:883
 msgid "guestfs_last_error"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_last_error"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:838
+#: ../src/guestfs.pod:885
 #, no-wrap
 msgid ""
 " const char *guestfs_last_error (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " const char *guestfs_last_error (guestfs_h *g);\n"
@@ -1702,21 +1801,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:840
+#: ../src/guestfs.pod:887
 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
 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:844
+#: ../src/guestfs.pod:891
 msgid ""
 "The lifetime of the returned string is until the next error occurs, or "
 "L</guestfs_close> is called."
 msgstr ""
 
 # type: textblock
 msgid ""
 "The lifetime of the returned string is until the next error occurs, or "
 "L</guestfs_close> is called."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:847
+#: ../src/guestfs.pod:894
 msgid ""
 "The error string is not localized (ie. is always in English), because this "
 "makes searching for error messages in search engines give the largest number "
 msgid ""
 "The error string is not localized (ie. is always in English), because this "
 "makes searching for error messages in search engines give the largest number "
@@ -1724,12 +1823,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:851
+#: ../src/guestfs.pod:898
 msgid "guestfs_set_error_handler"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_error_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:853
+#: ../src/guestfs.pod:900
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n"
@@ -1742,7 +1841,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:860
+#: ../src/guestfs.pod:907
 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 "
 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 "
@@ -1750,7 +1849,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:864
+#: ../src/guestfs.pod:911
 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 "
 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 "
@@ -1758,22 +1857,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:868
+#: ../src/guestfs.pod:915
 msgid "The default handler prints messages on C<stderr>."
 msgstr ""
 
 # type: textblock
 msgid "The default handler prints messages on C<stderr>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:870
+#: ../src/guestfs.pod:917
 msgid "If you set C<cb> to C<NULL> then I<no> handler is called."
 msgstr ""
 
 # type: =head2
 msgid "If you set C<cb> to C<NULL> then I<no> handler is called."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:872
+#: ../src/guestfs.pod:919
 msgid "guestfs_get_error_handler"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_get_error_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:874
+#: ../src/guestfs.pod:921
 #, no-wrap
 msgid ""
 " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n"
@@ -1782,17 +1881,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:877
+#: ../src/guestfs.pod:924
 msgid "Returns the current error handler callback."
 msgstr ""
 
 # type: =head2
 msgid "Returns the current error handler callback."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:879
+#: ../src/guestfs.pod:926
 msgid "guestfs_set_out_of_memory_handler"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_out_of_memory_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:881
+#: ../src/guestfs.pod:928
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_abort_cb) (void);\n"
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_abort_cb) (void);\n"
@@ -1802,29 +1901,29 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:885
+#: ../src/guestfs.pod:932
 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
 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:888
+#: ../src/guestfs.pod:935
 msgid "The default is to call L<abort(3)>."
 msgstr ""
 
 # type: textblock
 msgid "The default is to call L<abort(3)>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:890
+#: ../src/guestfs.pod:937
 msgid "You cannot set C<cb> to C<NULL>.  You can't ignore out of memory situations."
 msgstr ""
 
 # type: =head2
 msgid "You cannot set C<cb> to C<NULL>.  You can't ignore out of memory situations."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:893
+#: ../src/guestfs.pod:940
 msgid "guestfs_get_out_of_memory_handler"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_get_out_of_memory_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:895
+#: ../src/guestfs.pod:942
 #, no-wrap
 msgid ""
 " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n"
@@ -1832,31 +1931,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:897
+#: ../src/guestfs.pod:944
 msgid "This returns the current out of memory handler."
 msgstr ""
 
 # type: =head1
 msgid "This returns the current out of memory handler."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:899
+#: ../src/guestfs.pod:946
 msgid "PATH"
 msgstr ""
 
 # type: textblock
 msgid "PATH"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:901
+#: ../src/guestfs.pod:948
 msgid ""
 "Libguestfs needs a kernel and initrd.img, which it finds by looking along an "
 "internal path."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Libguestfs needs a kernel and initrd.img, which it finds by looking along an "
 "internal path."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:904
+#: ../src/guestfs.pod:951
 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
 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:907
+#: ../src/guestfs.pod:954
 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 "
 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 "
@@ -1867,17 +1966,17 @@ msgid ""
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:914
+#: ../src/guestfs.pod:961
 msgid "HIGH-LEVEL API ACTIONS"
 msgstr ""
 
 # type: =head2
 msgid "HIGH-LEVEL API ACTIONS"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:916
+#: ../src/guestfs.pod:963
 msgid "ABI GUARANTEE"
 msgstr ""
 
 # type: textblock
 msgid "ABI GUARANTEE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:918
+#: ../src/guestfs.pod:965
 msgid ""
 "We guarantee the libguestfs ABI (binary interface), for public, high-level "
 "actions as outlined in this section.  Although we will deprecate some "
 msgid ""
 "We guarantee the libguestfs ABI (binary interface), for public, high-level "
 "actions as outlined in this section.  Although we will deprecate some "
@@ -1887,32 +1986,32 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:924 ../fish/guestfish.pod:926
+#: ../src/guestfs.pod:971 ../fish/guestfish.pod:860
 msgid "@ACTIONS@"
 msgstr ""
 
 # type: =head1
 msgid "@ACTIONS@"
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:926
+#: ../src/guestfs.pod:973
 msgid "STRUCTURES"
 msgstr ""
 
 # type: textblock
 msgid "STRUCTURES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:928
+#: ../src/guestfs.pod:975
 msgid "@STRUCTS@"
 msgstr ""
 
 # type: =head1
 msgid "@STRUCTS@"
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:930
+#: ../src/guestfs.pod:977
 msgid "AVAILABILITY"
 msgstr ""
 
 # type: =head2
 msgid "AVAILABILITY"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:932
+#: ../src/guestfs.pod:979
 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE"
 msgstr ""
 
 # type: textblock
 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:934
+#: ../src/guestfs.pod:981
 msgid ""
 "Using L</guestfs_available> you can test availability of the following "
 "groups of functions.  This test queries the appliance to see if the "
 msgid ""
 "Using L</guestfs_available> you can test availability of the following "
 "groups of functions.  This test queries the appliance to see if the "
@@ -1920,17 +2019,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:939
+#: ../src/guestfs.pod:986
 msgid "@AVAILABILITY@"
 msgstr ""
 
 # type: =head2
 msgid "@AVAILABILITY@"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:941
+#: ../src/guestfs.pod:988
 msgid "GUESTFISH supported COMMAND"
 msgstr ""
 
 # type: textblock
 msgid "GUESTFISH supported COMMAND"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:943
+#: ../src/guestfs.pod:990
 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 "
 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 "
@@ -1938,19 +2037,19 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:948
+#: ../src/guestfs.pod:995
 msgid "SINGLE CALLS AT COMPILE TIME"
 msgstr ""
 
 # type: textblock
 msgid "SINGLE CALLS AT COMPILE TIME"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:950
+#: ../src/guestfs.pod:997
 msgid ""
 "Since version 1.5.8, C<E<lt>guestfs.hE<gt>> defines symbols for each C API "
 "function, such as:"
 msgstr ""
 
 # type: verbatim
 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:953
+#: ../src/guestfs.pod:1000
 #, no-wrap
 msgid ""
 " #define LIBGUESTFS_HAVE_DD 1\n"
 #, no-wrap
 msgid ""
 " #define LIBGUESTFS_HAVE_DD 1\n"
@@ -1958,12 +2057,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:955
+#: ../src/guestfs.pod:1002
 msgid "if L</guestfs_dd> is available."
 msgstr ""
 
 # type: textblock
 msgid "if L</guestfs_dd> is available."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:957
+#: ../src/guestfs.pod:1004
 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 "
 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 "
@@ -1971,7 +2070,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:962
+#: ../src/guestfs.pod:1009
 #, no-wrap
 msgid ""
 " AC_CHECK_LIB([guestfs],[guestfs_create])\n"
 #, no-wrap
 msgid ""
 " AC_CHECK_LIB([guestfs],[guestfs_create])\n"
@@ -1980,19 +2079,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:965
+#: ../src/guestfs.pod:1012
 msgid ""
 "which would result in C<HAVE_GUESTFS_DD> being either defined or not defined "
 "in your program."
 msgstr ""
 
 # type: =head2
 msgid ""
 "which would result in C<HAVE_GUESTFS_DD> being either defined or not defined "
 "in your program."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:968
+#: ../src/guestfs.pod:1015
 msgid "SINGLE CALLS AT RUN TIME"
 msgstr ""
 
 # type: textblock
 msgid "SINGLE CALLS AT RUN TIME"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:970
+#: ../src/guestfs.pod:1017
 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 "
 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 "
@@ -2002,7 +2101,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:977
+#: ../src/guestfs.pod:1024
 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 "
 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 "
@@ -2010,7 +2109,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:981
+#: ../src/guestfs.pod:1028
 #, no-wrap
 msgid ""
 " #include <stdio.h>\n"
 #, no-wrap
 msgid ""
 " #include <stdio.h>\n"
@@ -2022,7 +2121,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:987
+#: ../src/guestfs.pod:1034
 #, no-wrap
 msgid ""
 " main ()\n"
 #, no-wrap
 msgid ""
 " main ()\n"
@@ -2034,7 +2133,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:993
+#: ../src/guestfs.pod:1040
 #, no-wrap
 msgid ""
 "   /* Test if the function guestfs_dd is really available. */\n"
 #, no-wrap
 msgid ""
 "   /* Test if the function guestfs_dd is really available. */\n"
@@ -2049,7 +2148,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1002
+#: ../src/guestfs.pod:1049
 #, no-wrap
 msgid ""
 "   if (!has_function)\n"
 #, no-wrap
 msgid ""
 "   if (!has_function)\n"
@@ -2068,7 +2167,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1015
+#: ../src/guestfs.pod:1062
 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 "
 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 "
@@ -2076,73 +2175,265 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1020
+#: ../src/guestfs.pod:1067
 #, no-wrap
 msgid ""
 " Requires: libguestfs >= 1.0.80\n"
 "\n"
 msgstr ""
 
 #, no-wrap
 msgid ""
 " Requires: libguestfs >= 1.0.80\n"
 "\n"
 msgstr ""
 
-# type: =end
-#: ../src/guestfs.pod:1022 ../src/guestfs.pod:1027
-msgid "html"
+# type: =head1
+#: ../src/guestfs.pod:1069
+msgid "CALLS WITH OPTIONAL ARGUMENTS"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1024
+#: ../src/guestfs.pod:1071
 msgid ""
 msgid ""
-"<!-- old anchor for the next section --> <a "
-"name=\"state_machine_and_low_level_event_api\"/>"
+"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 "
+"takes variable arguments (ie. C<...>), as in this example:"
 msgstr ""
 
 msgstr ""
 
-# type: =head1
-#: ../src/guestfs.pod:1029
-msgid "ARCHITECTURE"
+# type: verbatim
+#: ../src/guestfs.pod:1076
+#, no-wrap
+msgid ""
+" int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1031
+#: ../src/guestfs.pod:1078
 msgid ""
 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."
+"Call this with a list of optional arguments, terminated by C<-1>.  So to "
+"call with no optional arguments specified:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1035
+#: ../src/guestfs.pod:1081
 #, no-wrap
 msgid ""
 #, 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"
+" guestfs_add_drive_opts (g, filename, -1);\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1055
+#: ../src/guestfs.pod:1083
+msgid "With a single optional argument:"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs.pod:1085
+#, no-wrap
+msgid ""
+" guestfs_add_drive_opts (g, filename,\n"
+"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"qcow2\",\n"
+"                         -1);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1089
+msgid "With two:"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs.pod:1091
+#, no-wrap
+msgid ""
+" guestfs_add_drive_opts (g, filename,\n"
+"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"qcow2\",\n"
+"                         GUESTFS_ADD_DRIVE_OPTS_READONLY, 1,\n"
+"                         -1);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1096
+msgid ""
+"and so forth.  Don't forget the terminating C<-1> otherwise Bad Things will "
+"happen!"
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1099
+msgid "USING va_list FOR OPTIONAL ARGUMENTS"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1101
+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 "
+"example function, this is declared:"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs.pod:1105
+#, no-wrap
+msgid ""
+" int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n"
+"                                va_list args);\n"
+"\n"
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1108
+msgid "CONSTRUCTING OPTIONAL ARGUMENTS"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1110
+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 "
+"has a bitmask as the first element which you must set to indicate which "
+"fields you have filled in.  For our example function the structure and call "
+"are declared:"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs.pod:1116
+#, no-wrap
+msgid ""
+" struct guestfs_add_drive_opts_argv {\n"
+"   uint64_t bitmask;\n"
+"   int readonly;\n"
+"   const char *format;\n"
+"   /* ... */\n"
+" };\n"
+" int guestfs_add_drive_opts_argv (guestfs_h *g, const char *filename,\n"
+"              const struct guestfs_add_drive_opts_argv *optargs);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1125
+msgid "You could call it like this:"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs.pod:1127
+#, no-wrap
+msgid ""
+" struct guestfs_add_drive_opts_argv optargs = {\n"
+"   .bitmask = GUESTFS_ADD_DRIVE_OPTS_READONLY_BITMASK |\n"
+"              GUESTFS_ADD_DRIVE_OPTS_FORMAT_BITMASK,\n"
+"   .readonly = 1,\n"
+"   .format = \"qcow2\"\n"
+" };\n"
+" \n"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs.pod:1134
+#, no-wrap
+msgid ""
+" guestfs_add_drive_opts_argv (g, filename, &optargs);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1136 ../src/guestfs-actions.pod:10 ../src/guestfs-actions.pod:1582 ../fish/guestfish-actions.pod:9 ../fish/guestfish-actions.pod:1244
+msgid "Notes:"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1142
+msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1147
+msgid "You do not need to fill in all fields of the structure."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1151
+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:1156
+msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1158
+msgid ""
+"In other languages, optional arguments are expressed in the way that is "
+"natural for that language.  We refer you to the language-specific "
+"documentation for more details on that."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1162
+msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>."
+msgstr ""
+
+# type: =end
+#: ../src/guestfs.pod:1164 ../src/guestfs.pod:1169
+msgid "html"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1166
+msgid ""
+"<!-- old anchor for the next section --> <a "
+"name=\"state_machine_and_low_level_event_api\"/>"
+msgstr ""
+
+# type: =head1
+#: ../src/guestfs.pod:1171
+msgid "ARCHITECTURE"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1173
+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:1177
+#, 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:1197
 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
 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:1058
+#: ../src/guestfs.pod:1200
 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 "
 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 "
@@ -2154,7 +2445,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1067
+#: ../src/guestfs.pod:1209
 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 "
 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 "
@@ -2165,17 +2456,17 @@ msgid ""
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1074
+#: ../src/guestfs.pod:1216
 msgid "STATE MACHINE"
 msgstr ""
 
 # type: textblock
 msgid "STATE MACHINE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1076
+#: ../src/guestfs.pod:1218
 msgid "libguestfs uses a state machine to model the child process:"
 msgstr ""
 
 # type: verbatim
 msgid "libguestfs uses a state machine to model the child process:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1078
+#: ../src/guestfs.pod:1220
 #, no-wrap
 msgid ""
 "                         |\n"
 #, no-wrap
 msgid ""
 "                         |\n"
@@ -2203,7 +2494,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1100
+#: ../src/guestfs.pod:1242
 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), "
 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), "
@@ -2212,7 +2503,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1105
+#: ../src/guestfs.pod:1247
 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 "
 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 "
@@ -2220,14 +2511,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1109
+#: ../src/guestfs.pod:1251
 msgid ""
 "Configuration commands for qemu such as L</guestfs_add_drive> can only be "
 "issued when in the CONFIG state."
 msgstr ""
 
 # type: textblock
 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:1112
+#: ../src/guestfs.pod:1254
 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 "
 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 "
@@ -2236,7 +2527,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1118
+#: ../src/guestfs.pod:1260
 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 "
 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 "
@@ -2246,7 +2537,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1124
+#: ../src/guestfs.pod:1266
 msgid ""
 "Finally, the child process sends asynchronous messages back to the main "
 "program, such as kernel log messages.  You can register a callback to "
 msgid ""
 "Finally, the child process sends asynchronous messages back to the main "
 "program, such as kernel log messages.  You can register a callback to "
@@ -2254,26 +2545,26 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1128
+#: ../src/guestfs.pod:1270
 msgid "SETTING CALLBACKS TO HANDLE EVENTS"
 msgstr ""
 
 # type: textblock
 msgid "SETTING CALLBACKS TO HANDLE EVENTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1130
+#: ../src/guestfs.pod:1272
 msgid ""
 "The child process generates events in some situations.  Current events "
 "include: receiving a log message, the child process exits."
 msgstr ""
 
 # type: textblock
 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:1133
+#: ../src/guestfs.pod:1275
 msgid ""
 "Use the C<guestfs_set_*_callback> functions to set a callback for different "
 "types of events."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Use the C<guestfs_set_*_callback> functions to set a callback for different "
 "types of events."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1136
+#: ../src/guestfs.pod:1278
 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 "
 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 "
@@ -2282,12 +2573,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1141
+#: ../src/guestfs.pod:1283
 msgid "guestfs_set_log_message_callback"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_log_message_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1143
+#: ../src/guestfs.pod:1285
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_log_message_cb) (guestfs_h *g, void *opaque,\n"
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_log_message_cb) (guestfs_h *g, void *opaque,\n"
@@ -2299,31 +2590,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1149
+#: ../src/guestfs.pod:1291
 msgid ""
 "The callback function C<cb> will be called whenever qemu or the guest writes "
 "anything to the console."
 msgstr ""
 
 # type: textblock
 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:1152
+#: ../src/guestfs.pod:1294
 msgid "Use this function to capture kernel messages and similar."
 msgstr ""
 
 # type: textblock
 msgid "Use this function to capture kernel messages and similar."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1154
+#: ../src/guestfs.pod:1296
 msgid ""
 "Normally there is no log message handler, and log messages are just "
 "discarded."
 msgstr ""
 
 # type: =head2
 msgid ""
 "Normally there is no log message handler, and log messages are just "
 "discarded."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1157
+#: ../src/guestfs.pod:1299
 msgid "guestfs_set_subprocess_quit_callback"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_subprocess_quit_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1159
+#: ../src/guestfs.pod:1301
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_subprocess_quit_cb) (guestfs_h *g, void *opaque);\n"
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_subprocess_quit_cb) (guestfs_h *g, void *opaque);\n"
@@ -2334,7 +2625,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1164
+#: ../src/guestfs.pod:1306
 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 "
 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 "
@@ -2342,12 +2633,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1169
+#: ../src/guestfs.pod:1311
 msgid "guestfs_set_launch_done_callback"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_launch_done_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1171
+#: ../src/guestfs.pod:1313
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_launch_done_cb) (guestfs_h *g, void *opaque);\n"
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_launch_done_cb) (guestfs_h *g, void *opaque);\n"
@@ -2358,7 +2649,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1176
+#: ../src/guestfs.pod:1318
 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 "
 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 "
@@ -2366,12 +2657,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1180
+#: ../src/guestfs.pod:1322
 msgid "guestfs_set_close_callback"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_close_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1182
+#: ../src/guestfs.pod:1324
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_close_cb) (guestfs_h *g, void *opaque);\n"
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_close_cb) (guestfs_h *g, void *opaque);\n"
@@ -2382,14 +2673,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1187
+#: ../src/guestfs.pod:1329
 msgid ""
 "The callback function C<cb> will be called while the handle is being closed "
 "(synchronously from L</guestfs_close>)."
 msgstr ""
 
 # type: textblock
 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:1190
+#: ../src/guestfs.pod:1332
 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 "
 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 "
@@ -2400,12 +2691,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1198
+#: ../src/guestfs.pod:1340
 msgid "guestfs_set_progress_callback"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_progress_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1200
+#: ../src/guestfs.pod:1342
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_progress_cb) (guestfs_h *g, void *opaque,\n"
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_progress_cb) (guestfs_h *g, void *opaque,\n"
@@ -2418,7 +2709,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1207
+#: ../src/guestfs.pod:1349
 msgid ""
 "Some long-running operations can generate progress messages.  If this "
 "callback is registered, then it will be called each time a progress message "
 msgid ""
 "Some long-running operations can generate progress messages.  If this "
 "callback is registered, then it will be called each time a progress message "
@@ -2428,7 +2719,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1213
+#: ../src/guestfs.pod:1355
 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 "
 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 "
@@ -2437,31 +2728,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1219
+#: ../src/guestfs.pod:1361
 msgid "The only defined and stable parts of the API are:"
 msgstr ""
 
 # type: textblock
 msgid "The only defined and stable parts of the API are:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1225
+#: ../src/guestfs.pod:1367
 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
 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:1230
+#: ../src/guestfs.pod:1372
 msgid "0 E<lt>= C<position> E<lt>= C<total>"
 msgstr ""
 
 # type: textblock
 msgid "0 E<lt>= C<position> E<lt>= C<total>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1234
+#: ../src/guestfs.pod:1376
 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
 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:1237
+#: ../src/guestfs.pod:1379
 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 "
 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 "
@@ -2469,7 +2760,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1243
+#: ../src/guestfs.pod:1385
 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 "
 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 "
@@ -2478,12 +2769,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1248
+#: ../src/guestfs.pod:1390
 msgid "PRIVATE DATA AREA"
 msgstr ""
 
 # type: textblock
 msgid "PRIVATE DATA AREA"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1250
+#: ../src/guestfs.pod:1392
 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 "
 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 "
@@ -2491,12 +2782,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1254
+#: ../src/guestfs.pod:1396
 msgid "To attach a named piece of data, use the following call:"
 msgstr ""
 
 # type: verbatim
 msgid "To attach a named piece of data, use the following call:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1256
+#: ../src/guestfs.pod:1398
 #, no-wrap
 msgid ""
 " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n"
 #, no-wrap
 msgid ""
 " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n"
@@ -2504,7 +2795,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1258
+#: ../src/guestfs.pod:1400
 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 "
 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 "
@@ -2512,7 +2803,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1262
+#: ../src/guestfs.pod:1404
 msgid ""
 "You can use any C<key> you want, but names beginning with an underscore "
 "character are reserved for internal libguestfs purposes (for implementing "
 msgid ""
 "You can use any C<key> you want, but names beginning with an underscore "
 "character are reserved for internal libguestfs purposes (for implementing "
@@ -2521,12 +2812,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1267
+#: ../src/guestfs.pod:1409
 msgid "To retrieve the pointer, use:"
 msgstr ""
 
 # type: verbatim
 msgid "To retrieve the pointer, use:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1269
+#: ../src/guestfs.pod:1411
 #, no-wrap
 msgid ""
 " void *guestfs_get_private (guestfs_h *g, const char *key);\n"
 #, no-wrap
 msgid ""
 " void *guestfs_get_private (guestfs_h *g, const char *key);\n"
@@ -2534,7 +2825,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1271
+#: ../src/guestfs.pod:1413
 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 "
 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 "
@@ -2542,7 +2833,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1275
+#: ../src/guestfs.pod:1417
 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 "
 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 "
@@ -2554,19 +2845,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1283
+#: ../src/guestfs.pod:1425
 msgid ""
 "The private data area is implemented using a hash table, and should be "
 "reasonably efficient for moderate numbers of keys."
 msgstr ""
 
 # type: =head1
 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:1286
+#: ../src/guestfs.pod:1428
 msgid "BLOCK DEVICE NAMING"
 msgstr ""
 
 # type: textblock
 msgid "BLOCK DEVICE NAMING"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1288
+#: ../src/guestfs.pod:1430
 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 "
 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 "
@@ -2581,7 +2872,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1300
+#: ../src/guestfs.pod:1442
 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 "
 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 "
@@ -2589,7 +2880,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1304
+#: ../src/guestfs.pod:1446
 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 "
 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 "
@@ -2597,7 +2888,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1309
+#: ../src/guestfs.pod:1451
 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 "
 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 "
@@ -2606,7 +2897,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1315
+#: ../src/guestfs.pod:1457
 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 "
 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 "
@@ -2614,12 +2905,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1320
+#: ../src/guestfs.pod:1462
 msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION"
 msgstr ""
 
 # type: textblock
 msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1322
+#: ../src/guestfs.pod:1464
 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 "
 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 "
@@ -2629,7 +2920,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1328
+#: ../src/guestfs.pod:1470
 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 "
 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 "
@@ -2637,54 +2928,54 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1336
+#: ../src/guestfs.pod:1478
 msgid "Is the string a parameter which is a device or partition name?"
 msgstr ""
 
 # type: textblock
 msgid "Is the string a parameter which is a device or partition name?"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1340
+#: ../src/guestfs.pod:1482
 msgid "Does the string begin with C</dev/sd>?"
 msgstr ""
 
 # type: textblock
 msgid "Does the string begin with C</dev/sd>?"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1344
+#: ../src/guestfs.pod:1486
 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
 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:1349
+#: ../src/guestfs.pod:1491
 msgid "Replace initial C</dev/sd> string with C</dev/hd>."
 msgstr ""
 
 # type: textblock
 msgid "Replace initial C</dev/sd> string with C</dev/hd>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1351
+#: ../src/guestfs.pod:1493
 msgid "For example, change C</dev/sda2> to C</dev/hda2>."
 msgstr ""
 
 # type: textblock
 msgid "For example, change C</dev/sda2> to C</dev/hda2>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1353
+#: ../src/guestfs.pod:1495
 msgid "If that named device exists, use it.  If not, continue."
 msgstr ""
 
 # type: textblock
 msgid "If that named device exists, use it.  If not, continue."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1357
+#: ../src/guestfs.pod:1499
 msgid "Replace initial C</dev/sd> string with C</dev/vd>."
 msgstr ""
 
 # type: textblock
 msgid "Replace initial C</dev/sd> string with C</dev/vd>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1359
+#: ../src/guestfs.pod:1501
 msgid "If that named device exists, use it.  If not, return an error."
 msgstr ""
 
 # type: =head2
 msgid "If that named device exists, use it.  If not, return an error."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1363
+#: ../src/guestfs.pod:1505
 msgid "PORTABILITY CONCERNS"
 msgstr ""
 
 # type: textblock
 msgid "PORTABILITY CONCERNS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1365
+#: ../src/guestfs.pod:1507
 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 "
 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 "
@@ -2692,50 +2983,50 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1369
+#: ../src/guestfs.pod:1511
 msgid ""
 "Where possible for maximum future portability programs using libguestfs "
 "should use these future-proof techniques:"
 msgstr ""
 
 # type: textblock
 msgid ""
 "Where possible for maximum future portability programs using libguestfs "
 "should use these future-proof techniques:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1376
+#: ../src/guestfs.pod:1518
 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
 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:1379
+#: ../src/guestfs.pod:1521
 msgid "Since those device names exist by definition, they will never be translated."
 msgstr ""
 
 # type: textblock
 msgid "Since those device names exist by definition, they will never be translated."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1384
+#: ../src/guestfs.pod:1526
 msgid ""
 "Use higher level ways to identify filesystems, such as LVM names, UUIDs and "
 "filesystem labels."
 msgstr ""
 
 # type: =head1
 msgid ""
 "Use higher level ways to identify filesystems, such as LVM names, UUIDs and "
 "filesystem labels."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1389
+#: ../src/guestfs.pod:1531
 msgid "INTERNALS"
 msgstr ""
 
 # type: =head2
 msgid "INTERNALS"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1391
+#: ../src/guestfs.pod:1533
 msgid "COMMUNICATION PROTOCOL"
 msgstr ""
 
 # type: textblock
 msgid "COMMUNICATION PROTOCOL"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1393
+#: ../src/guestfs.pod:1535
 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
 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:1396
+#: ../src/guestfs.pod:1538
 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 "
 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 "
@@ -2743,14 +3034,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1400
+#: ../src/guestfs.pod:1542
 msgid ""
 "The detailed format of structures is in C<src/guestfs_protocol.x> (note: "
 "this file is automatically generated)."
 msgstr ""
 
 # type: textblock
 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:1403
+#: ../src/guestfs.pod:1545
 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 "
 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 "
@@ -2760,17 +3051,17 @@ msgid ""
 msgstr ""
 
 # type: =head3
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1410
+#: ../src/guestfs.pod:1552
 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)"
 msgstr ""
 
 # type: textblock
 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1412
+#: ../src/guestfs.pod:1554
 msgid "For ordinary functions, the request message is:"
 msgstr ""
 
 # type: verbatim
 msgid "For ordinary functions, the request message is:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1414
+#: ../src/guestfs.pod:1556
 #, no-wrap
 msgid ""
 " total length (header + arguments,\n"
 #, no-wrap
 msgid ""
 " total length (header + arguments,\n"
@@ -2781,7 +3072,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1419
+#: ../src/guestfs.pod:1561
 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 "
 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 "
@@ -2790,26 +3081,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1425
+#: ../src/guestfs.pod:1567
 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
 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:1428
+#: ../src/guestfs.pod:1570
 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
 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:1432
+#: ../src/guestfs.pod:1574
 msgid "The reply message for ordinary functions is:"
 msgstr ""
 
 # type: verbatim
 msgid "The reply message for ordinary functions is:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1434
+#: ../src/guestfs.pod:1576
 #, no-wrap
 msgid ""
 " total length (header + ret,\n"
 #, no-wrap
 msgid ""
 " total length (header + ret,\n"
@@ -2820,26 +3111,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1439
+#: ../src/guestfs.pod:1581
 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
 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:1442
+#: ../src/guestfs.pod:1584
 msgid "As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>."
 msgstr ""
 
 # type: textblock
 msgid "As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1445
+#: ../src/guestfs.pod:1587
 msgid ""
 "In the case of an error, a flag is set in the header, and the reply message "
 "is slightly changed:"
 msgstr ""
 
 # type: verbatim
 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:1448
+#: ../src/guestfs.pod:1590
 #, no-wrap
 msgid ""
 " total length (header + error,\n"
 #, no-wrap
 msgid ""
 " total length (header + error,\n"
@@ -2850,19 +3141,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1453
+#: ../src/guestfs.pod:1595
 msgid ""
 "The C<guestfs_message_error> structure contains the error message as a "
 "string."
 msgstr ""
 
 # type: =head3
 msgid ""
 "The C<guestfs_message_error> structure contains the error message as a "
 "string."
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1456
+#: ../src/guestfs.pod:1598
 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS"
 msgstr ""
 
 # type: textblock
 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1458
+#: ../src/guestfs.pod:1600
 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 "
 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 "
@@ -2870,7 +3161,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1462
+#: ../src/guestfs.pod:1604
 #, no-wrap
 msgid ""
 " total length (header + arguments,\n"
 #, no-wrap
 msgid ""
 " total length (header + arguments,\n"
@@ -2884,12 +3175,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1470
+#: ../src/guestfs.pod:1612
 msgid "The \"sequence of chunks\" is:"
 msgstr ""
 
 # type: verbatim
 msgid "The \"sequence of chunks\" is:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1472
+#: ../src/guestfs.pod:1614
 #, no-wrap
 msgid ""
 " length of chunk (not including length word itself)\n"
 #, no-wrap
 msgid ""
 " length of chunk (not including length word itself)\n"
@@ -2903,7 +3194,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1480
+#: ../src/guestfs.pod:1622
 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 "
 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 "
@@ -2911,7 +3202,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1484
+#: ../src/guestfs.pod:1626
 msgid ""
 "At time of writing there are no functions that have more than one FileIn "
 "parameter.  However this is (theoretically) supported, by sending the "
 msgid ""
 "At time of writing there are no functions that have more than one FileIn "
 "parameter.  However this is (theoretically) supported, by sending the "
@@ -2920,7 +3211,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1489
+#: ../src/guestfs.pod:1631
 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 "
 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 "
@@ -2929,7 +3220,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1495
+#: ../src/guestfs.pod:1637
 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 "
 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 "
@@ -2941,7 +3232,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1504
+#: ../src/guestfs.pod:1646
 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 "
 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 "
@@ -2951,19 +3242,19 @@ msgid ""
 msgstr ""
 
 # type: =head3
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1510
+#: ../src/guestfs.pod:1652
 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS"
 msgstr ""
 
 # type: textblock
 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1512
+#: ../src/guestfs.pod:1654
 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
 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:1515
+#: ../src/guestfs.pod:1657
 #, no-wrap
 msgid ""
 " total length (header + ret,\n"
 #, no-wrap
 msgid ""
 " total length (header + ret,\n"
@@ -2977,12 +3268,12 @@ msgid ""
 msgstr ""
 
 # type: =head3
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1523
+#: ../src/guestfs.pod:1665
 msgid "INITIAL MESSAGE"
 msgstr ""
 
 # type: textblock
 msgid "INITIAL MESSAGE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1525
+#: ../src/guestfs.pod:1667
 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 "
 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 "
@@ -2990,12 +3281,12 @@ msgid ""
 msgstr ""
 
 # type: =head3
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1529
+#: ../src/guestfs.pod:1671
 msgid "PROGRESS NOTIFICATION MESSAGES"
 msgstr ""
 
 # type: textblock
 msgid "PROGRESS NOTIFICATION MESSAGES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1531
+#: ../src/guestfs.pod:1673
 msgid ""
 "The daemon may send progress notification messages at any time.  These are "
 "distinguished by the normal length word being replaced by "
 msgid ""
 "The daemon may send progress notification messages at any time.  These are "
 "distinguished by the normal length word being replaced by "
@@ -3003,7 +3294,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1535
+#: ../src/guestfs.pod:1677
 msgid ""
 "The library turns them into progress callbacks (see "
 "C<guestfs_set_progress_callback>) if there is a callback registered, or "
 msgid ""
 "The library turns them into progress callbacks (see "
 "C<guestfs_set_progress_callback>) if there is a callback registered, or "
@@ -3011,7 +3302,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1539
+#: ../src/guestfs.pod:1681
 msgid ""
 "The daemon self-limits the frequency of progress messages it sends (see "
 "C<daemon/proto.c:notify_progress>).  Not all calls generate progress "
 msgid ""
 "The daemon self-limits the frequency of progress messages it sends (see "
 "C<daemon/proto.c:notify_progress>).  Not all calls generate progress "
@@ -3019,19 +3310,19 @@ msgid ""
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1543
+#: ../src/guestfs.pod:1685
 msgid "MULTIPLE HANDLES AND MULTIPLE THREADS"
 msgstr ""
 
 # type: textblock
 msgid "MULTIPLE HANDLES AND MULTIPLE THREADS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1545
+#: ../src/guestfs.pod:1687
 msgid ""
 "All high-level libguestfs actions are synchronous.  If you want to use "
 "libguestfs asynchronously then you must create a thread."
 msgstr ""
 
 # type: textblock
 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:1548
+#: ../src/guestfs.pod:1690
 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 "
 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 "
@@ -3039,19 +3330,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1552
+#: ../src/guestfs.pod:1694
 msgid ""
 "See the graphical program guestfs-browser for one possible architecture for "
 "multithreaded programs using libvirt and libguestfs."
 msgstr ""
 
 # type: =head1
 msgid ""
 "See the graphical program guestfs-browser for one possible architecture for "
 "multithreaded programs using libvirt and libguestfs."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1555
+#: ../src/guestfs.pod:1697
 msgid "QEMU WRAPPERS"
 msgstr ""
 
 # type: textblock
 msgid "QEMU WRAPPERS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1557
+#: ../src/guestfs.pod:1699
 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 "
 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 "
@@ -3059,7 +3350,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1561
+#: ../src/guestfs.pod:1703
 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 "
 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 "
@@ -3068,14 +3359,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1566
+#: ../src/guestfs.pod:1708
 msgid ""
 "Here is an example of a wrapper, where I have built my own copy of qemu from "
 "source:"
 msgstr ""
 
 # type: verbatim
 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:1569
+#: ../src/guestfs.pod:1711
 #, no-wrap
 msgid ""
 " #!/bin/sh -\n"
 #, no-wrap
 msgid ""
 " #!/bin/sh -\n"
@@ -3086,7 +3377,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1573
+#: ../src/guestfs.pod:1715
 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 "
 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 "
@@ -3094,7 +3385,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1577
+#: ../src/guestfs.pod:1719
 #, no-wrap
 msgid ""
 " LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n"
 #, no-wrap
 msgid ""
 " LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n"
@@ -3102,19 +3393,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1579
+#: ../src/guestfs.pod:1721
 msgid ""
 "Note that libguestfs also calls qemu with the -help and -version options in "
 "order to determine features."
 msgstr ""
 
 # type: =head1
 msgid ""
 "Note that libguestfs also calls qemu with the -help and -version options in "
 "order to determine features."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1582
+#: ../src/guestfs.pod:1724
 msgid "LIBGUESTFS VERSION NUMBERS"
 msgstr ""
 
 # type: textblock
 msgid "LIBGUESTFS VERSION NUMBERS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1584
+#: ../src/guestfs.pod:1726
 msgid ""
 "Since April 2010, libguestfs has started to make separate development and "
 "stable releases, along with corresponding branches in our git repository.  "
 msgid ""
 "Since April 2010, libguestfs has started to make separate development and "
 "stable releases, along with corresponding branches in our git repository.  "
@@ -3122,7 +3413,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1589
+#: ../src/guestfs.pod:1731
 #, no-wrap
 msgid ""
 "                 even numbers for stable: 1.2.x, 1.4.x, ...\n"
 #, no-wrap
 msgid ""
 "                 even numbers for stable: 1.2.x, 1.4.x, ...\n"
@@ -3139,12 +3430,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1600
+#: ../src/guestfs.pod:1742
 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"."
 msgstr ""
 
 # type: textblock
 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1602
+#: ../src/guestfs.pod:1744
 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 "
 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 "
@@ -3154,26 +3445,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1608
+#: ../src/guestfs.pod:1750
 msgid "Our criteria for backporting changes are:"
 msgstr ""
 
 # type: textblock
 msgid "Our criteria for backporting changes are:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1614
+#: ../src/guestfs.pod:1756
 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
 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:1620
+#: ../src/guestfs.pod:1762
 msgid ""
 "Bug fixes which are not controversial, fix obvious problems, and have been "
 "well tested are backported."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Bug fixes which are not controversial, fix obvious problems, and have been "
 "well tested are backported."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1625
+#: ../src/guestfs.pod:1767
 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 "
 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 "
@@ -3181,7 +3472,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1631
+#: ../src/guestfs.pod:1773
 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 "
 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 "
@@ -3189,7 +3480,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1637
+#: ../src/guestfs.pod:1779
 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 "
 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 "
@@ -3200,44 +3491,44 @@ msgid ""
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1645 ../fish/guestfish.pod:933 ../test-tool/libguestfs-test-tool.pod:104 ../tools/virt-edit.pl:312 ../tools/virt-rescue.pl:226
+#: ../src/guestfs.pod:1787 ../fish/guestfish.pod:867 ../test-tool/libguestfs-test-tool.pod:104 ../tools/virt-edit.pl:330 ../tools/virt-rescue.pl:245
 msgid "ENVIRONMENT VARIABLES"
 msgstr ""
 
 # type: =item
 msgid "ENVIRONMENT VARIABLES"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1649 ../fish/guestfish.pod:953
+#: ../src/guestfs.pod:1791 ../fish/guestfish.pod:893
 msgid "LIBGUESTFS_APPEND"
 msgstr ""
 
 # type: textblock
 msgid "LIBGUESTFS_APPEND"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1651 ../fish/guestfish.pod:955
+#: ../src/guestfs.pod:1793 ../fish/guestfish.pod:895
 msgid "Pass additional options to the guest kernel."
 msgstr ""
 
 # type: =item
 msgid "Pass additional options to the guest kernel."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1653 ../fish/guestfish.pod:957
+#: ../src/guestfs.pod:1795 ../fish/guestfish.pod:897
 msgid "LIBGUESTFS_DEBUG"
 msgstr ""
 
 # type: textblock
 msgid "LIBGUESTFS_DEBUG"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1655
+#: ../src/guestfs.pod:1797
 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
 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:1658 ../fish/guestfish.pod:962
+#: ../src/guestfs.pod:1800 ../fish/guestfish.pod:902
 msgid "LIBGUESTFS_MEMSIZE"
 msgstr ""
 
 # type: textblock
 msgid "LIBGUESTFS_MEMSIZE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1660 ../fish/guestfish.pod:964
+#: ../src/guestfs.pod:1802 ../fish/guestfish.pod:904
 msgid "Set the memory allocated to the qemu process, in megabytes.  For example:"
 msgstr ""
 
 # type: verbatim
 msgid "Set the memory allocated to the qemu process, in megabytes.  For example:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1663 ../fish/guestfish.pod:967
+#: ../src/guestfs.pod:1805 ../fish/guestfish.pod:907
 #, no-wrap
 msgid ""
 " LIBGUESTFS_MEMSIZE=700\n"
 #, no-wrap
 msgid ""
 " LIBGUESTFS_MEMSIZE=700\n"
@@ -3245,72 +3536,72 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1665 ../fish/guestfish.pod:969
+#: ../src/guestfs.pod:1807 ../fish/guestfish.pod:909
 msgid "LIBGUESTFS_PATH"
 msgstr ""
 
 # type: textblock
 msgid "LIBGUESTFS_PATH"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1667
+#: ../src/guestfs.pod:1809
 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
 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:1670 ../fish/guestfish.pod:974
+#: ../src/guestfs.pod:1812 ../fish/guestfish.pod:914
 msgid "LIBGUESTFS_QEMU"
 msgstr ""
 
 # type: textblock
 msgid "LIBGUESTFS_QEMU"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1672 ../fish/guestfish.pod:976
+#: ../src/guestfs.pod:1814 ../fish/guestfish.pod:916
 msgid ""
 "Set the default qemu binary that libguestfs uses.  If not set, then the qemu "
 "which was found at compile time by the configure script is used."
 msgstr ""
 
 # type: textblock
 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:1676
+#: ../src/guestfs.pod:1818
 msgid "See also L</QEMU WRAPPERS> above."
 msgstr ""
 
 # type: =item
 msgid "See also L</QEMU WRAPPERS> above."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1678 ../fish/guestfish.pod:980
+#: ../src/guestfs.pod:1820 ../fish/guestfish.pod:920
 msgid "LIBGUESTFS_TRACE"
 msgstr ""
 
 # type: textblock
 msgid "LIBGUESTFS_TRACE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1680
+#: ../src/guestfs.pod:1822
 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
 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:1683 ../fish/guestfish.pod:989
+#: ../src/guestfs.pod:1825 ../fish/guestfish.pod:929
 msgid "TMPDIR"
 msgstr ""
 
 # type: textblock
 msgid "TMPDIR"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1685 ../fish/guestfish.pod:991
+#: ../src/guestfs.pod:1827 ../fish/guestfish.pod:931
 msgid "Location of temporary directory, defaults to C</tmp>."
 msgstr ""
 
 # type: textblock
 msgid "Location of temporary directory, defaults to C</tmp>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1687 ../fish/guestfish.pod:993
+#: ../src/guestfs.pod:1829 ../fish/guestfish.pod:933
 msgid ""
 msgid ""
-"If libguestfs was compiled to use the supermin appliance then each handle "
-"will require rather a large amount of space in this directory for short "
-"periods of time (~ 80 MB).  You can use C<$TMPDIR> to configure another "
-"directory to use in case C</tmp> is not large enough."
+"If libguestfs was compiled to use the supermin appliance then the real "
+"appliance is cached in this directory, shared between all handles belonging "
+"to the same EUID.  You can use C<$TMPDIR> to configure another directory to "
+"use in case C</tmp> is not large enough."
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1695 ../fish/guestfish.pod:1051 ../test-tool/libguestfs-test-tool.pod:109 ../fuse/guestmount.pod:178 ../inspector/virt-inspector.pl:846 ../tools/virt-cat.pl:163 ../tools/virt-df.pl:482 ../tools/virt-edit.pl:325 ../tools/virt-list-filesystems.pl:191 ../tools/virt-list-partitions.pl:229 ../tools/virt-ls.pl:210 ../tools/virt-make-fs.pl:527 ../tools/virt-rescue.pl:231 ../tools/virt-resize.pl:1390 ../tools/virt-tar.pl:257 ../tools/virt-win-reg.pl:461
+#: ../src/guestfs.pod:1837 ../fish/guestfish.pod:991 ../test-tool/libguestfs-test-tool.pod:109 ../fuse/guestmount.pod:178 ../inspector/virt-inspector.pl:884 ../tools/virt-edit.pl:350 ../tools/virt-win-reg.pl:487 ../tools/virt-df.pl:614 ../tools/virt-ls.pl:235 ../tools/virt-resize.pl:1486 ../tools/virt-list-filesystems.pl:216 ../tools/virt-cat.pl:188 ../tools/virt-tar.pl:283 ../tools/virt-rescue.pl:257 ../tools/virt-make-fs.pl:534 ../tools/virt-list-partitions.pl:254
 msgid "SEE ALSO"
 msgstr ""
 
 # type: textblock
 msgid "SEE ALSO"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1697
+#: ../src/guestfs.pod:1839
 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)>, "
 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)>, "
@@ -3320,86 +3611,86 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1715
+#: ../src/guestfs.pod:1857
 msgid ""
 "Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, "
 "L<lvm(8)>, L<disktype(1)>."
 msgstr ""
 
 # type: =head1
 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:1722 ../tools/virt-make-fs.pl:541 ../tools/virt-win-reg.pl:476
+#: ../src/guestfs.pod:1864 ../tools/virt-win-reg.pl:502 ../tools/virt-make-fs.pl:548
 msgid "BUGS"
 msgstr ""
 
 # type: textblock
 msgid "BUGS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1724
+#: ../src/guestfs.pod:1866
 msgid "To get a list of bugs against libguestfs use this link:"
 msgstr ""
 
 # type: textblock
 msgid "To get a list of bugs against libguestfs use this link:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1726
+#: ../src/guestfs.pod:1868
 msgid "L<https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools>"
 msgstr ""
 
 # type: textblock
 msgid "L<https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1728
+#: ../src/guestfs.pod:1870
 msgid "To report a new bug against libguestfs use this link:"
 msgstr ""
 
 # type: textblock
 msgid "To report a new bug against libguestfs use this link:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1730
+#: ../src/guestfs.pod:1872
 msgid "L<https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools>"
 msgstr ""
 
 # type: textblock
 msgid "L<https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1732
+#: ../src/guestfs.pod:1874
 msgid "When reporting a bug, please check:"
 msgstr ""
 
 # type: textblock
 msgid "When reporting a bug, please check:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1738
+#: ../src/guestfs.pod:1880
 msgid "That the bug hasn't been reported already."
 msgstr ""
 
 # type: textblock
 msgid "That the bug hasn't been reported already."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1742
+#: ../src/guestfs.pod:1884
 msgid "That you are testing a recent version."
 msgstr ""
 
 # type: textblock
 msgid "That you are testing a recent version."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1746
+#: ../src/guestfs.pod:1888
 msgid "Describe the bug accurately, and give a way to reproduce it."
 msgstr ""
 
 # type: textblock
 msgid "Describe the bug accurately, and give a way to reproduce it."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1750
+#: ../src/guestfs.pod:1892
 msgid ""
 "Run libguestfs-test-tool and paste the B<complete, unedited> output into the "
 "bug report."
 msgstr ""
 
 # type: =head1
 msgid ""
 "Run libguestfs-test-tool and paste the B<complete, unedited> output into the "
 "bug report."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1755 ../fish/guestfish.pod:1067 ../test-tool/libguestfs-test-tool.pod:115 ../fuse/guestmount.pod:189 ../inspector/virt-inspector.pl:855
+#: ../src/guestfs.pod:1897 ../fish/guestfish.pod:1008 ../test-tool/libguestfs-test-tool.pod:115 ../fuse/guestmount.pod:189 ../inspector/virt-inspector.pl:893
 msgid "AUTHORS"
 msgstr ""
 
 # type: textblock
 msgid "AUTHORS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1757 ../fish/guestfish.pod:1069 ../test-tool/libguestfs-test-tool.pod:117 ../fuse/guestmount.pod:191
+#: ../src/guestfs.pod:1899 ../fish/guestfish.pod:1010 ../test-tool/libguestfs-test-tool.pod:117 ../fuse/guestmount.pod:191
 msgid "Richard W.M. Jones (C<rjones at redhat dot com>)"
 msgstr ""
 
 # type: =head1
 msgid "Richard W.M. Jones (C<rjones at redhat dot com>)"
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1759 ../fish/guestfish.pod:1071 ../test-tool/libguestfs-test-tool.pod:119 ../fuse/guestmount.pod:193 ../inspector/virt-inspector.pl:861 ../tools/virt-cat.pl:177 ../tools/virt-df.pl:495 ../tools/virt-edit.pl:341 ../tools/virt-list-filesystems.pl:207 ../tools/virt-list-partitions.pl:244 ../tools/virt-ls.pl:225 ../tools/virt-make-fs.pl:556 ../tools/virt-rescue.pl:245 ../tools/virt-resize.pl:1411 ../tools/virt-tar.pl:272 ../tools/virt-win-reg.pl:491
+#: ../src/guestfs.pod:1901 ../fish/guestfish.pod:1012 ../test-tool/libguestfs-test-tool.pod:119 ../fuse/guestmount.pod:193 ../inspector/virt-inspector.pl:899 ../tools/virt-edit.pl:366 ../tools/virt-win-reg.pl:517 ../tools/virt-df.pl:627 ../tools/virt-ls.pl:250 ../tools/virt-resize.pl:1512 ../tools/virt-list-filesystems.pl:232 ../tools/virt-cat.pl:202 ../tools/virt-tar.pl:298 ../tools/virt-rescue.pl:271 ../tools/virt-make-fs.pl:563 ../tools/virt-list-partitions.pl:269
 msgid "COPYRIGHT"
 msgstr ""
 
 # type: textblock
 msgid "COPYRIGHT"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1761 ../fish/guestfish.pod:1073
+#: ../src/guestfs.pod:1903 ../fish/guestfish.pod:1014
 msgid "Copyright (C) 2009-2010 Red Hat Inc.  L<http://libguestfs.org/>"
 msgstr ""
 
 # type: textblock
 msgid "Copyright (C) 2009-2010 Red Hat Inc.  L<http://libguestfs.org/>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1764
+#: ../src/guestfs.pod:1906
 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 "
 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 "
@@ -3408,7 +3699,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1769
+#: ../src/guestfs.pod:1911
 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 "
 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 "
@@ -3417,7 +3708,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1774
+#: ../src/guestfs.pod:1916
 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, "
 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, "
@@ -3449,11 +3740,6 @@ msgid "This is equivalent to the qemu parameter C<-cdrom filename>."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:10 ../src/guestfs-actions.pod:1488 ../fish/guestfish-actions.pod:9 ../fish/guestfish-actions.pod:1186
-msgid "Notes:"
-msgstr ""
-
-# type: textblock
 #: ../src/guestfs-actions.pod:16
 msgid ""
 "This call checks for the existence of C<filename>.  This stops you from "
 #: ../src/guestfs-actions.pod:16
 msgid ""
 "This call checks for the existence of C<filename>.  This stops you from "
@@ -3471,17 +3757,32 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:29 ../src/guestfs-actions.pod:63 ../src/guestfs-actions.pod:92 ../src/guestfs-actions.pod:103 ../src/guestfs-actions.pod:114 ../src/guestfs-actions.pod:124 ../src/guestfs-actions.pod:135 ../src/guestfs-actions.pod:238 ../src/guestfs-actions.pod:255 ../src/guestfs-actions.pod:266 ../src/guestfs-actions.pod:302 ../src/guestfs-actions.pod:324 ../src/guestfs-actions.pod:339 ../src/guestfs-actions.pod:403 ../src/guestfs-actions.pod:430 ../src/guestfs-actions.pod:441 ../src/guestfs-actions.pod:453 ../src/guestfs-actions.pod:534 ../src/guestfs-actions.pod:549 ../src/guestfs-actions.pod:560 ../src/guestfs-actions.pod:571 ../src/guestfs-actions.pod:717 ../src/guestfs-actions.pod:734 ../src/guestfs-actions.pod:749 ../src/guestfs-actions.pod:824 ../src/guestfs-actions.pod:839 ../src/guestfs-actions.pod:855 ../src/guestfs-actions.pod:866 ../src/guestfs-actions.pod:883 ../src/guestfs-actions.pod:916 ../src/guestfs-actions.pod:974 ../src/guestfs-actions.pod:996 ../src/guestfs-actions.pod:1027 ../src/guestfs-actions.pod:1115 ../src/guestfs-actions.pod:1146 ../src/guestfs-actions.pod:1346 ../src/guestfs-actions.pod:1365 ../src/guestfs-actions.pod:1446 ../src/guestfs-actions.pod:1794 ../src/guestfs-actions.pod:1917 ../src/guestfs-actions.pod:1972 ../src/guestfs-actions.pod:2002 ../src/guestfs-actions.pod:2411 ../src/guestfs-actions.pod:2423 ../src/guestfs-actions.pod:2440 ../src/guestfs-actions.pod:2548 ../src/guestfs-actions.pod:2559 ../src/guestfs-actions.pod:2569 ../src/guestfs-actions.pod:2580 ../src/guestfs-actions.pod:2592 ../src/guestfs-actions.pod:2622 ../src/guestfs-actions.pod:2686 ../src/guestfs-actions.pod:2703 ../src/guestfs-actions.pod:2717 ../src/guestfs-actions.pod:2737 ../src/guestfs-actions.pod:2757 ../src/guestfs-actions.pod:2786 ../src/guestfs-actions.pod:2802 ../src/guestfs-actions.pod:2818 ../src/guestfs-actions.pod:2830 ../src/guestfs-actions.pod:2839 ../src/guestfs-actions.pod:2872 ../src/guestfs-actions.pod:2885 ../src/guestfs-actions.pod:2895 ../src/guestfs-actions.pod:2907 ../src/guestfs-actions.pod:2921 ../src/guestfs-actions.pod:3001 ../src/guestfs-actions.pod:3018 ../src/guestfs-actions.pod:3028 ../src/guestfs-actions.pod:3073 ../src/guestfs-actions.pod:3088 ../src/guestfs-actions.pod:3103 ../src/guestfs-actions.pod:3116 ../src/guestfs-actions.pod:3127 ../src/guestfs-actions.pod:3138 ../src/guestfs-actions.pod:3152 ../src/guestfs-actions.pod:3164 ../src/guestfs-actions.pod:3181 ../src/guestfs-actions.pod:3212 ../src/guestfs-actions.pod:3240 ../src/guestfs-actions.pod:3256 ../src/guestfs-actions.pod:3272 ../src/guestfs-actions.pod:3281 ../src/guestfs-actions.pod:3295 ../src/guestfs-actions.pod:3305 ../src/guestfs-actions.pod:3317 ../src/guestfs-actions.pod:3329 ../src/guestfs-actions.pod:3361 ../src/guestfs-actions.pod:3373 ../src/guestfs-actions.pod:3390 ../src/guestfs-actions.pod:3401 ../src/guestfs-actions.pod:3415 ../src/guestfs-actions.pod:3455 ../src/guestfs-actions.pod:3486 ../src/guestfs-actions.pod:3497 ../src/guestfs-actions.pod:3522 ../src/guestfs-actions.pod:3536 ../src/guestfs-actions.pod:3551 ../src/guestfs-actions.pod:3673 ../src/guestfs-actions.pod:3725 ../src/guestfs-actions.pod:3744 ../src/guestfs-actions.pod:3759 ../src/guestfs-actions.pod:3785 ../src/guestfs-actions.pod:3819 ../src/guestfs-actions.pod:3833 ../src/guestfs-actions.pod:3843 ../src/guestfs-actions.pod:3854 ../src/guestfs-actions.pod:4086 ../src/guestfs-actions.pod:4102 ../src/guestfs-actions.pod:4113 ../src/guestfs-actions.pod:4122 ../src/guestfs-actions.pod:4133 ../src/guestfs-actions.pod:4142 ../src/guestfs-actions.pod:4153 ../src/guestfs-actions.pod:4166 ../src/guestfs-actions.pod:4184 ../src/guestfs-actions.pod:4200 ../src/guestfs-actions.pod:4216 ../src/guestfs-actions.pod:4231 ../src/guestfs-actions.pod:4251 ../src/guestfs-actions.pod:4266 ../src/guestfs-actions.pod:4282 ../src/guestfs-actions.pod:4300 ../src/guestfs-actions.pod:4316 ../src/guestfs-actions.pod:4330 ../src/guestfs-actions.pod:4355 ../src/guestfs-actions.pod:4376 ../src/guestfs-actions.pod:4392 ../src/guestfs-actions.pod:4413 ../src/guestfs-actions.pod:4425 ../src/guestfs-actions.pod:4437 ../src/guestfs-actions.pod:4453 ../src/guestfs-actions.pod:4487 ../src/guestfs-actions.pod:4507 ../src/guestfs-actions.pod:4530 ../src/guestfs-actions.pod:4620 ../src/guestfs-actions.pod:4726 ../src/guestfs-actions.pod:4735 ../src/guestfs-actions.pod:4745 ../src/guestfs-actions.pod:4755 ../src/guestfs-actions.pod:4774 ../src/guestfs-actions.pod:4784 ../src/guestfs-actions.pod:4794 ../src/guestfs-actions.pod:4804 ../src/guestfs-actions.pod:4816 ../src/guestfs-actions.pod:4866 ../src/guestfs-actions.pod:4880 ../src/guestfs-actions.pod:4893 ../src/guestfs-actions.pod:4906 ../src/guestfs-actions.pod:4920 ../src/guestfs-actions.pod:4930 ../src/guestfs-actions.pod:4947 ../src/guestfs-actions.pod:4977 ../src/guestfs-actions.pod:4988 ../src/guestfs-actions.pod:5023 ../src/guestfs-actions.pod:5033 ../src/guestfs-actions.pod:5048 ../src/guestfs-actions.pod:5076 ../src/guestfs-actions.pod:5180 ../src/guestfs-actions.pod:5195 ../src/guestfs-actions.pod:5206 ../src/guestfs-actions.pod:5252 ../src/guestfs-actions.pod:5262 ../src/guestfs-actions.pod:5299 ../src/guestfs-actions.pod:5326 ../src/guestfs-actions.pod:5368 ../src/guestfs-actions.pod:5391 ../src/guestfs-actions.pod:5448 ../src/guestfs-actions.pod:5464 ../src/guestfs-actions.pod:5490
+#: ../src/guestfs-actions.pod:29 ../src/guestfs-actions.pod:54 ../src/guestfs-actions.pod:112 ../src/guestfs-actions.pod:144 ../src/guestfs-actions.pod:155 ../src/guestfs-actions.pod:173 ../src/guestfs-actions.pod:190 ../src/guestfs-actions.pod:201 ../src/guestfs-actions.pod:304 ../src/guestfs-actions.pod:321 ../src/guestfs-actions.pod:332 ../src/guestfs-actions.pod:368 ../src/guestfs-actions.pod:390 ../src/guestfs-actions.pod:405 ../src/guestfs-actions.pod:469 ../src/guestfs-actions.pod:496 ../src/guestfs-actions.pod:507 ../src/guestfs-actions.pod:519 ../src/guestfs-actions.pod:600 ../src/guestfs-actions.pod:615 ../src/guestfs-actions.pod:626 ../src/guestfs-actions.pod:637 ../src/guestfs-actions.pod:783 ../src/guestfs-actions.pod:800 ../src/guestfs-actions.pod:815 ../src/guestfs-actions.pod:890 ../src/guestfs-actions.pod:905 ../src/guestfs-actions.pod:921 ../src/guestfs-actions.pod:932 ../src/guestfs-actions.pod:949 ../src/guestfs-actions.pod:982 ../src/guestfs-actions.pod:1040 ../src/guestfs-actions.pod:1068 ../src/guestfs-actions.pod:1090 ../src/guestfs-actions.pod:1121 ../src/guestfs-actions.pod:1209 ../src/guestfs-actions.pod:1240 ../src/guestfs-actions.pod:1440 ../src/guestfs-actions.pod:1459 ../src/guestfs-actions.pod:1540 ../src/guestfs-actions.pod:1888 ../src/guestfs-actions.pod:2011 ../src/guestfs-actions.pod:2066 ../src/guestfs-actions.pod:2096 ../src/guestfs-actions.pod:2505 ../src/guestfs-actions.pod:2517 ../src/guestfs-actions.pod:2534 ../src/guestfs-actions.pod:2642 ../src/guestfs-actions.pod:2653 ../src/guestfs-actions.pod:2663 ../src/guestfs-actions.pod:2674 ../src/guestfs-actions.pod:2686 ../src/guestfs-actions.pod:2716 ../src/guestfs-actions.pod:2780 ../src/guestfs-actions.pod:2797 ../src/guestfs-actions.pod:2811 ../src/guestfs-actions.pod:2831 ../src/guestfs-actions.pod:2851 ../src/guestfs-actions.pod:2880 ../src/guestfs-actions.pod:2896 ../src/guestfs-actions.pod:2912 ../src/guestfs-actions.pod:2924 ../src/guestfs-actions.pod:2933 ../src/guestfs-actions.pod:2966 ../src/guestfs-actions.pod:2979 ../src/guestfs-actions.pod:2989 ../src/guestfs-actions.pod:3001 ../src/guestfs-actions.pod:3015 ../src/guestfs-actions.pod:3095 ../src/guestfs-actions.pod:3112 ../src/guestfs-actions.pod:3122 ../src/guestfs-actions.pod:3167 ../src/guestfs-actions.pod:3182 ../src/guestfs-actions.pod:3197 ../src/guestfs-actions.pod:3210 ../src/guestfs-actions.pod:3221 ../src/guestfs-actions.pod:3232 ../src/guestfs-actions.pod:3246 ../src/guestfs-actions.pod:3258 ../src/guestfs-actions.pod:3275 ../src/guestfs-actions.pod:3306 ../src/guestfs-actions.pod:3334 ../src/guestfs-actions.pod:3350 ../src/guestfs-actions.pod:3366 ../src/guestfs-actions.pod:3375 ../src/guestfs-actions.pod:3389 ../src/guestfs-actions.pod:3399 ../src/guestfs-actions.pod:3411 ../src/guestfs-actions.pod:3423 ../src/guestfs-actions.pod:3455 ../src/guestfs-actions.pod:3467 ../src/guestfs-actions.pod:3484 ../src/guestfs-actions.pod:3495 ../src/guestfs-actions.pod:3509 ../src/guestfs-actions.pod:3549 ../src/guestfs-actions.pod:3580 ../src/guestfs-actions.pod:3591 ../src/guestfs-actions.pod:3616 ../src/guestfs-actions.pod:3630 ../src/guestfs-actions.pod:3645 ../src/guestfs-actions.pod:3767 ../src/guestfs-actions.pod:3819 ../src/guestfs-actions.pod:3838 ../src/guestfs-actions.pod:3853 ../src/guestfs-actions.pod:3879 ../src/guestfs-actions.pod:3936 ../src/guestfs-actions.pod:3950 ../src/guestfs-actions.pod:3960 ../src/guestfs-actions.pod:3971 ../src/guestfs-actions.pod:4226 ../src/guestfs-actions.pod:4242 ../src/guestfs-actions.pod:4253 ../src/guestfs-actions.pod:4262 ../src/guestfs-actions.pod:4273 ../src/guestfs-actions.pod:4282 ../src/guestfs-actions.pod:4293 ../src/guestfs-actions.pod:4306 ../src/guestfs-actions.pod:4324 ../src/guestfs-actions.pod:4340 ../src/guestfs-actions.pod:4356 ../src/guestfs-actions.pod:4371 ../src/guestfs-actions.pod:4391 ../src/guestfs-actions.pod:4406 ../src/guestfs-actions.pod:4422 ../src/guestfs-actions.pod:4440 ../src/guestfs-actions.pod:4456 ../src/guestfs-actions.pod:4470 ../src/guestfs-actions.pod:4495 ../src/guestfs-actions.pod:4516 ../src/guestfs-actions.pod:4532 ../src/guestfs-actions.pod:4553 ../src/guestfs-actions.pod:4565 ../src/guestfs-actions.pod:4577 ../src/guestfs-actions.pod:4593 ../src/guestfs-actions.pod:4627 ../src/guestfs-actions.pod:4647 ../src/guestfs-actions.pod:4670 ../src/guestfs-actions.pod:4760 ../src/guestfs-actions.pod:4866 ../src/guestfs-actions.pod:4875 ../src/guestfs-actions.pod:4885 ../src/guestfs-actions.pod:4895 ../src/guestfs-actions.pod:4914 ../src/guestfs-actions.pod:4924 ../src/guestfs-actions.pod:4934 ../src/guestfs-actions.pod:4944 ../src/guestfs-actions.pod:4956 ../src/guestfs-actions.pod:5006 ../src/guestfs-actions.pod:5020 ../src/guestfs-actions.pod:5033 ../src/guestfs-actions.pod:5046 ../src/guestfs-actions.pod:5060 ../src/guestfs-actions.pod:5070 ../src/guestfs-actions.pod:5087 ../src/guestfs-actions.pod:5117 ../src/guestfs-actions.pod:5128 ../src/guestfs-actions.pod:5163 ../src/guestfs-actions.pod:5173 ../src/guestfs-actions.pod:5188 ../src/guestfs-actions.pod:5214 ../src/guestfs-actions.pod:5242 ../src/guestfs-actions.pod:5346 ../src/guestfs-actions.pod:5361 ../src/guestfs-actions.pod:5372 ../src/guestfs-actions.pod:5418 ../src/guestfs-actions.pod:5428 ../src/guestfs-actions.pod:5465 ../src/guestfs-actions.pod:5492 ../src/guestfs-actions.pod:5534 ../src/guestfs-actions.pod:5557 ../src/guestfs-actions.pod:5614 ../src/guestfs-actions.pod:5630 ../src/guestfs-actions.pod:5656
 msgid "This function returns 0 on success or -1 on error."
 msgstr ""
 
 msgid "This function returns 0 on success or -1 on error."
 msgstr ""
 
+# type: textblock
+#: ../src/guestfs-actions.pod:31 ../src/guestfs-actions.pod:157 ../src/guestfs-actions.pod:175 ../fish/guestfish-actions.pod:28 ../fish/guestfish-actions.pod:117 ../fish/guestfish-actions.pod:131
+msgid ""
+"This function is deprecated.  In new code, use the C<add_drive_opts> call "
+"instead."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:34 ../src/guestfs-actions.pod:160 ../src/guestfs-actions.pod:178 ../src/guestfs-actions.pod:1214 ../src/guestfs-actions.pod:1649 ../src/guestfs-actions.pod:1667 ../src/guestfs-actions.pod:5565 ../src/guestfs-actions.pod:5710 ../fish/guestfish-actions.pod:31 ../fish/guestfish-actions.pod:120 ../fish/guestfish-actions.pod:134 ../fish/guestfish-actions.pod:940 ../fish/guestfish-actions.pod:1297 ../fish/guestfish-actions.pod:1311 ../fish/guestfish-actions.pod:4289 ../fish/guestfish-actions.pod:4386
+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 "
+"these functions."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../src/guestfs-actions.pod:31
+#: ../src/guestfs-actions.pod:38
 msgid "guestfs_add_drive"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_add_drive"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:33
+#: ../src/guestfs-actions.pod:40
 #, no-wrap
 msgid ""
 " int guestfs_add_drive (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_add_drive (guestfs_h *g,\n"
@@ -3490,97 +3791,203 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:36 ../fish/guestfish-actions.pod:32
-msgid ""
-"This function adds a virtual machine disk image C<filename> to the guest.  "
-"The first time you call this function, the disk appears as IDE disk 0 "
-"(C</dev/sda>) in the guest, the second time as C</dev/sdb>, and so on."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs-actions.pod:41 ../fish/guestfish-actions.pod:37
+#: ../src/guestfs-actions.pod:43
 msgid ""
 msgid ""
-"You don't necessarily need to be root when using libguestfs.  However you "
-"obviously do need sufficient permissions to access the filename for whatever "
-"operations you want to perform (ie. read access if you just want to read the "
-"image or write access if you want to modify the image)."
+"This function is the equivalent of calling C<guestfs_add_drive_opts> with no "
+"optional parameters, so the disk is added writable, with the format being "
+"detected automatically."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:47 ../fish/guestfish-actions.pod:43
+#: ../src/guestfs-actions.pod:47
 msgid ""
 msgid ""
-"This is equivalent to the qemu parameter C<-drive "
-"file=filename,cache=off,if=...>."
+"Automatic detection of the format opens you up to a potential security hole "
+"when dealing with untrusted raw-format images.  See CVE-2010-3851 and "
+"RHBZ#642934.  Specifying the format closes this security hole.  Therefore "
+"you should think about replacing calls to this function with calls to "
+"C<guestfs_add_drive_opts>, and specifying the format."
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../src/guestfs-actions.pod:50 ../fish/guestfish-actions.pod:46
-msgid ""
-"C<cache=off> is omitted in cases where it is not supported by the underlying "
-"filesystem."
+# type: =head2
+#: ../src/guestfs-actions.pod:56
+msgid "guestfs_add_drive_opts"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../src/guestfs-actions.pod:53 ../src/guestfs-actions.pod:82
+# type: verbatim
+#: ../src/guestfs-actions.pod:58
+#, no-wrap
 msgid ""
 msgid ""
-"C<if=...> is set at compile time by the configuration option C<./configure "
-"--with-drive-if=...>.  In the rare case where you might need to change this "
-"at run time, use C<guestfs_add_drive_with_if> or "
-"C<guestfs_add_drive_ro_with_if>."
+" int guestfs_add_drive_opts (guestfs_h *g,\n"
+"\t\tconst char *filename,\n"
+"\t\t...);\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:58 ../src/guestfs-actions.pod:87
+#: ../src/guestfs-actions.pod:62
 msgid ""
 msgid ""
-"Note that this call checks for the existence of C<filename>.  This stops you "
-"from specifying other types of drive which are supported by qemu such as "
-"C<nbd:> and C<http:> URLs.  To specify those, use the general "
-"C<guestfs_config> call instead."
-msgstr ""
-
-# type: =head2
-#: ../src/guestfs-actions.pod:65
-msgid "guestfs_add_drive_ro"
+"You may supply a list of optional arguments to this call.  Use zero or more "
+"of the following pairs of parameters, and terminate the list with C<-1> on "
+"its own.  See L</CALLS WITH OPTIONAL ARGUMENTS>."
 msgstr ""
 
 # type: verbatim
 #: ../src/guestfs-actions.pod:67
 #, no-wrap
 msgid ""
 msgstr ""
 
 # type: verbatim
 #: ../src/guestfs-actions.pod:67
 #, no-wrap
 msgid ""
-" int guestfs_add_drive_ro (guestfs_h *g,\n"
-"\t\tconst char *filename);\n"
+" GUESTFS_ADD_DRIVE_OPTS_READONLY, int readonly,\n"
+" GUESTFS_ADD_DRIVE_OPTS_FORMAT, const char *format,\n"
+" GUESTFS_ADD_DRIVE_OPTS_IFACE, const char *iface,\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:70 ../fish/guestfish-actions.pod:63
-msgid "This adds a drive in snapshot mode, making it effectively read-only."
+#: ../src/guestfs-actions.pod:71 ../fish/guestfish-actions.pod:56
+msgid ""
+"This function adds a virtual machine disk image C<filename> to libguestfs.  "
+"The first time you call this function, the disk appears as C</dev/sda>, the "
+"second time as C</dev/sdb>, and so on."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:73 ../fish/guestfish-actions.pod:66
+#: ../src/guestfs-actions.pod:76 ../fish/guestfish-actions.pod:61
 msgid ""
 msgid ""
-"Note that writes to the device are allowed, and will be seen for the "
-"duration of the guestfs handle, but they are written to a temporary file "
-"which is discarded as soon as the guestfs handle is closed.  We don't "
-"currently have any method to enable changes to be committed, although qemu "
-"can support this."
+"You don't necessarily need to be root when using libguestfs.  However you "
+"obviously do need sufficient permissions to access the filename for whatever "
+"operations you want to perform (ie. read access if you just want to read the "
+"image or write access if you want to modify the image)."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:79 ../fish/guestfish-actions.pod:72
-msgid ""
-"This is equivalent to the qemu parameter C<-drive "
-"file=filename,snapshot=on,if=...>."
+#: ../src/guestfs-actions.pod:82 ../fish/guestfish-actions.pod:67
+msgid "This call checks that C<filename> exists."
 msgstr ""
 
 msgstr ""
 
-# type: =head2
-#: ../src/guestfs-actions.pod:94
+# type: textblock
+#: ../src/guestfs-actions.pod:84 ../fish/guestfish-actions.pod:69
+msgid "The optional arguments are:"
+msgstr ""
+
+# type: =item
+#: ../src/guestfs-actions.pod:88 ../fish/guestfish-actions.pod:73
+msgid "C<readonly>"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:90 ../fish/guestfish-actions.pod:75
+msgid ""
+"If true then the image is treated as read-only.  Writes are still allowed, "
+"but they are stored in a temporary snapshot overlay which is discarded at "
+"the end.  The disk that you add is not modified."
+msgstr ""
+
+# type: =item
+#: ../src/guestfs-actions.pod:94 ../fish/guestfish-actions.pod:79
+msgid "C<format>"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:96
+msgid ""
+"This forces the image format.  If you omit this (or use C<guestfs_add_drive> "
+"or C<guestfs_add_drive_ro>) then the format is automatically detected.  "
+"Possible formats include C<raw> and C<qcow2>."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:100 ../fish/guestfish-actions.pod:85
+msgid ""
+"Automatic detection of the format opens you up to a potential security hole "
+"when dealing with untrusted raw-format images.  See CVE-2010-3851 and "
+"RHBZ#642934.  Specifying the format closes this security hole."
+msgstr ""
+
+# type: =item
+#: ../src/guestfs-actions.pod:105 ../fish/guestfish-actions.pod:90
+msgid "C<iface>"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:107
+msgid ""
+"This rarely-used option lets you emulate the behaviour of the deprecated "
+"C<guestfs_add_drive_with_if> call (q.v.)"
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs-actions.pod:114
+msgid "guestfs_add_drive_opts_va"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs-actions.pod:116
+#, no-wrap
+msgid ""
+" int guestfs_add_drive_opts_va (guestfs_h *g,\n"
+"\t\tconst char *filename,\n"
+"\t\tva_list args);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:120
+msgid "This is the \"va_list variant\" of L</guestfs_add_drive_opts>."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:122 ../src/guestfs-actions.pod:132
+msgid "See L</CALLS WITH OPTIONAL ARGUMENTS>."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs-actions.pod:124
+msgid "guestfs_add_drive_opts_argv"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs-actions.pod:126
+#, no-wrap
+msgid ""
+" int guestfs_add_drive_opts_argv (guestfs_h *g,\n"
+"\t\tconst char *filename,\n"
+"\t\tconst struct guestfs_add_drive_opts_argv *optargs);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:130
+msgid "This is the \"argv variant\" of L</guestfs_add_drive_opts>."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs-actions.pod:134
+msgid "guestfs_add_drive_ro"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs-actions.pod:136
+#, no-wrap
+msgid ""
+" int guestfs_add_drive_ro (guestfs_h *g,\n"
+"\t\tconst char *filename);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:139
+msgid ""
+"This function is the equivalent of calling C<guestfs_add_drive_opts> with "
+"the optional parameter C<GUESTFS_ADD_DRIVE_OPTS_READONLY> set to 1, so the "
+"disk is added read-only, with the format being detected automatically."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs-actions.pod:146
 msgid "guestfs_add_drive_ro_with_if"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_add_drive_ro_with_if"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:96
+#: ../src/guestfs-actions.pod:148
 #, no-wrap
 msgid ""
 " int guestfs_add_drive_ro_with_if (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_add_drive_ro_with_if (guestfs_h *g,\n"
@@ -3590,19 +3997,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:100
+#: ../src/guestfs-actions.pod:152
 msgid ""
 "This is the same as C<guestfs_add_drive_ro> but it allows you to specify the "
 "QEMU interface emulation to use at run time."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This is the same as C<guestfs_add_drive_ro> but it allows you to specify the "
 "QEMU interface emulation to use at run time."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:105
+#: ../src/guestfs-actions.pod:164
 msgid "guestfs_add_drive_with_if"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_add_drive_with_if"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:107
+#: ../src/guestfs-actions.pod:166
 #, no-wrap
 msgid ""
 " int guestfs_add_drive_with_if (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_add_drive_with_if (guestfs_h *g,\n"
@@ -3612,19 +4019,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:111
+#: ../src/guestfs-actions.pod:170
 msgid ""
 "This is the same as C<guestfs_add_drive> but it allows you to specify the "
 "QEMU interface emulation to use at run time."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This is the same as C<guestfs_add_drive> but it allows you to specify the "
 "QEMU interface emulation to use at run time."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:116
+#: ../src/guestfs-actions.pod:182
 msgid "guestfs_aug_clear"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_aug_clear"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:118
+#: ../src/guestfs-actions.pod:184
 #, no-wrap
 msgid ""
 " int guestfs_aug_clear (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_aug_clear (guestfs_h *g,\n"
@@ -3633,19 +4040,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:121 ../fish/guestfish-actions.pod:103
+#: ../src/guestfs-actions.pod:187 ../fish/guestfish-actions.pod:142
 msgid ""
 "Set the value associated with C<path> to C<NULL>.  This is the same as the "
 "L<augtool(1)> C<clear> command."
 msgstr ""
 
 # type: =head2
 msgid ""
 "Set the value associated with C<path> to C<NULL>.  This is the same as the "
 "L<augtool(1)> C<clear> command."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:126
+#: ../src/guestfs-actions.pod:192
 msgid "guestfs_aug_close"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_aug_close"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:128
+#: ../src/guestfs-actions.pod:194
 #, no-wrap
 msgid ""
 " int guestfs_aug_close (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_aug_close (guestfs_h *g);\n"
@@ -3653,7 +4060,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:130
+#: ../src/guestfs-actions.pod:196
 msgid ""
 "Close the current Augeas handle and free up any resources used by it.  After "
 "calling this, you have to call C<guestfs_aug_init> again before you can use "
 msgid ""
 "Close the current Augeas handle and free up any resources used by it.  After "
 "calling this, you have to call C<guestfs_aug_init> again before you can use "
@@ -3661,12 +4068,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:137
+#: ../src/guestfs-actions.pod:203
 msgid "guestfs_aug_defnode"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_aug_defnode"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:139
+#: ../src/guestfs-actions.pod:205
 #, no-wrap
 msgid ""
 " struct guestfs_int_bool *guestfs_aug_defnode (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " struct guestfs_int_bool *guestfs_aug_defnode (guestfs_h *g,\n"
@@ -3677,12 +4084,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:144 ../fish/guestfish-actions.pod:119
+#: ../src/guestfs-actions.pod:210 ../fish/guestfish-actions.pod:158
 msgid "Defines a variable C<name> whose value is the result of evaluating C<expr>."
 msgstr ""
 
 # type: textblock
 msgid "Defines a variable C<name> whose value is the result of evaluating C<expr>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:147
+#: ../src/guestfs-actions.pod:213
 msgid ""
 "If C<expr> evaluates to an empty nodeset, a node is created, equivalent to "
 "calling C<guestfs_aug_set> C<expr>, C<value>.  C<name> will be the nodeset "
 msgid ""
 "If C<expr> evaluates to an empty nodeset, a node is created, equivalent to "
 "calling C<guestfs_aug_set> C<expr>, C<value>.  C<name> will be the nodeset "
@@ -3690,26 +4097,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:151 ../fish/guestfish-actions.pod:126
+#: ../src/guestfs-actions.pod:217 ../fish/guestfish-actions.pod:165
 msgid ""
 "On success this returns a pair containing the number of nodes in the "
 "nodeset, and a boolean flag if a node was created."
 msgstr ""
 
 # type: textblock
 msgid ""
 "On success this returns a pair containing the number of nodes in the "
 "nodeset, and a boolean flag if a node was created."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:155
+#: ../src/guestfs-actions.pod:221
 msgid ""
 "This function returns a C<struct guestfs_int_bool *>, or NULL if there was "
 "an error.  I<The caller must call C<guestfs_free_int_bool> after use>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This function returns a C<struct guestfs_int_bool *>, or NULL if there was "
 "an error.  I<The caller must call C<guestfs_free_int_bool> after use>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:159
+#: ../src/guestfs-actions.pod:225
 msgid "guestfs_aug_defvar"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_aug_defvar"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:161
+#: ../src/guestfs-actions.pod:227
 #, no-wrap
 msgid ""
 " int guestfs_aug_defvar (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_aug_defvar (guestfs_h *g,\n"
@@ -3719,31 +4126,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:165 ../fish/guestfish-actions.pod:134
+#: ../src/guestfs-actions.pod:231 ../fish/guestfish-actions.pod:173
 msgid ""
 "Defines an Augeas variable C<name> whose value is the result of evaluating "
 "C<expr>.  If C<expr> is NULL, then C<name> is undefined."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Defines an Augeas variable C<name> whose value is the result of evaluating "
 "C<expr>.  If C<expr> is NULL, then C<name> is undefined."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:169 ../fish/guestfish-actions.pod:138
+#: ../src/guestfs-actions.pod:235 ../fish/guestfish-actions.pod:177
 msgid ""
 "On success this returns the number of nodes in C<expr>, or C<0> if C<expr> "
 "evaluates to something which is not a nodeset."
 msgstr ""
 
 # type: textblock
 msgid ""
 "On success this returns the number of nodes in C<expr>, or C<0> if C<expr> "
 "evaluates to something which is not a nodeset."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:172 ../src/guestfs-actions.pod:313 ../src/guestfs-actions.pod:467 ../src/guestfs-actions.pod:492 ../src/guestfs-actions.pod:507 ../src/guestfs-actions.pod:523 ../src/guestfs-actions.pod:1013 ../src/guestfs-actions.pod:1328 ../src/guestfs-actions.pod:1510 ../src/guestfs-actions.pod:1591 ../src/guestfs-actions.pod:1622 ../src/guestfs-actions.pod:1665 ../src/guestfs-actions.pod:1682 ../src/guestfs-actions.pod:1907 ../src/guestfs-actions.pod:2119 ../src/guestfs-actions.pod:2137 ../src/guestfs-actions.pod:3475 ../src/guestfs-actions.pod:3582 ../src/guestfs-actions.pod:3913 ../src/guestfs-actions.pod:5012 ../src/guestfs-actions.pod:5336 ../src/guestfs-actions.pod:5346 ../src/guestfs-actions.pod:5356
+#: ../src/guestfs-actions.pod:238 ../src/guestfs-actions.pod:379 ../src/guestfs-actions.pod:533 ../src/guestfs-actions.pod:558 ../src/guestfs-actions.pod:573 ../src/guestfs-actions.pod:589 ../src/guestfs-actions.pod:1107 ../src/guestfs-actions.pod:1422 ../src/guestfs-actions.pod:1604 ../src/guestfs-actions.pod:1685 ../src/guestfs-actions.pod:1716 ../src/guestfs-actions.pod:1759 ../src/guestfs-actions.pod:1776 ../src/guestfs-actions.pod:2001 ../src/guestfs-actions.pod:2213 ../src/guestfs-actions.pod:2231 ../src/guestfs-actions.pod:3569 ../src/guestfs-actions.pod:3676 ../src/guestfs-actions.pod:4030 ../src/guestfs-actions.pod:4053 ../src/guestfs-actions.pod:5152 ../src/guestfs-actions.pod:5502 ../src/guestfs-actions.pod:5512 ../src/guestfs-actions.pod:5522
 msgid "On error this function returns -1."
 msgstr ""
 
 # type: =head2
 msgid "On error this function returns -1."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:174
+#: ../src/guestfs-actions.pod:240
 msgid "guestfs_aug_get"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_aug_get"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:176
+#: ../src/guestfs-actions.pod:242
 #, no-wrap
 msgid ""
 " char *guestfs_aug_get (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_aug_get (guestfs_h *g,\n"
@@ -3752,26 +4159,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:179 ../fish/guestfish-actions.pod:145
+#: ../src/guestfs-actions.pod:245 ../fish/guestfish-actions.pod:184
 msgid ""
 "Look up the value associated with C<path>.  If C<path> matches exactly one "
 "node, the C<value> is returned."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Look up the value associated with C<path>.  If C<path> matches exactly one "
 "node, the C<value> is returned."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:182 ../src/guestfs-actions.pod:610 ../src/guestfs-actions.pod:625 ../src/guestfs-actions.pod:682 ../src/guestfs-actions.pod:695 ../src/guestfs-actions.pod:786 ../src/guestfs-actions.pod:899 ../src/guestfs-actions.pod:928 ../src/guestfs-actions.pod:942 ../src/guestfs-actions.pod:958 ../src/guestfs-actions.pod:1041 ../src/guestfs-actions.pod:1205 ../src/guestfs-actions.pod:1314 ../src/guestfs-actions.pod:1459 ../src/guestfs-actions.pod:1473 ../src/guestfs-actions.pod:1549 ../src/guestfs-actions.pod:1567 ../src/guestfs-actions.pod:1701 ../src/guestfs-actions.pod:1840 ../src/guestfs-actions.pod:2021 ../src/guestfs-actions.pod:2071 ../src/guestfs-actions.pod:2187 ../src/guestfs-actions.pod:2222 ../src/guestfs-actions.pod:2537 ../src/guestfs-actions.pod:2958 ../src/guestfs-actions.pod:3054 ../src/guestfs-actions.pod:3597 ../src/guestfs-actions.pod:3773 ../src/guestfs-actions.pod:3891 ../src/guestfs-actions.pod:4029 ../src/guestfs-actions.pod:4072 ../src/guestfs-actions.pod:4548 ../src/guestfs-actions.pod:4561 ../src/guestfs-actions.pod:4575 ../src/guestfs-actions.pod:4596 ../src/guestfs-actions.pod:5129 ../src/guestfs-actions.pod:5145 ../src/guestfs-actions.pod:5160 ../src/guestfs-actions.pod:5308 ../src/guestfs-actions.pod:5538
+#: ../src/guestfs-actions.pod:248 ../src/guestfs-actions.pod:676 ../src/guestfs-actions.pod:691 ../src/guestfs-actions.pod:748 ../src/guestfs-actions.pod:761 ../src/guestfs-actions.pod:852 ../src/guestfs-actions.pod:965 ../src/guestfs-actions.pod:994 ../src/guestfs-actions.pod:1008 ../src/guestfs-actions.pod:1024 ../src/guestfs-actions.pod:1135 ../src/guestfs-actions.pod:1299 ../src/guestfs-actions.pod:1408 ../src/guestfs-actions.pod:1553 ../src/guestfs-actions.pod:1567 ../src/guestfs-actions.pod:1643 ../src/guestfs-actions.pod:1661 ../src/guestfs-actions.pod:1795 ../src/guestfs-actions.pod:1934 ../src/guestfs-actions.pod:2115 ../src/guestfs-actions.pod:2165 ../src/guestfs-actions.pod:2281 ../src/guestfs-actions.pod:2316 ../src/guestfs-actions.pod:2631 ../src/guestfs-actions.pod:3052 ../src/guestfs-actions.pod:3148 ../src/guestfs-actions.pod:3691 ../src/guestfs-actions.pod:3867 ../src/guestfs-actions.pod:4008 ../src/guestfs-actions.pod:4169 ../src/guestfs-actions.pod:4212 ../src/guestfs-actions.pod:4688 ../src/guestfs-actions.pod:4701 ../src/guestfs-actions.pod:4715 ../src/guestfs-actions.pod:4736 ../src/guestfs-actions.pod:5295 ../src/guestfs-actions.pod:5311 ../src/guestfs-actions.pod:5326 ../src/guestfs-actions.pod:5474 ../src/guestfs-actions.pod:5704
 msgid ""
 "This function returns a string, or NULL on error.  I<The caller must free "
 "the returned string after use>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This function returns a string, or NULL on error.  I<The caller must free "
 "the returned string after use>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:185
+#: ../src/guestfs-actions.pod:251
 msgid "guestfs_aug_init"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_aug_init"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:187
+#: ../src/guestfs-actions.pod:253
 #, no-wrap
 msgid ""
 " int guestfs_aug_init (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_aug_init (guestfs_h *g,\n"
@@ -3781,7 +4188,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:191 ../fish/guestfish-actions.pod:152
+#: ../src/guestfs-actions.pod:257 ../fish/guestfish-actions.pod:191
 msgid ""
 "Create a new Augeas handle for editing configuration files.  If there was "
 "any previous Augeas handle associated with this guestfs session, then it is "
 msgid ""
 "Create a new Augeas handle for editing configuration files.  If there was "
 "any previous Augeas handle associated with this guestfs session, then it is "
@@ -3789,101 +4196,101 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:195
+#: ../src/guestfs-actions.pod:261
 msgid "You must call this before using any other C<guestfs_aug_*> commands."
 msgstr ""
 
 # type: textblock
 msgid "You must call this before using any other C<guestfs_aug_*> commands."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:198 ../fish/guestfish-actions.pod:159
+#: ../src/guestfs-actions.pod:264 ../fish/guestfish-actions.pod:198
 msgid "C<root> is the filesystem root.  C<root> must not be NULL, use C</> instead."
 msgstr ""
 
 # type: textblock
 msgid "C<root> is the filesystem root.  C<root> must not be NULL, use C</> instead."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:201 ../fish/guestfish-actions.pod:162
+#: ../src/guestfs-actions.pod:267 ../fish/guestfish-actions.pod:201
 msgid ""
 "The flags are the same as the flags defined in E<lt>augeas.hE<gt>, the "
 "logical I<or> of the following integers:"
 msgstr ""
 
 # type: =item
 msgid ""
 "The flags are the same as the flags defined in E<lt>augeas.hE<gt>, the "
 "logical I<or> of the following integers:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:207 ../fish/guestfish-actions.pod:168
+#: ../src/guestfs-actions.pod:273 ../fish/guestfish-actions.pod:207
 msgid "C<AUG_SAVE_BACKUP> = 1"
 msgstr ""
 
 # type: textblock
 msgid "C<AUG_SAVE_BACKUP> = 1"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:209 ../fish/guestfish-actions.pod:170
+#: ../src/guestfs-actions.pod:275 ../fish/guestfish-actions.pod:209
 msgid "Keep the original file with a C<.augsave> extension."
 msgstr ""
 
 # type: =item
 msgid "Keep the original file with a C<.augsave> extension."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:211 ../fish/guestfish-actions.pod:172
+#: ../src/guestfs-actions.pod:277 ../fish/guestfish-actions.pod:211
 msgid "C<AUG_SAVE_NEWFILE> = 2"
 msgstr ""
 
 # type: textblock
 msgid "C<AUG_SAVE_NEWFILE> = 2"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:213 ../fish/guestfish-actions.pod:174
+#: ../src/guestfs-actions.pod:279 ../fish/guestfish-actions.pod:213
 msgid ""
 "Save changes into a file with extension C<.augnew>, and do not overwrite "
 "original.  Overrides C<AUG_SAVE_BACKUP>."
 msgstr ""
 
 # type: =item
 msgid ""
 "Save changes into a file with extension C<.augnew>, and do not overwrite "
 "original.  Overrides C<AUG_SAVE_BACKUP>."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:216 ../fish/guestfish-actions.pod:177
+#: ../src/guestfs-actions.pod:282 ../fish/guestfish-actions.pod:216
 msgid "C<AUG_TYPE_CHECK> = 4"
 msgstr ""
 
 # type: textblock
 msgid "C<AUG_TYPE_CHECK> = 4"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:218 ../fish/guestfish-actions.pod:179
+#: ../src/guestfs-actions.pod:284 ../fish/guestfish-actions.pod:218
 msgid "Typecheck lenses (can be expensive)."
 msgstr ""
 
 # type: =item
 msgid "Typecheck lenses (can be expensive)."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:220 ../fish/guestfish-actions.pod:181
+#: ../src/guestfs-actions.pod:286 ../fish/guestfish-actions.pod:220
 msgid "C<AUG_NO_STDINC> = 8"
 msgstr ""
 
 # type: textblock
 msgid "C<AUG_NO_STDINC> = 8"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:222 ../fish/guestfish-actions.pod:183
+#: ../src/guestfs-actions.pod:288 ../fish/guestfish-actions.pod:222
 msgid "Do not use standard load path for modules."
 msgstr ""
 
 # type: =item
 msgid "Do not use standard load path for modules."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:224 ../fish/guestfish-actions.pod:185
+#: ../src/guestfs-actions.pod:290 ../fish/guestfish-actions.pod:224
 msgid "C<AUG_SAVE_NOOP> = 16"
 msgstr ""
 
 # type: textblock
 msgid "C<AUG_SAVE_NOOP> = 16"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:226 ../fish/guestfish-actions.pod:187
+#: ../src/guestfs-actions.pod:292 ../fish/guestfish-actions.pod:226
 msgid "Make save a no-op, just record what would have been changed."
 msgstr ""
 
 # type: =item
 msgid "Make save a no-op, just record what would have been changed."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:228 ../fish/guestfish-actions.pod:189
+#: ../src/guestfs-actions.pod:294 ../fish/guestfish-actions.pod:228
 msgid "C<AUG_NO_LOAD> = 32"
 msgstr ""
 
 # type: textblock
 msgid "C<AUG_NO_LOAD> = 32"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:230
+#: ../src/guestfs-actions.pod:296
 msgid "Do not load the tree in C<guestfs_aug_init>."
 msgstr ""
 
 # type: textblock
 msgid "Do not load the tree in C<guestfs_aug_init>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:234
+#: ../src/guestfs-actions.pod:300
 msgid "To close the handle, you can call C<guestfs_aug_close>."
 msgstr ""
 
 # type: textblock
 msgid "To close the handle, you can call C<guestfs_aug_close>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:236 ../fish/guestfish-actions.pod:197
+#: ../src/guestfs-actions.pod:302 ../fish/guestfish-actions.pod:236
 msgid "To find out more about Augeas, see L<http://augeas.net/>."
 msgstr ""
 
 # type: =head2
 msgid "To find out more about Augeas, see L<http://augeas.net/>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:240
+#: ../src/guestfs-actions.pod:306
 msgid "guestfs_aug_insert"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_aug_insert"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:242
+#: ../src/guestfs-actions.pod:308
 #, no-wrap
 msgid ""
 " int guestfs_aug_insert (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_aug_insert (guestfs_h *g,\n"
@@ -3894,26 +4301,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:247 ../fish/guestfish-actions.pod:203
+#: ../src/guestfs-actions.pod:313 ../fish/guestfish-actions.pod:242
 msgid ""
 "Create a new sibling C<label> for C<path>, inserting it into the tree before "
 "or after C<path> (depending on the boolean flag C<before>)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Create a new sibling C<label> for C<path>, inserting it into the tree before "
 "or after C<path> (depending on the boolean flag C<before>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:251 ../fish/guestfish-actions.pod:207
+#: ../src/guestfs-actions.pod:317 ../fish/guestfish-actions.pod:246
 msgid ""
 "C<path> must match exactly one existing node in the tree, and C<label> must "
 "be a label, ie. not contain C</>, C<*> or end with a bracketed index C<[N]>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "C<path> must match exactly one existing node in the tree, and C<label> must "
 "be a label, ie. not contain C</>, C<*> or end with a bracketed index C<[N]>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:257
+#: ../src/guestfs-actions.pod:323
 msgid "guestfs_aug_load"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_aug_load"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:259
+#: ../src/guestfs-actions.pod:325
 #, no-wrap
 msgid ""
 " int guestfs_aug_load (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_aug_load (guestfs_h *g);\n"
@@ -3921,22 +4328,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:261 ../fish/guestfish-actions.pod:215
+#: ../src/guestfs-actions.pod:327 ../fish/guestfish-actions.pod:254
 msgid "Load files into the tree."
 msgstr ""
 
 # type: textblock
 msgid "Load files into the tree."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:263 ../fish/guestfish-actions.pod:217
+#: ../src/guestfs-actions.pod:329 ../fish/guestfish-actions.pod:256
 msgid "See C<aug_load> in the Augeas documentation for the full gory details."
 msgstr ""
 
 # type: =head2
 msgid "See C<aug_load> in the Augeas documentation for the full gory details."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:268
+#: ../src/guestfs-actions.pod:334
 msgid "guestfs_aug_ls"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_aug_ls"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:270
+#: ../src/guestfs-actions.pod:336
 #, no-wrap
 msgid ""
 " char **guestfs_aug_ls (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_aug_ls (guestfs_h *g,\n"
@@ -3945,14 +4352,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:273
+#: ../src/guestfs-actions.pod:339
 msgid ""
 "This is just a shortcut for listing C<guestfs_aug_match> C<path/*> and "
 "sorting the resulting nodes into alphabetical order."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This is just a shortcut for listing C<guestfs_aug_match> C<path/*> and "
 "sorting the resulting nodes into alphabetical order."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:276 ../src/guestfs-actions.pod:289 ../src/guestfs-actions.pod:417 ../src/guestfs-actions.pod:802 ../src/guestfs-actions.pod:1053 ../src/guestfs-actions.pod:1069 ../src/guestfs-actions.pod:1157 ../src/guestfs-actions.pod:1173 ../src/guestfs-actions.pod:1404 ../src/guestfs-actions.pod:1738 ../src/guestfs-actions.pod:1751 ../src/guestfs-actions.pod:1767 ../src/guestfs-actions.pod:1804 ../src/guestfs-actions.pod:1825 ../src/guestfs-actions.pod:1887 ../src/guestfs-actions.pod:1927 ../src/guestfs-actions.pod:2093 ../src/guestfs-actions.pod:2261 ../src/guestfs-actions.pod:2466 ../src/guestfs-actions.pod:2522 ../src/guestfs-actions.pod:2606 ../src/guestfs-actions.pod:2935 ../src/guestfs-actions.pod:3442 ../src/guestfs-actions.pod:3868 ../src/guestfs-actions.pod:3954 ../src/guestfs-actions.pod:4060 ../src/guestfs-actions.pod:4609 ../src/guestfs-actions.pod:4658 ../src/guestfs-actions.pod:4710 ../src/guestfs-actions.pod:4826 ../src/guestfs-actions.pod:4847 ../src/guestfs-actions.pod:5221 ../src/guestfs-actions.pod:5238 ../src/guestfs-actions.pod:5276 ../src/guestfs-actions.pod:5412 ../src/guestfs-actions.pod:5428 ../src/guestfs-actions.pod:5501 ../src/guestfs-actions.pod:5517 ../src/guestfs-actions.pod:5557 ../src/guestfs-actions.pod:5573
+#: ../src/guestfs-actions.pod:342 ../src/guestfs-actions.pod:355 ../src/guestfs-actions.pod:483 ../src/guestfs-actions.pod:868 ../src/guestfs-actions.pod:1147 ../src/guestfs-actions.pod:1163 ../src/guestfs-actions.pod:1251 ../src/guestfs-actions.pod:1267 ../src/guestfs-actions.pod:1498 ../src/guestfs-actions.pod:1832 ../src/guestfs-actions.pod:1845 ../src/guestfs-actions.pod:1861 ../src/guestfs-actions.pod:1898 ../src/guestfs-actions.pod:1919 ../src/guestfs-actions.pod:1981 ../src/guestfs-actions.pod:2021 ../src/guestfs-actions.pod:2187 ../src/guestfs-actions.pod:2355 ../src/guestfs-actions.pod:2560 ../src/guestfs-actions.pod:2616 ../src/guestfs-actions.pod:2700 ../src/guestfs-actions.pod:3029 ../src/guestfs-actions.pod:3536 ../src/guestfs-actions.pod:3985 ../src/guestfs-actions.pod:4094 ../src/guestfs-actions.pod:4200 ../src/guestfs-actions.pod:4749 ../src/guestfs-actions.pod:4798 ../src/guestfs-actions.pod:4850 ../src/guestfs-actions.pod:4966 ../src/guestfs-actions.pod:4987 ../src/guestfs-actions.pod:5387 ../src/guestfs-actions.pod:5404 ../src/guestfs-actions.pod:5442 ../src/guestfs-actions.pod:5578 ../src/guestfs-actions.pod:5594 ../src/guestfs-actions.pod:5667 ../src/guestfs-actions.pod:5683 ../src/guestfs-actions.pod:5723 ../src/guestfs-actions.pod:5739
 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 "
 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 "
@@ -3960,12 +4367,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:280
+#: ../src/guestfs-actions.pod:346
 msgid "guestfs_aug_match"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_aug_match"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:282
+#: ../src/guestfs-actions.pod:348
 #, no-wrap
 msgid ""
 " char **guestfs_aug_match (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_aug_match (guestfs_h *g,\n"
@@ -3974,7 +4381,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:285 ../fish/guestfish-actions.pod:231
+#: ../src/guestfs-actions.pod:351 ../fish/guestfish-actions.pod:270
 msgid ""
 "Returns a list of paths which match the path expression C<path>.  The "
 "returned paths are sufficiently qualified so that they match exactly one "
 msgid ""
 "Returns a list of paths which match the path expression C<path>.  The "
 "returned paths are sufficiently qualified so that they match exactly one "
@@ -3982,12 +4389,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:293
+#: ../src/guestfs-actions.pod:359
 msgid "guestfs_aug_mv"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_aug_mv"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:295
+#: ../src/guestfs-actions.pod:361
 #, no-wrap
 msgid ""
 " int guestfs_aug_mv (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_aug_mv (guestfs_h *g,\n"
@@ -3997,19 +4404,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:299 ../fish/guestfish-actions.pod:239
+#: ../src/guestfs-actions.pod:365 ../fish/guestfish-actions.pod:278
 msgid ""
 "Move the node C<src> to C<dest>.  C<src> must match exactly one node.  "
 "C<dest> is overwritten if it exists."
 msgstr ""
 
 # type: =head2
 msgid ""
 "Move the node C<src> to C<dest>.  C<src> must match exactly one node.  "
 "C<dest> is overwritten if it exists."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:304
+#: ../src/guestfs-actions.pod:370
 msgid "guestfs_aug_rm"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_aug_rm"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:306
+#: ../src/guestfs-actions.pod:372
 #, no-wrap
 msgid ""
 " int guestfs_aug_rm (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_aug_rm (guestfs_h *g,\n"
@@ -4018,22 +4425,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:309 ../fish/guestfish-actions.pod:246
+#: ../src/guestfs-actions.pod:375 ../fish/guestfish-actions.pod:285
 msgid "Remove C<path> and all of its children."
 msgstr ""
 
 # type: textblock
 msgid "Remove C<path> and all of its children."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:311 ../fish/guestfish-actions.pod:248
+#: ../src/guestfs-actions.pod:377 ../fish/guestfish-actions.pod:287
 msgid "On success this returns the number of entries which were removed."
 msgstr ""
 
 # type: =head2
 msgid "On success this returns the number of entries which were removed."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:315
+#: ../src/guestfs-actions.pod:381
 msgid "guestfs_aug_save"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_aug_save"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:317
+#: ../src/guestfs-actions.pod:383
 #, no-wrap
 msgid ""
 " int guestfs_aug_save (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_aug_save (guestfs_h *g);\n"
@@ -4041,24 +4448,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:319 ../fish/guestfish-actions.pod:254
+#: ../src/guestfs-actions.pod:385 ../fish/guestfish-actions.pod:293
 msgid "This writes all pending changes to disk."
 msgstr ""
 
 # type: textblock
 msgid "This writes all pending changes to disk."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:321
+#: ../src/guestfs-actions.pod:387
 msgid ""
 "The flags which were passed to C<guestfs_aug_init> affect exactly how files "
 "are saved."
 msgstr ""
 
 # type: =head2
 msgid ""
 "The flags which were passed to C<guestfs_aug_init> affect exactly how files "
 "are saved."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:326
+#: ../src/guestfs-actions.pod:392
 msgid "guestfs_aug_set"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_aug_set"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:328
+#: ../src/guestfs-actions.pod:394
 #, no-wrap
 msgid ""
 " int guestfs_aug_set (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_aug_set (guestfs_h *g,\n"
@@ -4068,12 +4475,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:332 ../fish/guestfish-actions.pod:263
+#: ../src/guestfs-actions.pod:398 ../fish/guestfish-actions.pod:302
 msgid "Set the value associated with C<path> to C<val>."
 msgstr ""
 
 # type: textblock
 msgid "Set the value associated with C<path> to C<val>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:334
+#: ../src/guestfs-actions.pod:400
 msgid ""
 "In the Augeas API, it is possible to clear a node by setting the value to "
 "NULL.  Due to an oversight in the libguestfs API you cannot do that with "
 msgid ""
 "In the Augeas API, it is possible to clear a node by setting the value to "
 "NULL.  Due to an oversight in the libguestfs API you cannot do that with "
@@ -4081,12 +4488,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:341
+#: ../src/guestfs-actions.pod:407
 msgid "guestfs_available"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_available"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:343
+#: ../src/guestfs-actions.pod:409
 #, no-wrap
 msgid ""
 " int guestfs_available (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_available (guestfs_h *g,\n"
@@ -4095,7 +4502,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:346 ../fish/guestfish-actions.pod:274
+#: ../src/guestfs-actions.pod:412 ../fish/guestfish-actions.pod:313
 msgid ""
 "This command is used to check the availability of some groups of "
 "functionality in the appliance, which not all builds of the libguestfs "
 msgid ""
 "This command is used to check the availability of some groups of "
 "functionality in the appliance, which not all builds of the libguestfs "
@@ -4103,7 +4510,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:350
+#: ../src/guestfs-actions.pod:416
 msgid ""
 "The libguestfs groups, and the functions that those groups correspond to, "
 "are listed in L<guestfs(3)/AVAILABILITY>.  You can also fetch this list at "
 msgid ""
 "The libguestfs groups, and the functions that those groups correspond to, "
 "are listed in L<guestfs(3)/AVAILABILITY>.  You can also fetch this list at "
@@ -4111,7 +4518,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:355 ../fish/guestfish-actions.pod:283
+#: ../src/guestfs-actions.pod:421 ../fish/guestfish-actions.pod:322
 msgid ""
 "The argument C<groups> is a list of group names, eg: C<[\"inotify\", "
 "\"augeas\"]> would check for the availability of the Linux inotify functions "
 msgid ""
 "The argument C<groups> is a list of group names, eg: C<[\"inotify\", "
 "\"augeas\"]> would check for the availability of the Linux inotify functions "
@@ -4119,43 +4526,43 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:360 ../fish/guestfish-actions.pod:288
+#: ../src/guestfs-actions.pod:426 ../fish/guestfish-actions.pod:327
 msgid "The command returns no error if I<all> requested groups are available."
 msgstr ""
 
 # type: textblock
 msgid "The command returns no error if I<all> requested groups are available."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:362 ../fish/guestfish-actions.pod:290
+#: ../src/guestfs-actions.pod:428 ../fish/guestfish-actions.pod:329
 msgid ""
 "It fails with an error if one or more of the requested groups is unavailable "
 "in the appliance."
 msgstr ""
 
 # type: textblock
 msgid ""
 "It fails with an error if one or more of the requested groups is unavailable "
 "in the appliance."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:365 ../fish/guestfish-actions.pod:293
+#: ../src/guestfs-actions.pod:431 ../fish/guestfish-actions.pod:332
 msgid ""
 "If an unknown group name is included in the list of groups then an error is "
 "always returned."
 msgstr ""
 
 # type: textblock
 msgid ""
 "If an unknown group name is included in the list of groups then an error is "
 "always returned."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:368 ../fish/guestfish-actions.pod:296
+#: ../src/guestfs-actions.pod:434 ../fish/guestfish-actions.pod:335
 msgid "I<Notes:>"
 msgstr ""
 
 # type: textblock
 msgid "I<Notes:>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:374
+#: ../src/guestfs-actions.pod:440
 msgid "You must call C<guestfs_launch> before calling this function."
 msgstr ""
 
 # type: textblock
 msgid "You must call C<guestfs_launch> before calling this function."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:376 ../fish/guestfish-actions.pod:304
+#: ../src/guestfs-actions.pod:442 ../fish/guestfish-actions.pod:343
 msgid ""
 "The reason is because we don't know what groups are supported by the "
 "appliance/daemon until it is running and can be queried."
 msgstr ""
 
 # type: textblock
 msgid ""
 "The reason is because we don't know what groups are supported by the "
 "appliance/daemon until it is running and can be queried."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:382 ../fish/guestfish-actions.pod:310
+#: ../src/guestfs-actions.pod:448 ../fish/guestfish-actions.pod:349
 msgid ""
 "If a group of functions is available, this does not necessarily mean that "
 "they will work.  You still have to check for errors when calling individual "
 msgid ""
 "If a group of functions is available, this does not necessarily mean that "
 "they will work.  You still have to check for errors when calling individual "
@@ -4163,7 +4570,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:389 ../fish/guestfish-actions.pod:317
+#: ../src/guestfs-actions.pod:455 ../fish/guestfish-actions.pod:356
 msgid ""
 "It is usually the job of distro packagers to build complete functionality "
 "into the libguestfs appliance.  Upstream libguestfs, if built from source "
 msgid ""
 "It is usually the job of distro packagers to build complete functionality "
 "into the libguestfs appliance.  Upstream libguestfs, if built from source "
@@ -4171,7 +4578,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:396
+#: ../src/guestfs-actions.pod:462
 msgid ""
 "This call was added in version C<1.0.80>.  In previous versions of "
 "libguestfs all you could do would be to speculatively execute a command to "
 msgid ""
 "This call was added in version C<1.0.80>.  In previous versions of "
 "libguestfs all you could do would be to speculatively execute a command to "
@@ -4179,12 +4586,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:405
+#: ../src/guestfs-actions.pod:471
 msgid "guestfs_available_all_groups"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_available_all_groups"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:407
+#: ../src/guestfs-actions.pod:473
 #, no-wrap
 msgid ""
 " char **guestfs_available_all_groups (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " char **guestfs_available_all_groups (guestfs_h *g);\n"
@@ -4192,7 +4599,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:409
+#: ../src/guestfs-actions.pod:475
 msgid ""
 "This command returns a list of all optional groups that this daemon knows "
 "about.  Note this returns both supported and unsupported groups.  To find "
 msgid ""
 "This command returns a list of all optional groups that this daemon knows "
 "about.  Note this returns both supported and unsupported groups.  To find "
@@ -4201,17 +4608,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:415
+#: ../src/guestfs-actions.pod:481
 msgid "See also C<guestfs_available> and L<guestfs(3)/AVAILABILITY>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_available> and L<guestfs(3)/AVAILABILITY>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:421
+#: ../src/guestfs-actions.pod:487
 msgid "guestfs_base64_in"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_base64_in"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:423
+#: ../src/guestfs-actions.pod:489
 #, no-wrap
 msgid ""
 " int guestfs_base64_in (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_base64_in (guestfs_h *g,\n"
@@ -4221,17 +4628,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:427 ../fish/guestfish-actions.pod:347
+#: ../src/guestfs-actions.pod:493 ../fish/guestfish-actions.pod:386
 msgid "This command uploads base64-encoded data from C<base64file> to C<filename>."
 msgstr ""
 
 # type: =head2
 msgid "This command uploads base64-encoded data from C<base64file> to C<filename>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:432
+#: ../src/guestfs-actions.pod:498
 msgid "guestfs_base64_out"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_base64_out"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:434
+#: ../src/guestfs-actions.pod:500
 #, no-wrap
 msgid ""
 " int guestfs_base64_out (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_base64_out (guestfs_h *g,\n"
@@ -4241,19 +4648,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:438 ../fish/guestfish-actions.pod:356
+#: ../src/guestfs-actions.pod:504 ../fish/guestfish-actions.pod:395
 msgid ""
 "This command downloads the contents of C<filename>, writing it out to local "
 "file C<base64file> encoded as base64."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command downloads the contents of C<filename>, writing it out to local "
 "file C<base64file> encoded as base64."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:443
+#: ../src/guestfs-actions.pod:509
 msgid "guestfs_blockdev_flushbufs"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_blockdev_flushbufs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:445
+#: ../src/guestfs-actions.pod:511
 #, no-wrap
 msgid ""
 " int guestfs_blockdev_flushbufs (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_blockdev_flushbufs (guestfs_h *g,\n"
@@ -4262,22 +4669,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:448 ../fish/guestfish-actions.pod:365
+#: ../src/guestfs-actions.pod:514 ../fish/guestfish-actions.pod:404
 msgid "This tells the kernel to flush internal buffers associated with C<device>."
 msgstr ""
 
 # type: textblock
 msgid "This tells the kernel to flush internal buffers associated with C<device>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:451 ../src/guestfs-actions.pod:465 ../src/guestfs-actions.pod:477 ../src/guestfs-actions.pod:490 ../src/guestfs-actions.pod:505 ../src/guestfs-actions.pod:521 ../src/guestfs-actions.pod:532 ../src/guestfs-actions.pod:547 ../src/guestfs-actions.pod:558 ../src/guestfs-actions.pod:569 ../fish/guestfish-actions.pod:368 ../fish/guestfish-actions.pod:379 ../fish/guestfish-actions.pod:388 ../fish/guestfish-actions.pod:398 ../fish/guestfish-actions.pod:410 ../fish/guestfish-actions.pod:423 ../fish/guestfish-actions.pod:431 ../fish/guestfish-actions.pod:442 ../fish/guestfish-actions.pod:450 ../fish/guestfish-actions.pod:458
+#: ../src/guestfs-actions.pod:517 ../src/guestfs-actions.pod:531 ../src/guestfs-actions.pod:543 ../src/guestfs-actions.pod:556 ../src/guestfs-actions.pod:571 ../src/guestfs-actions.pod:587 ../src/guestfs-actions.pod:598 ../src/guestfs-actions.pod:613 ../src/guestfs-actions.pod:624 ../src/guestfs-actions.pod:635 ../fish/guestfish-actions.pod:407 ../fish/guestfish-actions.pod:418 ../fish/guestfish-actions.pod:427 ../fish/guestfish-actions.pod:437 ../fish/guestfish-actions.pod:449 ../fish/guestfish-actions.pod:462 ../fish/guestfish-actions.pod:470 ../fish/guestfish-actions.pod:481 ../fish/guestfish-actions.pod:489 ../fish/guestfish-actions.pod:497
 msgid "This uses the L<blockdev(8)> command."
 msgstr ""
 
 # type: =head2
 msgid "This uses the L<blockdev(8)> command."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:455
+#: ../src/guestfs-actions.pod:521
 msgid "guestfs_blockdev_getbsz"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_blockdev_getbsz"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:457
+#: ../src/guestfs-actions.pod:523
 #, no-wrap
 msgid ""
 " int guestfs_blockdev_getbsz (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_blockdev_getbsz (guestfs_h *g,\n"
@@ -4286,24 +4693,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:460 ../fish/guestfish-actions.pod:374
+#: ../src/guestfs-actions.pod:526 ../fish/guestfish-actions.pod:413
 msgid "This returns the block size of a device."
 msgstr ""
 
 # type: textblock
 msgid "This returns the block size of a device."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:462 ../src/guestfs-actions.pod:544 ../fish/guestfish-actions.pod:376 ../fish/guestfish-actions.pod:439
+#: ../src/guestfs-actions.pod:528 ../src/guestfs-actions.pod:610 ../fish/guestfish-actions.pod:415 ../fish/guestfish-actions.pod:478
 msgid ""
 "(Note this is different from both I<size in blocks> and I<filesystem block "
 "size>)."
 msgstr ""
 
 # type: =head2
 msgid ""
 "(Note this is different from both I<size in blocks> and I<filesystem block "
 "size>)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:469
+#: ../src/guestfs-actions.pod:535
 msgid "guestfs_blockdev_getro"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_blockdev_getro"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:471
+#: ../src/guestfs-actions.pod:537
 #, no-wrap
 msgid ""
 " int guestfs_blockdev_getro (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_blockdev_getro (guestfs_h *g,\n"
@@ -4312,24 +4719,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:474 ../fish/guestfish-actions.pod:385
+#: ../src/guestfs-actions.pod:540 ../fish/guestfish-actions.pod:424
 msgid ""
 "Returns a boolean indicating if the block device is read-only (true if "
 "read-only, false if not)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Returns a boolean indicating if the block device is read-only (true if "
 "read-only, false if not)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:479 ../src/guestfs-actions.pod:1087 ../src/guestfs-actions.pod:1099 ../src/guestfs-actions.pod:1531 ../src/guestfs-actions.pod:1539 ../src/guestfs-actions.pod:1599 ../src/guestfs-actions.pod:1642 ../src/guestfs-actions.pod:1654 ../src/guestfs-actions.pod:1673 ../src/guestfs-actions.pod:1690 ../src/guestfs-actions.pod:2275 ../src/guestfs-actions.pod:2286 ../src/guestfs-actions.pod:2298 ../src/guestfs-actions.pod:2309 ../src/guestfs-actions.pod:2322 ../src/guestfs-actions.pod:2334 ../src/guestfs-actions.pod:2347 ../src/guestfs-actions.pod:2358 ../src/guestfs-actions.pod:2368 ../src/guestfs-actions.pod:2379 ../src/guestfs-actions.pod:2391 ../src/guestfs-actions.pod:2403 ../src/guestfs-actions.pod:3567
+#: ../src/guestfs-actions.pod:545 ../src/guestfs-actions.pod:1181 ../src/guestfs-actions.pod:1193 ../src/guestfs-actions.pod:1625 ../src/guestfs-actions.pod:1633 ../src/guestfs-actions.pod:1693 ../src/guestfs-actions.pod:1736 ../src/guestfs-actions.pod:1748 ../src/guestfs-actions.pod:1767 ../src/guestfs-actions.pod:1784 ../src/guestfs-actions.pod:2369 ../src/guestfs-actions.pod:2380 ../src/guestfs-actions.pod:2392 ../src/guestfs-actions.pod:2403 ../src/guestfs-actions.pod:2416 ../src/guestfs-actions.pod:2428 ../src/guestfs-actions.pod:2441 ../src/guestfs-actions.pod:2452 ../src/guestfs-actions.pod:2462 ../src/guestfs-actions.pod:2473 ../src/guestfs-actions.pod:2485 ../src/guestfs-actions.pod:2497 ../src/guestfs-actions.pod:3661
 msgid "This function returns a C truth value on success or -1 on error."
 msgstr ""
 
 # type: =head2
 msgid "This function returns a C truth value on success or -1 on error."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:481
+#: ../src/guestfs-actions.pod:547
 msgid "guestfs_blockdev_getsize64"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_blockdev_getsize64"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:483
+#: ../src/guestfs-actions.pod:549
 #, no-wrap
 msgid ""
 " int64_t guestfs_blockdev_getsize64 (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int64_t guestfs_blockdev_getsize64 (guestfs_h *g,\n"
@@ -4338,22 +4745,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:486 ../fish/guestfish-actions.pod:394
+#: ../src/guestfs-actions.pod:552 ../fish/guestfish-actions.pod:433
 msgid "This returns the size of the device in bytes."
 msgstr ""
 
 # type: textblock
 msgid "This returns the size of the device in bytes."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:488
+#: ../src/guestfs-actions.pod:554
 msgid "See also C<guestfs_blockdev_getsz>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_blockdev_getsz>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:494
+#: ../src/guestfs-actions.pod:560
 msgid "guestfs_blockdev_getss"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_blockdev_getss"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:496
+#: ../src/guestfs-actions.pod:562
 #, no-wrap
 msgid ""
 " int guestfs_blockdev_getss (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_blockdev_getss (guestfs_h *g,\n"
@@ -4362,26 +4769,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:499 ../fish/guestfish-actions.pod:404
+#: ../src/guestfs-actions.pod:565 ../fish/guestfish-actions.pod:443
 msgid ""
 "This returns the size of sectors on a block device.  Usually 512, but can be "
 "larger for modern devices."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This returns the size of sectors on a block device.  Usually 512, but can be "
 "larger for modern devices."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:502
+#: ../src/guestfs-actions.pod:568
 msgid ""
 "(Note, this is not the size in sectors, use C<guestfs_blockdev_getsz> for "
 "that)."
 msgstr ""
 
 # type: =head2
 msgid ""
 "(Note, this is not the size in sectors, use C<guestfs_blockdev_getsz> for "
 "that)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:509
+#: ../src/guestfs-actions.pod:575
 msgid "guestfs_blockdev_getsz"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_blockdev_getsz"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:511
+#: ../src/guestfs-actions.pod:577
 #, no-wrap
 msgid ""
 " int64_t guestfs_blockdev_getsz (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int64_t guestfs_blockdev_getsz (guestfs_h *g,\n"
@@ -4390,26 +4797,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:514 ../fish/guestfish-actions.pod:416
+#: ../src/guestfs-actions.pod:580 ../fish/guestfish-actions.pod:455
 msgid ""
 "This returns the size of the device in units of 512-byte sectors (even if "
 "the sectorsize isn't 512 bytes ... weird)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This returns the size of the device in units of 512-byte sectors (even if "
 "the sectorsize isn't 512 bytes ... weird)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:517
+#: ../src/guestfs-actions.pod:583
 msgid ""
 "See also C<guestfs_blockdev_getss> for the real sector size of the device, "
 "and C<guestfs_blockdev_getsize64> for the more useful I<size in bytes>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "See also C<guestfs_blockdev_getss> for the real sector size of the device, "
 "and C<guestfs_blockdev_getsize64> for the more useful I<size in bytes>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:525
+#: ../src/guestfs-actions.pod:591
 msgid "guestfs_blockdev_rereadpt"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_blockdev_rereadpt"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:527
+#: ../src/guestfs-actions.pod:593
 #, no-wrap
 msgid ""
 " int guestfs_blockdev_rereadpt (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_blockdev_rereadpt (guestfs_h *g,\n"
@@ -4418,17 +4825,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:530 ../fish/guestfish-actions.pod:429
+#: ../src/guestfs-actions.pod:596 ../fish/guestfish-actions.pod:468
 msgid "Reread the partition table on C<device>."
 msgstr ""
 
 # type: =head2
 msgid "Reread the partition table on C<device>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:536
+#: ../src/guestfs-actions.pod:602
 msgid "guestfs_blockdev_setbsz"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_blockdev_setbsz"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:538
+#: ../src/guestfs-actions.pod:604
 #, no-wrap
 msgid ""
 " int guestfs_blockdev_setbsz (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_blockdev_setbsz (guestfs_h *g,\n"
@@ -4438,17 +4845,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:542 ../fish/guestfish-actions.pod:437
+#: ../src/guestfs-actions.pod:608 ../fish/guestfish-actions.pod:476
 msgid "This sets the block size of a device."
 msgstr ""
 
 # type: =head2
 msgid "This sets the block size of a device."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:551
+#: ../src/guestfs-actions.pod:617
 msgid "guestfs_blockdev_setro"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_blockdev_setro"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:553
+#: ../src/guestfs-actions.pod:619
 #, no-wrap
 msgid ""
 " int guestfs_blockdev_setro (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_blockdev_setro (guestfs_h *g,\n"
@@ -4457,17 +4864,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:556 ../fish/guestfish-actions.pod:448
+#: ../src/guestfs-actions.pod:622 ../fish/guestfish-actions.pod:487
 msgid "Sets the block device named C<device> to read-only."
 msgstr ""
 
 # type: =head2
 msgid "Sets the block device named C<device> to read-only."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:562
+#: ../src/guestfs-actions.pod:628
 msgid "guestfs_blockdev_setrw"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_blockdev_setrw"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:564
+#: ../src/guestfs-actions.pod:630
 #, no-wrap
 msgid ""
 " int guestfs_blockdev_setrw (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_blockdev_setrw (guestfs_h *g,\n"
@@ -4476,17 +4883,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:567 ../fish/guestfish-actions.pod:456
+#: ../src/guestfs-actions.pod:633 ../fish/guestfish-actions.pod:495
 msgid "Sets the block device named C<device> to read-write."
 msgstr ""
 
 # type: =head2
 msgid "Sets the block device named C<device> to read-write."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:573
+#: ../src/guestfs-actions.pod:639
 msgid "guestfs_case_sensitive_path"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_case_sensitive_path"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:575
+#: ../src/guestfs-actions.pod:641
 #, no-wrap
 msgid ""
 " char *guestfs_case_sensitive_path (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_case_sensitive_path (guestfs_h *g,\n"
@@ -4495,7 +4902,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:578 ../fish/guestfish-actions.pod:464
+#: ../src/guestfs-actions.pod:644 ../fish/guestfish-actions.pod:503
 msgid ""
 "This can be used to resolve case insensitive paths on a filesystem which is "
 "case sensitive.  The use case is to resolve paths which you have read from "
 msgid ""
 "This can be used to resolve case insensitive paths on a filesystem which is "
 "case sensitive.  The use case is to resolve paths which you have read from "
@@ -4503,7 +4910,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:583 ../fish/guestfish-actions.pod:469
+#: ../src/guestfs-actions.pod:649 ../fish/guestfish-actions.pod:508
 msgid ""
 "The command handles a peculiarity of the Linux ntfs-3g filesystem driver "
 "(and probably others), which is that although the underlying filesystem is "
 msgid ""
 "The command handles a peculiarity of the Linux ntfs-3g filesystem driver "
 "(and probably others), which is that although the underlying filesystem is "
@@ -4512,7 +4919,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:588 ../fish/guestfish-actions.pod:474
+#: ../src/guestfs-actions.pod:654 ../fish/guestfish-actions.pod:513
 msgid ""
 "One consequence of this is that special directories such as C<c:\\windows> "
 "may appear as C</WINDOWS> or C</windows> (or other things) depending on the "
 msgid ""
 "One consequence of this is that special directories such as C<c:\\windows> "
 "may appear as C</WINDOWS> or C</windows> (or other things) depending on the "
@@ -4521,21 +4928,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:594 ../fish/guestfish-actions.pod:480
+#: ../src/guestfs-actions.pod:660 ../fish/guestfish-actions.pod:519
 msgid ""
 "Bug or feature? You decide: "
 "L<http://www.tuxera.com/community/ntfs-3g-faq/#posixfilenames1>"
 msgstr ""
 
 # type: textblock
 msgid ""
 "Bug or feature? You decide: "
 "L<http://www.tuxera.com/community/ntfs-3g-faq/#posixfilenames1>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:597 ../fish/guestfish-actions.pod:483
+#: ../src/guestfs-actions.pod:663 ../fish/guestfish-actions.pod:522
 msgid ""
 "This function resolves the true case of each element in the path and returns "
 "the case-sensitive path."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This function resolves the true case of each element in the path and returns "
 "the case-sensitive path."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:600
+#: ../src/guestfs-actions.pod:666
 msgid ""
 "Thus C<guestfs_case_sensitive_path> (\"/Windows/System32\")  might return "
 "C<\"/WINDOWS/system32\"> (the exact return value would depend on details of "
 msgid ""
 "Thus C<guestfs_case_sensitive_path> (\"/Windows/System32\")  might return "
 "C<\"/WINDOWS/system32\"> (the exact return value would depend on details of "
@@ -4543,22 +4950,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:605 ../fish/guestfish-actions.pod:491
+#: ../src/guestfs-actions.pod:671 ../fish/guestfish-actions.pod:530
 msgid "I<Note>: This function does not handle drive names, backslashes etc."
 msgstr ""
 
 # type: textblock
 msgid "I<Note>: This function does not handle drive names, backslashes etc."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:608
+#: ../src/guestfs-actions.pod:674
 msgid "See also C<guestfs_realpath>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_realpath>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:613
+#: ../src/guestfs-actions.pod:679
 msgid "guestfs_cat"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_cat"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:615
+#: ../src/guestfs-actions.pod:681
 #, no-wrap
 msgid ""
 " char *guestfs_cat (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_cat (guestfs_h *g,\n"
@@ -4567,12 +4974,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:618 ../src/guestfs-actions.pod:3944 ../fish/guestfish-actions.pod:500 ../fish/guestfish-actions.pod:3039
+#: ../src/guestfs-actions.pod:684 ../src/guestfs-actions.pod:4084 ../fish/guestfish-actions.pod:539 ../fish/guestfish-actions.pod:3133
 msgid "Return the contents of the file named C<path>."
 msgstr ""
 
 # type: textblock
 msgid "Return the contents of the file named C<path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:620
+#: ../src/guestfs-actions.pod:686
 msgid ""
 "Note that this function cannot correctly handle binary files (specifically, "
 "files containing C<\\0> character which is treated as end of string).  For "
 msgid ""
 "Note that this function cannot correctly handle binary files (specifically, "
 "files containing C<\\0> character which is treated as end of string).  For "
@@ -4581,19 +4988,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:628 ../src/guestfs-actions.pod:789 ../src/guestfs-actions.pod:806 ../src/guestfs-actions.pod:1057 ../src/guestfs-actions.pod:1073 ../src/guestfs-actions.pod:1161 ../src/guestfs-actions.pod:1177 ../src/guestfs-actions.pod:1408 ../src/guestfs-actions.pod:1755 ../src/guestfs-actions.pod:1771 ../src/guestfs-actions.pod:1808 ../src/guestfs-actions.pod:1829 ../src/guestfs-actions.pod:1843 ../src/guestfs-actions.pod:1869 ../src/guestfs-actions.pod:3807 ../src/guestfs-actions.pod:3915 ../src/guestfs-actions.pod:3936 ../src/guestfs-actions.pod:4662 ../src/guestfs-actions.pod:4714 ../src/guestfs-actions.pod:4830 ../src/guestfs-actions.pod:4851 ../src/guestfs-actions.pod:5370 ../src/guestfs-actions.pod:5393 ../src/guestfs-actions.pod:5416 ../src/guestfs-actions.pod:5432 ../src/guestfs-actions.pod:5505 ../src/guestfs-actions.pod:5521 ../src/guestfs-actions.pod:5561 ../src/guestfs-actions.pod:5577 ../fish/guestfish-actions.pod:507 ../fish/guestfish-actions.pod:642 ../fish/guestfish-actions.pod:654 ../fish/guestfish-actions.pod:836 ../fish/guestfish-actions.pod:846 ../fish/guestfish-actions.pod:913 ../fish/guestfish-actions.pod:923 ../fish/guestfish-actions.pod:1118 ../fish/guestfish-actions.pod:1391 ../fish/guestfish-actions.pod:1401 ../fish/guestfish-actions.pod:1429 ../fish/guestfish-actions.pod:1444 ../fish/guestfish-actions.pod:1454 ../fish/guestfish-actions.pod:1473 ../fish/guestfish-actions.pod:2941 ../fish/guestfish-actions.pod:3017 ../fish/guestfish-actions.pod:3032 ../fish/guestfish-actions.pod:3593 ../fish/guestfish-actions.pod:3639 ../fish/guestfish-actions.pod:3724 ../fish/guestfish-actions.pod:3739 ../fish/guestfish-actions.pod:4122 ../fish/guestfish-actions.pod:4140 ../fish/guestfish-actions.pod:4157 ../fish/guestfish-actions.pod:4167 ../fish/guestfish-actions.pod:4215 ../fish/guestfish-actions.pod:4225 ../fish/guestfish-actions.pod:4254 ../fish/guestfish-actions.pod:4264
+#: ../src/guestfs-actions.pod:694 ../src/guestfs-actions.pod:855 ../src/guestfs-actions.pod:872 ../src/guestfs-actions.pod:1151 ../src/guestfs-actions.pod:1167 ../src/guestfs-actions.pod:1255 ../src/guestfs-actions.pod:1271 ../src/guestfs-actions.pod:1502 ../src/guestfs-actions.pod:1849 ../src/guestfs-actions.pod:1865 ../src/guestfs-actions.pod:1902 ../src/guestfs-actions.pod:1923 ../src/guestfs-actions.pod:1937 ../src/guestfs-actions.pod:1963 ../src/guestfs-actions.pod:3901 ../src/guestfs-actions.pod:3924 ../src/guestfs-actions.pod:4032 ../src/guestfs-actions.pod:4055 ../src/guestfs-actions.pod:4076 ../src/guestfs-actions.pod:4802 ../src/guestfs-actions.pod:4854 ../src/guestfs-actions.pod:4970 ../src/guestfs-actions.pod:4991 ../src/guestfs-actions.pod:5536 ../src/guestfs-actions.pod:5559 ../src/guestfs-actions.pod:5582 ../src/guestfs-actions.pod:5598 ../src/guestfs-actions.pod:5671 ../src/guestfs-actions.pod:5687 ../src/guestfs-actions.pod:5727 ../src/guestfs-actions.pod:5743 ../fish/guestfish-actions.pod:546 ../fish/guestfish-actions.pod:681 ../fish/guestfish-actions.pod:693 ../fish/guestfish-actions.pod:894 ../fish/guestfish-actions.pod:904 ../fish/guestfish-actions.pod:971 ../fish/guestfish-actions.pod:981 ../fish/guestfish-actions.pod:1176 ../fish/guestfish-actions.pod:1451 ../fish/guestfish-actions.pod:1461 ../fish/guestfish-actions.pod:1489 ../fish/guestfish-actions.pod:1504 ../fish/guestfish-actions.pod:1514 ../fish/guestfish-actions.pod:1533 ../fish/guestfish-actions.pod:3003 ../fish/guestfish-actions.pod:3018 ../fish/guestfish-actions.pod:3094 ../fish/guestfish-actions.pod:3111 ../fish/guestfish-actions.pod:3126 ../fish/guestfish-actions.pod:3709 ../fish/guestfish-actions.pod:3755 ../fish/guestfish-actions.pod:3840 ../fish/guestfish-actions.pod:3855 ../fish/guestfish-actions.pod:4265 ../fish/guestfish-actions.pod:4283 ../fish/guestfish-actions.pod:4300 ../fish/guestfish-actions.pod:4310 ../fish/guestfish-actions.pod:4358 ../fish/guestfish-actions.pod:4368 ../fish/guestfish-actions.pod:4397 ../fish/guestfish-actions.pod:4407
 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: =head2
 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: =head2
-#: ../src/guestfs-actions.pod:631
+#: ../src/guestfs-actions.pod:697
 msgid "guestfs_checksum"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_checksum"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:633
+#: ../src/guestfs-actions.pod:699
 #, no-wrap
 msgid ""
 " char *guestfs_checksum (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_checksum (guestfs_h *g,\n"
@@ -4603,111 +5010,111 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:637 ../fish/guestfish-actions.pod:514
+#: ../src/guestfs-actions.pod:703 ../fish/guestfish-actions.pod:553
 msgid "This call computes the MD5, SHAx or CRC checksum of the file named C<path>."
 msgstr ""
 
 # type: textblock
 msgid "This call computes the MD5, SHAx or CRC checksum of the file named C<path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:640 ../fish/guestfish-actions.pod:517
+#: ../src/guestfs-actions.pod:706 ../fish/guestfish-actions.pod:556
 msgid ""
 "The type of checksum to compute is given by the C<csumtype> parameter which "
 "must have one of the following values:"
 msgstr ""
 
 # type: =item
 msgid ""
 "The type of checksum to compute is given by the C<csumtype> parameter which "
 "must have one of the following values:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:645 ../fish/guestfish-actions.pod:522
+#: ../src/guestfs-actions.pod:711 ../fish/guestfish-actions.pod:561
 msgid "C<crc>"
 msgstr ""
 
 # type: textblock
 msgid "C<crc>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:647 ../fish/guestfish-actions.pod:524
+#: ../src/guestfs-actions.pod:713 ../fish/guestfish-actions.pod:563
 msgid ""
 "Compute the cyclic redundancy check (CRC) specified by POSIX for the "
 "C<cksum> command."
 msgstr ""
 
 # type: =item
 msgid ""
 "Compute the cyclic redundancy check (CRC) specified by POSIX for the "
 "C<cksum> command."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:650 ../fish/guestfish-actions.pod:527
+#: ../src/guestfs-actions.pod:716 ../fish/guestfish-actions.pod:566
 msgid "C<md5>"
 msgstr ""
 
 # type: textblock
 msgid "C<md5>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:652 ../fish/guestfish-actions.pod:529
+#: ../src/guestfs-actions.pod:718 ../fish/guestfish-actions.pod:568
 msgid "Compute the MD5 hash (using the C<md5sum> program)."
 msgstr ""
 
 # type: =item
 msgid "Compute the MD5 hash (using the C<md5sum> program)."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:654 ../fish/guestfish-actions.pod:531
+#: ../src/guestfs-actions.pod:720 ../fish/guestfish-actions.pod:570
 msgid "C<sha1>"
 msgstr ""
 
 # type: textblock
 msgid "C<sha1>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:656 ../fish/guestfish-actions.pod:533
+#: ../src/guestfs-actions.pod:722 ../fish/guestfish-actions.pod:572
 msgid "Compute the SHA1 hash (using the C<sha1sum> program)."
 msgstr ""
 
 # type: =item
 msgid "Compute the SHA1 hash (using the C<sha1sum> program)."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:658 ../fish/guestfish-actions.pod:535
+#: ../src/guestfs-actions.pod:724 ../fish/guestfish-actions.pod:574
 msgid "C<sha224>"
 msgstr ""
 
 # type: textblock
 msgid "C<sha224>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:660 ../fish/guestfish-actions.pod:537
+#: ../src/guestfs-actions.pod:726 ../fish/guestfish-actions.pod:576
 msgid "Compute the SHA224 hash (using the C<sha224sum> program)."
 msgstr ""
 
 # type: =item
 msgid "Compute the SHA224 hash (using the C<sha224sum> program)."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:662 ../fish/guestfish-actions.pod:539
+#: ../src/guestfs-actions.pod:728 ../fish/guestfish-actions.pod:578
 msgid "C<sha256>"
 msgstr ""
 
 # type: textblock
 msgid "C<sha256>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:664 ../fish/guestfish-actions.pod:541
+#: ../src/guestfs-actions.pod:730 ../fish/guestfish-actions.pod:580
 msgid "Compute the SHA256 hash (using the C<sha256sum> program)."
 msgstr ""
 
 # type: =item
 msgid "Compute the SHA256 hash (using the C<sha256sum> program)."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:666 ../fish/guestfish-actions.pod:543
+#: ../src/guestfs-actions.pod:732 ../fish/guestfish-actions.pod:582
 msgid "C<sha384>"
 msgstr ""
 
 # type: textblock
 msgid "C<sha384>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:668 ../fish/guestfish-actions.pod:545
+#: ../src/guestfs-actions.pod:734 ../fish/guestfish-actions.pod:584
 msgid "Compute the SHA384 hash (using the C<sha384sum> program)."
 msgstr ""
 
 # type: =item
 msgid "Compute the SHA384 hash (using the C<sha384sum> program)."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:670 ../fish/guestfish-actions.pod:547
+#: ../src/guestfs-actions.pod:736 ../fish/guestfish-actions.pod:586
 msgid "C<sha512>"
 msgstr ""
 
 # type: textblock
 msgid "C<sha512>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:672 ../fish/guestfish-actions.pod:549
+#: ../src/guestfs-actions.pod:738 ../fish/guestfish-actions.pod:588
 msgid "Compute the SHA512 hash (using the C<sha512sum> program)."
 msgstr ""
 
 # type: textblock
 msgid "Compute the SHA512 hash (using the C<sha512sum> program)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:676 ../fish/guestfish-actions.pod:553
+#: ../src/guestfs-actions.pod:742 ../fish/guestfish-actions.pod:592
 msgid "The checksum is returned as a printable string."
 msgstr ""
 
 # type: textblock
 msgid "The checksum is returned as a printable string."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:678
+#: ../src/guestfs-actions.pod:744
 msgid "To get the checksum for a device, use C<guestfs_checksum_device>."
 msgstr ""
 
 # type: textblock
 msgid "To get the checksum for a device, use C<guestfs_checksum_device>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:680
+#: ../src/guestfs-actions.pod:746
 msgid "To get the checksums for many files, use C<guestfs_checksums_out>."
 msgstr ""
 
 # type: =head2
 msgid "To get the checksums for many files, use C<guestfs_checksums_out>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:685
+#: ../src/guestfs-actions.pod:751
 msgid "guestfs_checksum_device"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_checksum_device"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:687
+#: ../src/guestfs-actions.pod:753
 #, no-wrap
 msgid ""
 " char *guestfs_checksum_device (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_checksum_device (guestfs_h *g,\n"
@@ -4717,7 +5124,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:691
+#: ../src/guestfs-actions.pod:757
 msgid ""
 "This call computes the MD5, SHAx or CRC checksum of the contents of the "
 "device named C<device>.  For the types of checksums supported see the "
 msgid ""
 "This call computes the MD5, SHAx or CRC checksum of the contents of the "
 "device named C<device>.  For the types of checksums supported see the "
@@ -4725,12 +5132,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:698
+#: ../src/guestfs-actions.pod:764
 msgid "guestfs_checksums_out"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_checksums_out"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:700
+#: ../src/guestfs-actions.pod:766
 #, no-wrap
 msgid ""
 " int guestfs_checksums_out (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_checksums_out (guestfs_h *g,\n"
@@ -4741,14 +5148,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:705 ../fish/guestfish-actions.pod:571
+#: ../src/guestfs-actions.pod:771 ../fish/guestfish-actions.pod:610
 msgid ""
 "This command computes the checksums of all regular files in C<directory> and "
 "then emits a list of those checksums to the local output file C<sumsfile>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command computes the checksums of all regular files in C<directory> and "
 "then emits a list of those checksums to the local output file C<sumsfile>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:709 ../fish/guestfish-actions.pod:575
+#: ../src/guestfs-actions.pod:775 ../fish/guestfish-actions.pod:614
 msgid ""
 "This can be used for verifying the integrity of a virtual machine.  However "
 "to be properly secure you should pay attention to the output of the checksum "
 msgid ""
 "This can be used for verifying the integrity of a virtual machine.  However "
 "to be properly secure you should pay attention to the output of the checksum "
@@ -4758,12 +5165,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:719
+#: ../src/guestfs-actions.pod:785
 msgid "guestfs_chmod"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_chmod"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:721
+#: ../src/guestfs-actions.pod:787
 #, no-wrap
 msgid ""
 " int guestfs_chmod (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_chmod (guestfs_h *g,\n"
@@ -4773,14 +5180,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:725 ../fish/guestfish-actions.pod:589
+#: ../src/guestfs-actions.pod:791 ../fish/guestfish-actions.pod:628
 msgid ""
 "Change the mode (permissions) of C<path> to C<mode>.  Only numeric modes are "
 "supported."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Change the mode (permissions) of C<path> to C<mode>.  Only numeric modes are "
 "supported."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:728 ../fish/guestfish-actions.pod:592
+#: ../src/guestfs-actions.pod:794 ../fish/guestfish-actions.pod:631
 msgid ""
 "I<Note>: When using this command from guestfish, C<mode> by default would be "
 "decimal, unless you prefix it with C<0> to get octal, ie. use C<0700> not "
 msgid ""
 "I<Note>: When using this command from guestfish, C<mode> by default would be "
 "decimal, unless you prefix it with C<0> to get octal, ie. use C<0700> not "
@@ -4788,17 +5195,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:732 ../src/guestfs-actions.pod:3150 ../src/guestfs-actions.pod:3238 ../src/guestfs-actions.pod:3254 ../src/guestfs-actions.pod:3270 ../fish/guestfish-actions.pod:596 ../fish/guestfish-actions.pod:2446 ../fish/guestfish-actions.pod:2516 ../fish/guestfish-actions.pod:2526 ../fish/guestfish-actions.pod:2536
+#: ../src/guestfs-actions.pod:798 ../src/guestfs-actions.pod:3244 ../src/guestfs-actions.pod:3332 ../src/guestfs-actions.pod:3348 ../src/guestfs-actions.pod:3364 ../fish/guestfish-actions.pod:635 ../fish/guestfish-actions.pod:2508 ../fish/guestfish-actions.pod:2578 ../fish/guestfish-actions.pod:2588 ../fish/guestfish-actions.pod:2598
 msgid "The mode actually set is affected by the umask."
 msgstr ""
 
 # type: =head2
 msgid "The mode actually set is affected by the umask."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:736
+#: ../src/guestfs-actions.pod:802
 msgid "guestfs_chown"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_chown"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:738
+#: ../src/guestfs-actions.pod:804
 #, no-wrap
 msgid ""
 " int guestfs_chown (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_chown (guestfs_h *g,\n"
@@ -4809,12 +5216,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:743 ../fish/guestfish-actions.pod:602
+#: ../src/guestfs-actions.pod:809 ../fish/guestfish-actions.pod:641
 msgid "Change the file owner to C<owner> and group to C<group>."
 msgstr ""
 
 # type: textblock
 msgid "Change the file owner to C<owner> and group to C<group>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:745 ../src/guestfs-actions.pod:2436 ../fish/guestfish-actions.pod:604 ../fish/guestfish-actions.pod:1937
+#: ../src/guestfs-actions.pod:811 ../src/guestfs-actions.pod:2530 ../fish/guestfish-actions.pod:643 ../fish/guestfish-actions.pod:1999
 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 "
 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 "
@@ -4822,12 +5229,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:751
+#: ../src/guestfs-actions.pod:817
 msgid "guestfs_command"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_command"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:753
+#: ../src/guestfs-actions.pod:819
 #, no-wrap
 msgid ""
 " char *guestfs_command (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_command (guestfs_h *g,\n"
@@ -4836,7 +5243,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:756 ../fish/guestfish-actions.pod:612
+#: ../src/guestfs-actions.pod:822 ../fish/guestfish-actions.pod:651
 msgid ""
 "This call runs a command from the guest filesystem.  The filesystem must be "
 "mounted, and must contain a compatible operating system (ie. something "
 msgid ""
 "This call runs a command from the guest filesystem.  The filesystem must be "
 "mounted, and must contain a compatible operating system (ie. something "
@@ -4844,7 +5251,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:761
+#: ../src/guestfs-actions.pod:827
 msgid ""
 "The single parameter is an argv-style list of arguments.  The first element "
 "is the name of the program to run.  Subsequent elements are parameters.  The "
 msgid ""
 "The single parameter is an argv-style list of arguments.  The first element "
 "is the name of the program to run.  Subsequent elements are parameters.  The "
@@ -4854,12 +5261,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:768 ../fish/guestfish-actions.pod:624
+#: ../src/guestfs-actions.pod:834 ../fish/guestfish-actions.pod:663
 msgid "The return value is anything printed to I<stdout> by the command."
 msgstr ""
 
 # type: textblock
 msgid "The return value is anything printed to I<stdout> by the command."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:771 ../fish/guestfish-actions.pod:627
+#: ../src/guestfs-actions.pod:837 ../fish/guestfish-actions.pod:666
 msgid ""
 "If the command returns a non-zero exit status, then this function returns an "
 "error message.  The error message string is the content of I<stderr> from "
 msgid ""
 "If the command returns a non-zero exit status, then this function returns an "
 "error message.  The error message string is the content of I<stderr> from "
@@ -4867,7 +5274,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:775 ../fish/guestfish-actions.pod:631
+#: ../src/guestfs-actions.pod:841 ../fish/guestfish-actions.pod:670
 msgid ""
 "The C<$PATH> environment variable will contain at least C</usr/bin> and "
 "C</bin>.  If you require a program from another location, you should provide "
 msgid ""
 "The C<$PATH> environment variable will contain at least C</usr/bin> and "
 "C</bin>.  If you require a program from another location, you should provide "
@@ -4875,7 +5282,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:780 ../fish/guestfish-actions.pod:636
+#: ../src/guestfs-actions.pod:846 ../fish/guestfish-actions.pod:675
 msgid ""
 "Shared libraries and data files required by the program must be available on "
 "filesystems which are mounted in the correct places.  It is the caller's "
 msgid ""
 "Shared libraries and data files required by the program must be available on "
 "filesystems which are mounted in the correct places.  It is the caller's "
@@ -4884,12 +5291,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:792
+#: ../src/guestfs-actions.pod:858
 msgid "guestfs_command_lines"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_command_lines"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:794
+#: ../src/guestfs-actions.pod:860
 #, no-wrap
 msgid ""
 " char **guestfs_command_lines (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_command_lines (guestfs_h *g,\n"
@@ -4898,24 +5305,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:797
+#: ../src/guestfs-actions.pod:863
 msgid ""
 "This is the same as C<guestfs_command>, but splits the result into a list of "
 "lines."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This is the same as C<guestfs_command>, but splits the result into a list of "
 "lines."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:800
+#: ../src/guestfs-actions.pod:866
 msgid "See also: C<guestfs_sh_lines>"
 msgstr ""
 
 # type: =head2
 msgid "See also: C<guestfs_sh_lines>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:809
+#: ../src/guestfs-actions.pod:875
 msgid "guestfs_config"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_config"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:811
+#: ../src/guestfs-actions.pod:877
 #, no-wrap
 msgid ""
 " int guestfs_config (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_config (guestfs_h *g,\n"
@@ -4925,7 +5332,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:815 ../fish/guestfish-actions.pod:661
+#: ../src/guestfs-actions.pod:881 ../fish/guestfish-actions.pod:700
 msgid ""
 "This can be used to add arbitrary qemu command line parameters of the form "
 "C<-param value>.  Actually it's not quite arbitrary - we prevent you from "
 msgid ""
 "This can be used to add arbitrary qemu command line parameters of the form "
 "C<-param value>.  Actually it's not quite arbitrary - we prevent you from "
@@ -4933,22 +5340,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:820 ../fish/guestfish-actions.pod:666
+#: ../src/guestfs-actions.pod:886 ../fish/guestfish-actions.pod:705
 msgid "The first character of C<param> string must be a C<-> (dash)."
 msgstr ""
 
 # type: textblock
 msgid "The first character of C<param> string must be a C<-> (dash)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:822 ../fish/guestfish-actions.pod:668
+#: ../src/guestfs-actions.pod:888 ../fish/guestfish-actions.pod:707
 msgid "C<value> can be NULL."
 msgstr ""
 
 # type: =head2
 msgid "C<value> can be NULL."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:826
+#: ../src/guestfs-actions.pod:892
 msgid "guestfs_copy_size"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_copy_size"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:828
+#: ../src/guestfs-actions.pod:894
 #, no-wrap
 msgid ""
 " int guestfs_copy_size (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_copy_size (guestfs_h *g,\n"
@@ -4959,21 +5366,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:833 ../fish/guestfish-actions.pod:674
+#: ../src/guestfs-actions.pod:899 ../fish/guestfish-actions.pod:713
 msgid ""
 "This command copies exactly C<size> bytes from one source device or file "
 "C<src> to another destination device or file C<dest>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command copies exactly C<size> bytes from one source device or file "
 "C<src> to another destination device or file C<dest>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:836 ../fish/guestfish-actions.pod:677
+#: ../src/guestfs-actions.pod:902 ../fish/guestfish-actions.pod:716
 msgid ""
 "Note this will fail if the source is too short or if the destination is not "
 "large enough."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Note this will fail if the source is too short or if the destination is not "
 "large enough."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:841 ../src/guestfs-actions.pod:976 ../src/guestfs-actions.pod:1348 ../src/guestfs-actions.pod:1367 ../src/guestfs-actions.pod:5450 ../src/guestfs-actions.pod:5466
+#: ../src/guestfs-actions.pod:907 ../src/guestfs-actions.pod:1042 ../src/guestfs-actions.pod:1070 ../src/guestfs-actions.pod:1442 ../src/guestfs-actions.pod:1461 ../src/guestfs-actions.pod:5616 ../src/guestfs-actions.pod:5632
 msgid ""
 "This long-running command can generate progress notification messages so "
 "that the caller can display a progress bar or indicator.  To receive these "
 msgid ""
 "This long-running command can generate progress notification messages so "
 "that the caller can display a progress bar or indicator.  To receive these "
@@ -4982,12 +5389,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:846
+#: ../src/guestfs-actions.pod:912
 msgid "guestfs_cp"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_cp"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:848
+#: ../src/guestfs-actions.pod:914
 #, no-wrap
 msgid ""
 " int guestfs_cp (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_cp (guestfs_h *g,\n"
@@ -4997,19 +5404,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:852 ../fish/guestfish-actions.pod:684
+#: ../src/guestfs-actions.pod:918 ../fish/guestfish-actions.pod:723
 msgid ""
 "This copies a file from C<src> to C<dest> where C<dest> is either a "
 "destination filename or destination directory."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This copies a file from C<src> to C<dest> where C<dest> is either a "
 "destination filename or destination directory."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:857
+#: ../src/guestfs-actions.pod:923
 msgid "guestfs_cp_a"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_cp_a"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:859
+#: ../src/guestfs-actions.pod:925
 #, no-wrap
 msgid ""
 " int guestfs_cp_a (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_cp_a (guestfs_h *g,\n"
@@ -5019,19 +5426,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:863 ../fish/guestfish-actions.pod:691
+#: ../src/guestfs-actions.pod:929 ../fish/guestfish-actions.pod:730
 msgid ""
 "This copies a file or directory from C<src> to C<dest> recursively using the "
 "C<cp -a> command."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This copies a file or directory from C<src> to C<dest> recursively using the "
 "C<cp -a> command."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:868
+#: ../src/guestfs-actions.pod:934
 msgid "guestfs_dd"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_dd"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:870
+#: ../src/guestfs-actions.pod:936
 #, no-wrap
 msgid ""
 " int guestfs_dd (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_dd (guestfs_h *g,\n"
@@ -5041,7 +5448,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:874 ../fish/guestfish-actions.pod:698
+#: ../src/guestfs-actions.pod:940 ../fish/guestfish-actions.pod:737
 msgid ""
 "This command copies from one source device or file C<src> to another "
 "destination device or file C<dest>.  Normally you would use this to copy to "
 msgid ""
 "This command copies from one source device or file C<src> to another "
 "destination device or file C<dest>.  Normally you would use this to copy to "
@@ -5049,7 +5456,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:879
+#: ../src/guestfs-actions.pod:945
 msgid ""
 "If the destination is a device, it must be as large or larger than the "
 "source file or device, otherwise the copy will fail.  This command cannot do "
 msgid ""
 "If the destination is a device, it must be as large or larger than the "
 "source file or device, otherwise the copy will fail.  This command cannot do "
@@ -5057,12 +5464,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:885
+#: ../src/guestfs-actions.pod:951
 msgid "guestfs_debug"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_debug"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:887
+#: ../src/guestfs-actions.pod:953
 #, no-wrap
 msgid ""
 " char *guestfs_debug (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_debug (guestfs_h *g,\n"
@@ -5072,26 +5479,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:891
+#: ../src/guestfs-actions.pod:957
 msgid ""
 "The C<guestfs_debug> command exposes some internals of C<guestfsd> (the "
 "guestfs daemon) that runs inside the qemu subprocess."
 msgstr ""
 
 # type: textblock
 msgid ""
 "The C<guestfs_debug> command exposes some internals of C<guestfsd> (the "
 "guestfs daemon) that runs inside the qemu subprocess."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:895 ../fish/guestfish-actions.pod:715
+#: ../src/guestfs-actions.pod:961 ../fish/guestfish-actions.pod:754
 msgid ""
 "There is no comprehensive help for this command.  You have to look at the "
 "file C<daemon/debug.c> in the libguestfs source to find out what you can do."
 msgstr ""
 
 # type: =head2
 msgid ""
 "There is no comprehensive help for this command.  You have to look at the "
 "file C<daemon/debug.c> in the libguestfs source to find out what you can do."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:902
+#: ../src/guestfs-actions.pod:968
 msgid "guestfs_debug_upload"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_debug_upload"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:904
+#: ../src/guestfs-actions.pod:970
 #, no-wrap
 msgid ""
 " int guestfs_debug_upload (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_debug_upload (guestfs_h *g,\n"
@@ -5102,26 +5509,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:909
+#: ../src/guestfs-actions.pod:975
 msgid ""
 "The C<guestfs_debug_upload> command uploads a file to the libguestfs "
 "appliance."
 msgstr ""
 
 # type: textblock
 msgid ""
 "The C<guestfs_debug_upload> command uploads a file to the libguestfs "
 "appliance."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:912 ../fish/guestfish-actions.pod:726
+#: ../src/guestfs-actions.pod:978 ../fish/guestfish-actions.pod:765
 msgid ""
 "There is no comprehensive help for this command.  You have to look at the "
 "file C<daemon/debug.c> in the libguestfs source to find out what it is for."
 msgstr ""
 
 # type: =head2
 msgid ""
 "There is no comprehensive help for this command.  You have to look at the "
 "file C<daemon/debug.c> in the libguestfs source to find out what it is for."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:918
+#: ../src/guestfs-actions.pod:984
 msgid "guestfs_df"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_df"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:920
+#: ../src/guestfs-actions.pod:986
 #, no-wrap
 msgid ""
 " char *guestfs_df (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " char *guestfs_df (guestfs_h *g);\n"
@@ -5129,12 +5536,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:922 ../fish/guestfish-actions.pod:736
+#: ../src/guestfs-actions.pod:988 ../fish/guestfish-actions.pod:775
 msgid "This command runs the C<df> command to report disk space used."
 msgstr ""
 
 # type: textblock
 msgid "This command runs the C<df> command to report disk space used."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:924 ../src/guestfs-actions.pod:938 ../fish/guestfish-actions.pod:738 ../fish/guestfish-actions.pod:749
+#: ../src/guestfs-actions.pod:990 ../src/guestfs-actions.pod:1004 ../fish/guestfish-actions.pod:777 ../fish/guestfish-actions.pod:788
 msgid ""
 "This command is mostly useful for interactive sessions.  It is I<not> "
 "intended that you try to parse the output string.  Use C<statvfs> from "
 msgid ""
 "This command is mostly useful for interactive sessions.  It is I<not> "
 "intended that you try to parse the output string.  Use C<statvfs> from "
@@ -5142,12 +5549,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:931
+#: ../src/guestfs-actions.pod:997
 msgid "guestfs_df_h"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_df_h"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:933
+#: ../src/guestfs-actions.pod:999
 #, no-wrap
 msgid ""
 " char *guestfs_df_h (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " char *guestfs_df_h (guestfs_h *g);\n"
@@ -5155,19 +5562,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:935 ../fish/guestfish-actions.pod:746
+#: ../src/guestfs-actions.pod:1001 ../fish/guestfish-actions.pod:785
 msgid ""
 "This command runs the C<df -h> command to report disk space used in "
 "human-readable format."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command runs the C<df -h> command to report disk space used in "
 "human-readable format."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:945
+#: ../src/guestfs-actions.pod:1011
 msgid "guestfs_dmesg"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_dmesg"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:947
+#: ../src/guestfs-actions.pod:1013
 #, no-wrap
 msgid ""
 " char *guestfs_dmesg (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " char *guestfs_dmesg (guestfs_h *g);\n"
@@ -5175,14 +5582,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:949 ../fish/guestfish-actions.pod:757
+#: ../src/guestfs-actions.pod:1015 ../fish/guestfish-actions.pod:796
 msgid ""
 "This returns the kernel messages (C<dmesg> output) from the guest kernel.  "
 "This is sometimes useful for extended debugging of problems."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This returns the kernel messages (C<dmesg> output) from the guest kernel.  "
 "This is sometimes useful for extended debugging of problems."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:953
+#: ../src/guestfs-actions.pod:1019
 msgid ""
 "Another way to get the same information is to enable verbose messages with "
 "C<guestfs_set_verbose> or by setting the environment variable "
 msgid ""
 "Another way to get the same information is to enable verbose messages with "
 "C<guestfs_set_verbose> or by setting the environment variable "
@@ -5190,12 +5597,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:961
+#: ../src/guestfs-actions.pod:1027
 msgid "guestfs_download"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_download"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:963
+#: ../src/guestfs-actions.pod:1029
 #, no-wrap
 msgid ""
 " int guestfs_download (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_download (guestfs_h *g,\n"
@@ -5205,29 +5612,66 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:967 ../fish/guestfish-actions.pod:770
+#: ../src/guestfs-actions.pod:1033 ../src/guestfs-actions.pod:1055 ../fish/guestfish-actions.pod:809 ../fish/guestfish-actions.pod:822
 msgid ""
 "Download file C<remotefilename> and save it as C<filename> on the local "
 "machine."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Download file C<remotefilename> and save it as C<filename> on the local "
 "machine."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:970 ../src/guestfs-actions.pod:5044 ../fish/guestfish-actions.pod:773 ../fish/guestfish-actions.pod:3893
+#: ../src/guestfs-actions.pod:1036 ../src/guestfs-actions.pod:5184 ../fish/guestfish-actions.pod:812 ../fish/guestfish-actions.pod:4013
 msgid "C<filename> can also be a named pipe."
 msgstr ""
 
 # type: textblock
 msgid "C<filename> can also be a named pipe."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:972
+#: ../src/guestfs-actions.pod:1038
 msgid "See also C<guestfs_upload>, C<guestfs_cat>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_upload>, C<guestfs_cat>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:981
+#: ../src/guestfs-actions.pod:1047
+msgid "guestfs_download_offset"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs-actions.pod:1049
+#, no-wrap
+msgid ""
+" int guestfs_download_offset (guestfs_h *g,\n"
+"\t\tconst char *remotefilename,\n"
+"\t\tconst char *filename,\n"
+"\t\tint64_t offset,\n"
+"\t\tint64_t size);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:1058 ../fish/guestfish-actions.pod:825
+msgid ""
+"C<remotefilename> is read for C<size> bytes starting at C<offset> (this "
+"region must be within the file or device)."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:1061
+msgid ""
+"Note that there is no limit on the amount of data that can be downloaded "
+"with this call, unlike with C<guestfs_pread>, and this call always reads the "
+"full amount unless an error occurs."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:1066
+msgid "See also C<guestfs_download>, C<guestfs_pread>."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs-actions.pod:1075
 msgid "guestfs_drop_caches"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_drop_caches"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:983
+#: ../src/guestfs-actions.pod:1077
 #, no-wrap
 msgid ""
 " int guestfs_drop_caches (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_drop_caches (guestfs_h *g,\n"
@@ -5236,7 +5680,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:986 ../fish/guestfish-actions.pod:783
+#: ../src/guestfs-actions.pod:1080 ../fish/guestfish-actions.pod:841
 msgid ""
 "This instructs the guest kernel to drop its page cache, and/or dentries and "
 "inode caches.  The parameter C<whattodrop> tells the kernel what precisely "
 msgid ""
 "This instructs the guest kernel to drop its page cache, and/or dentries and "
 "inode caches.  The parameter C<whattodrop> tells the kernel what precisely "
@@ -5244,24 +5688,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:991 ../fish/guestfish-actions.pod:788
+#: ../src/guestfs-actions.pod:1085 ../fish/guestfish-actions.pod:846
 msgid "Setting C<whattodrop> to 3 should drop everything."
 msgstr ""
 
 # type: textblock
 msgid "Setting C<whattodrop> to 3 should drop everything."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:993 ../fish/guestfish-actions.pod:790
+#: ../src/guestfs-actions.pod:1087 ../fish/guestfish-actions.pod:848
 msgid ""
 "This automatically calls L<sync(2)> before the operation, so that the "
 "maximum guest memory is freed."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This automatically calls L<sync(2)> before the operation, so that the "
 "maximum guest memory is freed."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:998
+#: ../src/guestfs-actions.pod:1092
 msgid "guestfs_du"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_du"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1000
+#: ../src/guestfs-actions.pod:1094
 #, no-wrap
 msgid ""
 " int64_t guestfs_du (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int64_t guestfs_du (guestfs_h *g,\n"
@@ -5270,14 +5714,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1003 ../fish/guestfish-actions.pod:797
+#: ../src/guestfs-actions.pod:1097 ../fish/guestfish-actions.pod:855
 msgid ""
 "This command runs the C<du -s> command to estimate file space usage for "
 "C<path>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command runs the C<du -s> command to estimate file space usage for "
 "C<path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1006 ../fish/guestfish-actions.pod:800
+#: ../src/guestfs-actions.pod:1100 ../fish/guestfish-actions.pod:858
 msgid ""
 "C<path> can be a file or a directory.  If C<path> is a directory then the "
 "estimate includes the contents of the directory and all subdirectories "
 msgid ""
 "C<path> can be a file or a directory.  If C<path> is a directory then the "
 "estimate includes the contents of the directory and all subdirectories "
@@ -5285,17 +5729,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1010 ../fish/guestfish-actions.pod:804
+#: ../src/guestfs-actions.pod:1104 ../fish/guestfish-actions.pod:862
 msgid "The result is the estimated size in I<kilobytes> (ie. units of 1024 bytes)."
 msgstr ""
 
 # type: =head2
 msgid "The result is the estimated size in I<kilobytes> (ie. units of 1024 bytes)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1015
+#: ../src/guestfs-actions.pod:1109
 msgid "guestfs_e2fsck_f"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_e2fsck_f"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1017
+#: ../src/guestfs-actions.pod:1111
 #, no-wrap
 msgid ""
 " int guestfs_e2fsck_f (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_e2fsck_f (guestfs_h *g,\n"
@@ -5304,7 +5748,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1020 ../fish/guestfish-actions.pod:811
+#: ../src/guestfs-actions.pod:1114 ../fish/guestfish-actions.pod:869
 msgid ""
 "This runs C<e2fsck -p -f device>, ie. runs the ext2/ext3 filesystem checker "
 "on C<device>, noninteractively (C<-p>), even if the filesystem appears to be "
 msgid ""
 "This runs C<e2fsck -p -f device>, ie. runs the ext2/ext3 filesystem checker "
 "on C<device>, noninteractively (C<-p>), even if the filesystem appears to be "
@@ -5312,19 +5756,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1024
+#: ../src/guestfs-actions.pod:1118
 msgid ""
 "This command is only needed because of C<guestfs_resize2fs> (q.v.).  "
 "Normally you should use C<guestfs_fsck>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command is only needed because of C<guestfs_resize2fs> (q.v.).  "
 "Normally you should use C<guestfs_fsck>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1029
+#: ../src/guestfs-actions.pod:1123
 msgid "guestfs_echo_daemon"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_echo_daemon"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1031
+#: ../src/guestfs-actions.pod:1125
 #, no-wrap
 msgid ""
 " char *guestfs_echo_daemon (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_echo_daemon (guestfs_h *g,\n"
@@ -5333,29 +5777,29 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1034 ../fish/guestfish-actions.pod:822
+#: ../src/guestfs-actions.pod:1128 ../fish/guestfish-actions.pod:880
 msgid ""
 "This command concatenates the list of C<words> passed with single spaces "
 "between them and returns the resulting string."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command concatenates the list of C<words> passed with single spaces "
 "between them and returns the resulting string."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1037 ../fish/guestfish-actions.pod:825
+#: ../src/guestfs-actions.pod:1131 ../fish/guestfish-actions.pod:883
 msgid "You can use this command to test the connection through to the daemon."
 msgstr ""
 
 # type: textblock
 msgid "You can use this command to test the connection through to the daemon."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1039
+#: ../src/guestfs-actions.pod:1133
 msgid "See also C<guestfs_ping_daemon>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_ping_daemon>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1044
+#: ../src/guestfs-actions.pod:1138
 msgid "guestfs_egrep"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_egrep"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1046
+#: ../src/guestfs-actions.pod:1140
 #, no-wrap
 msgid ""
 " char **guestfs_egrep (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_egrep (guestfs_h *g,\n"
@@ -5365,17 +5809,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1050 ../fish/guestfish-actions.pod:833
+#: ../src/guestfs-actions.pod:1144 ../fish/guestfish-actions.pod:891
 msgid "This calls the external C<egrep> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
 msgid "This calls the external C<egrep> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1060
+#: ../src/guestfs-actions.pod:1154
 msgid "guestfs_egrepi"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_egrepi"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1062
+#: ../src/guestfs-actions.pod:1156
 #, no-wrap
 msgid ""
 " char **guestfs_egrepi (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_egrepi (guestfs_h *g,\n"
@@ -5385,17 +5829,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1066 ../fish/guestfish-actions.pod:843
+#: ../src/guestfs-actions.pod:1160 ../fish/guestfish-actions.pod:901
 msgid "This calls the external C<egrep -i> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
 msgid "This calls the external C<egrep -i> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1076
+#: ../src/guestfs-actions.pod:1170
 msgid "guestfs_equal"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_equal"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1078
+#: ../src/guestfs-actions.pod:1172
 #, no-wrap
 msgid ""
 " int guestfs_equal (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_equal (guestfs_h *g,\n"
@@ -5405,24 +5849,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1082 ../fish/guestfish-actions.pod:853
+#: ../src/guestfs-actions.pod:1176 ../fish/guestfish-actions.pod:911
 msgid ""
 "This compares the two files C<file1> and C<file2> and returns true if their "
 "content is exactly equal, or false otherwise."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This compares the two files C<file1> and C<file2> and returns true if their "
 "content is exactly equal, or false otherwise."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1085 ../fish/guestfish-actions.pod:856
+#: ../src/guestfs-actions.pod:1179 ../fish/guestfish-actions.pod:914
 msgid "The external L<cmp(1)> program is used for the comparison."
 msgstr ""
 
 # type: =head2
 msgid "The external L<cmp(1)> program is used for the comparison."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1089
+#: ../src/guestfs-actions.pod:1183
 msgid "guestfs_exists"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_exists"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1091
+#: ../src/guestfs-actions.pod:1185
 #, no-wrap
 msgid ""
 " int guestfs_exists (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_exists (guestfs_h *g,\n"
@@ -5431,24 +5875,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1094 ../fish/guestfish-actions.pod:862
+#: ../src/guestfs-actions.pod:1188 ../fish/guestfish-actions.pod:920
 msgid ""
 "This returns C<true> if and only if there is a file, directory (or anything) "
 "with the given C<path> name."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This returns C<true> if and only if there is a file, directory (or anything) "
 "with the given C<path> name."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1097
+#: ../src/guestfs-actions.pod:1191
 msgid "See also C<guestfs_is_file>, C<guestfs_is_dir>, C<guestfs_stat>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_is_file>, C<guestfs_is_dir>, C<guestfs_stat>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1101
+#: ../src/guestfs-actions.pod:1195
 msgid "guestfs_fallocate"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_fallocate"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1103
+#: ../src/guestfs-actions.pod:1197
 #, no-wrap
 msgid ""
 " int guestfs_fallocate (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_fallocate (guestfs_h *g,\n"
@@ -5458,41 +5902,33 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1107 ../src/guestfs-actions.pod:1130 ../fish/guestfish-actions.pod:871 ../fish/guestfish-actions.pod:890
+#: ../src/guestfs-actions.pod:1201 ../src/guestfs-actions.pod:1224 ../fish/guestfish-actions.pod:929 ../fish/guestfish-actions.pod:948
 msgid ""
 "This command preallocates a file (containing zero bytes) named C<path> of "
 "size C<len> bytes.  If the file exists already, it is overwritten."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command preallocates a file (containing zero bytes) named C<path> of "
 "size C<len> bytes.  If the file exists already, it is overwritten."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1111 ../fish/guestfish-actions.pod:875
+#: ../src/guestfs-actions.pod:1205 ../fish/guestfish-actions.pod:933
 msgid ""
 "Do not confuse this with the guestfish-specific C<alloc> command which "
 "allocates a file in the host and attaches it as a device."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Do not confuse this with the guestfish-specific C<alloc> command which "
 "allocates a file in the host and attaches it as a device."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1117 ../fish/guestfish-actions.pod:879
+#: ../src/guestfs-actions.pod:1211 ../fish/guestfish-actions.pod:937
 msgid ""
 "This function is deprecated.  In new code, use the C<fallocate64> call "
 "instead."
 msgstr ""
 
 msgid ""
 "This function is deprecated.  In new code, use the C<fallocate64> call "
 "instead."
 msgstr ""
 
-# type: textblock
-#: ../src/guestfs-actions.pod:1120 ../src/guestfs-actions.pod:1555 ../src/guestfs-actions.pod:1573 ../src/guestfs-actions.pod:5399 ../src/guestfs-actions.pod:5544 ../fish/guestfish-actions.pod:882 ../fish/guestfish-actions.pod:1239 ../fish/guestfish-actions.pod:1253 ../fish/guestfish-actions.pod:4146 ../fish/guestfish-actions.pod:4243
-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 "
-"these functions."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../src/guestfs-actions.pod:1124
+#: ../src/guestfs-actions.pod:1218
 msgid "guestfs_fallocate64"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_fallocate64"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1126
+#: ../src/guestfs-actions.pod:1220
 #, no-wrap
 msgid ""
 " int guestfs_fallocate64 (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_fallocate64 (guestfs_h *g,\n"
@@ -5502,14 +5938,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1134
+#: ../src/guestfs-actions.pod:1228
 msgid ""
 "Note that this call allocates disk blocks for the file.  To create a sparse "
 "file use C<guestfs_truncate_size> instead."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Note that this call allocates disk blocks for the file.  To create a sparse "
 "file use C<guestfs_truncate_size> instead."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1137
+#: ../src/guestfs-actions.pod:1231
 msgid ""
 "The deprecated call C<guestfs_fallocate> does the same, but owing to an "
 "oversight it only allowed 30 bit lengths to be specified, effectively "
 msgid ""
 "The deprecated call C<guestfs_fallocate> does the same, but owing to an "
 "oversight it only allowed 30 bit lengths to be specified, effectively "
@@ -5517,19 +5953,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1142 ../fish/guestfish-actions.pod:902
+#: ../src/guestfs-actions.pod:1236 ../fish/guestfish-actions.pod:960
 msgid ""
 "Do not confuse this with the guestfish-specific C<alloc> and C<sparse> "
 "commands which create a file in the host and attach it as a device."
 msgstr ""
 
 # type: =head2
 msgid ""
 "Do not confuse this with the guestfish-specific C<alloc> and C<sparse> "
 "commands which create a file in the host and attach it as a device."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1148
+#: ../src/guestfs-actions.pod:1242
 msgid "guestfs_fgrep"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_fgrep"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1150
+#: ../src/guestfs-actions.pod:1244
 #, no-wrap
 msgid ""
 " char **guestfs_fgrep (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_fgrep (guestfs_h *g,\n"
@@ -5539,17 +5975,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1154 ../fish/guestfish-actions.pod:910
+#: ../src/guestfs-actions.pod:1248 ../fish/guestfish-actions.pod:968
 msgid "This calls the external C<fgrep> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
 msgid "This calls the external C<fgrep> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1164
+#: ../src/guestfs-actions.pod:1258
 msgid "guestfs_fgrepi"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_fgrepi"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1166
+#: ../src/guestfs-actions.pod:1260
 #, no-wrap
 msgid ""
 " char **guestfs_fgrepi (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_fgrepi (guestfs_h *g,\n"
@@ -5559,17 +5995,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1170 ../fish/guestfish-actions.pod:920
+#: ../src/guestfs-actions.pod:1264 ../fish/guestfish-actions.pod:978
 msgid "This calls the external C<fgrep -i> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
 msgid "This calls the external C<fgrep -i> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1180
+#: ../src/guestfs-actions.pod:1274
 msgid "guestfs_file"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_file"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1182
+#: ../src/guestfs-actions.pod:1276
 #, no-wrap
 msgid ""
 " char *guestfs_file (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_file (guestfs_h *g,\n"
@@ -5578,28 +6014,28 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1185 ../fish/guestfish-actions.pod:930
+#: ../src/guestfs-actions.pod:1279 ../fish/guestfish-actions.pod:988
 msgid ""
 "This call uses the standard L<file(1)> command to determine the type or "
 "contents of the file."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This call uses the standard L<file(1)> command to determine the type or "
 "contents of the file."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1188 ../fish/guestfish-actions.pod:933
+#: ../src/guestfs-actions.pod:1282 ../fish/guestfish-actions.pod:991
 msgid ""
 "This call will also transparently look inside various types of compressed "
 "file."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This call will also transparently look inside various types of compressed "
 "file."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1191 ../fish/guestfish-actions.pod:936
+#: ../src/guestfs-actions.pod:1285 ../fish/guestfish-actions.pod:994
 msgid ""
 "The exact command which runs is C<file -zb path>.  Note in particular that "
 "the filename is not prepended to the output (the C<-b> option)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "The exact command which runs is C<file -zb path>.  Note in particular that "
 "the filename is not prepended to the output (the C<-b> option)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1195
+#: ../src/guestfs-actions.pod:1289
 msgid ""
 "This command can also be used on C</dev/> devices (and partitions, LV "
 "names).  You can for example use this to determine if a device contains a "
 msgid ""
 "This command can also be used on C</dev/> devices (and partitions, LV "
 "names).  You can for example use this to determine if a device contains a "
@@ -5607,7 +6043,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1200 ../fish/guestfish-actions.pod:945
+#: ../src/guestfs-actions.pod:1294 ../fish/guestfish-actions.pod:1003
 msgid ""
 "If the C<path> does not begin with C</dev/> then this command only works for "
 "the content of regular files.  For other file types (directory, symbolic "
 msgid ""
 "If the C<path> does not begin with C</dev/> then this command only works for "
 "the content of regular files.  For other file types (directory, symbolic "
@@ -5615,12 +6051,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1208
+#: ../src/guestfs-actions.pod:1302
 msgid "guestfs_file_architecture"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_file_architecture"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1210
+#: ../src/guestfs-actions.pod:1304
 #, no-wrap
 msgid ""
 " char *guestfs_file_architecture (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_file_architecture (guestfs_h *g,\n"
@@ -5629,166 +6065,166 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1213 ../fish/guestfish-actions.pod:954
+#: ../src/guestfs-actions.pod:1307 ../fish/guestfish-actions.pod:1012
 msgid ""
 "This detects the architecture of the binary C<filename>, and returns it if "
 "known."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This detects the architecture of the binary C<filename>, and returns it if "
 "known."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1216 ../fish/guestfish-actions.pod:957
+#: ../src/guestfs-actions.pod:1310 ../fish/guestfish-actions.pod:1015
 msgid "Currently defined architectures are:"
 msgstr ""
 
 # type: =item
 msgid "Currently defined architectures are:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:1220 ../fish/guestfish-actions.pod:961
+#: ../src/guestfs-actions.pod:1314 ../fish/guestfish-actions.pod:1019
 msgid "\"i386\""
 msgstr ""
 
 # type: textblock
 msgid "\"i386\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1222 ../fish/guestfish-actions.pod:963
+#: ../src/guestfs-actions.pod:1316 ../fish/guestfish-actions.pod:1021
 msgid ""
 "This string is returned for all 32 bit i386, i486, i586, i686 binaries "
 "irrespective of the precise processor requirements of the binary."
 msgstr ""
 
 # type: =item
 msgid ""
 "This string is returned for all 32 bit i386, i486, i586, i686 binaries "
 "irrespective of the precise processor requirements of the binary."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:1225 ../fish/guestfish-actions.pod:966
+#: ../src/guestfs-actions.pod:1319 ../fish/guestfish-actions.pod:1024
 msgid "\"x86_64\""
 msgstr ""
 
 # type: textblock
 msgid "\"x86_64\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1227 ../fish/guestfish-actions.pod:968
+#: ../src/guestfs-actions.pod:1321 ../fish/guestfish-actions.pod:1026
 msgid "64 bit x86-64."
 msgstr ""
 
 # type: =item
 msgid "64 bit x86-64."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:1229 ../fish/guestfish-actions.pod:970
+#: ../src/guestfs-actions.pod:1323 ../fish/guestfish-actions.pod:1028
 msgid "\"sparc\""
 msgstr ""
 
 # type: textblock
 msgid "\"sparc\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1231 ../fish/guestfish-actions.pod:972
+#: ../src/guestfs-actions.pod:1325 ../fish/guestfish-actions.pod:1030
 msgid "32 bit SPARC."
 msgstr ""
 
 # type: =item
 msgid "32 bit SPARC."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:1233 ../fish/guestfish-actions.pod:974
+#: ../src/guestfs-actions.pod:1327 ../fish/guestfish-actions.pod:1032
 msgid "\"sparc64\""
 msgstr ""
 
 # type: textblock
 msgid "\"sparc64\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1235 ../fish/guestfish-actions.pod:976
+#: ../src/guestfs-actions.pod:1329 ../fish/guestfish-actions.pod:1034
 msgid "64 bit SPARC V9 and above."
 msgstr ""
 
 # type: =item
 msgid "64 bit SPARC V9 and above."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:1237 ../fish/guestfish-actions.pod:978
+#: ../src/guestfs-actions.pod:1331 ../fish/guestfish-actions.pod:1036
 msgid "\"ia64\""
 msgstr ""
 
 # type: textblock
 msgid "\"ia64\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1239 ../fish/guestfish-actions.pod:980
+#: ../src/guestfs-actions.pod:1333 ../fish/guestfish-actions.pod:1038
 msgid "Intel Itanium."
 msgstr ""
 
 # type: =item
 msgid "Intel Itanium."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:1241 ../fish/guestfish-actions.pod:982
+#: ../src/guestfs-actions.pod:1335 ../fish/guestfish-actions.pod:1040
 msgid "\"ppc\""
 msgstr ""
 
 # type: textblock
 msgid "\"ppc\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1243 ../fish/guestfish-actions.pod:984
+#: ../src/guestfs-actions.pod:1337 ../fish/guestfish-actions.pod:1042
 msgid "32 bit Power PC."
 msgstr ""
 
 # type: =item
 msgid "32 bit Power PC."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:1245 ../fish/guestfish-actions.pod:986
+#: ../src/guestfs-actions.pod:1339 ../fish/guestfish-actions.pod:1044
 msgid "\"ppc64\""
 msgstr ""
 
 # type: textblock
 msgid "\"ppc64\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1247 ../fish/guestfish-actions.pod:988
+#: ../src/guestfs-actions.pod:1341 ../fish/guestfish-actions.pod:1046
 msgid "64 bit Power PC."
 msgstr ""
 
 # type: textblock
 msgid "64 bit Power PC."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1251 ../fish/guestfish-actions.pod:992
+#: ../src/guestfs-actions.pod:1345 ../fish/guestfish-actions.pod:1050
 msgid "Libguestfs may return other architecture strings in future."
 msgstr ""
 
 # type: textblock
 msgid "Libguestfs may return other architecture strings in future."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1253 ../fish/guestfish-actions.pod:994
+#: ../src/guestfs-actions.pod:1347 ../fish/guestfish-actions.pod:1052
 msgid "The function works on at least the following types of files:"
 msgstr ""
 
 # type: textblock
 msgid "The function works on at least the following types of files:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1259 ../fish/guestfish-actions.pod:1000
+#: ../src/guestfs-actions.pod:1353 ../fish/guestfish-actions.pod:1058
 msgid "many types of Un*x and Linux binary"
 msgstr ""
 
 # type: textblock
 msgid "many types of Un*x and Linux binary"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1263 ../fish/guestfish-actions.pod:1004
+#: ../src/guestfs-actions.pod:1357 ../fish/guestfish-actions.pod:1062
 msgid "many types of Un*x and Linux shared library"
 msgstr ""
 
 # type: textblock
 msgid "many types of Un*x and Linux shared library"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1267 ../fish/guestfish-actions.pod:1008
+#: ../src/guestfs-actions.pod:1361 ../fish/guestfish-actions.pod:1066
 msgid "Windows Win32 and Win64 binaries"
 msgstr ""
 
 # type: textblock
 msgid "Windows Win32 and Win64 binaries"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1271 ../fish/guestfish-actions.pod:1012
+#: ../src/guestfs-actions.pod:1365 ../fish/guestfish-actions.pod:1070
 msgid "Windows Win32 and Win64 DLLs"
 msgstr ""
 
 # type: textblock
 msgid "Windows Win32 and Win64 DLLs"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1273 ../fish/guestfish-actions.pod:1014
+#: ../src/guestfs-actions.pod:1367 ../fish/guestfish-actions.pod:1072
 msgid "Win32 binaries and DLLs return C<i386>."
 msgstr ""
 
 # type: textblock
 msgid "Win32 binaries and DLLs return C<i386>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1275 ../fish/guestfish-actions.pod:1016
+#: ../src/guestfs-actions.pod:1369 ../fish/guestfish-actions.pod:1074
 msgid "Win64 binaries and DLLs return C<x86_64>."
 msgstr ""
 
 # type: textblock
 msgid "Win64 binaries and DLLs return C<x86_64>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1279 ../fish/guestfish-actions.pod:1020
+#: ../src/guestfs-actions.pod:1373 ../fish/guestfish-actions.pod:1078
 msgid "Linux kernel modules"
 msgstr ""
 
 # type: textblock
 msgid "Linux kernel modules"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1283 ../fish/guestfish-actions.pod:1024
+#: ../src/guestfs-actions.pod:1377 ../fish/guestfish-actions.pod:1082
 msgid "Linux new-style initrd images"
 msgstr ""
 
 # type: textblock
 msgid "Linux new-style initrd images"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1287 ../fish/guestfish-actions.pod:1028
+#: ../src/guestfs-actions.pod:1381 ../fish/guestfish-actions.pod:1086
 msgid "some non-x86 Linux vmlinuz kernels"
 msgstr ""
 
 # type: textblock
 msgid "some non-x86 Linux vmlinuz kernels"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1291 ../fish/guestfish-actions.pod:1032
+#: ../src/guestfs-actions.pod:1385 ../fish/guestfish-actions.pod:1090
 msgid "What it can't do currently:"
 msgstr ""
 
 # type: textblock
 msgid "What it can't do currently:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1297 ../fish/guestfish-actions.pod:1038
+#: ../src/guestfs-actions.pod:1391 ../fish/guestfish-actions.pod:1096
 msgid "static libraries (libfoo.a)"
 msgstr ""
 
 # type: textblock
 msgid "static libraries (libfoo.a)"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1301 ../fish/guestfish-actions.pod:1042
+#: ../src/guestfs-actions.pod:1395 ../fish/guestfish-actions.pod:1100
 msgid "Linux old-style initrd as compressed ext2 filesystem (RHEL 3)"
 msgstr ""
 
 # type: textblock
 msgid "Linux old-style initrd as compressed ext2 filesystem (RHEL 3)"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1305 ../fish/guestfish-actions.pod:1046
+#: ../src/guestfs-actions.pod:1399 ../fish/guestfish-actions.pod:1104
 msgid "x86 Linux vmlinuz kernels"
 msgstr ""
 
 # type: textblock
 msgid "x86 Linux vmlinuz kernels"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1307 ../fish/guestfish-actions.pod:1048
+#: ../src/guestfs-actions.pod:1401 ../fish/guestfish-actions.pod:1106
 msgid ""
 "x86 vmlinuz images (bzImage format) consist of a mix of 16-, 32- and "
 "compressed code, and are horribly hard to unpack.  If you want to find the "
 msgid ""
 "x86 vmlinuz images (bzImage format) consist of a mix of 16-, 32- and "
 "compressed code, and are horribly hard to unpack.  If you want to find the "
@@ -5797,12 +6233,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1317
+#: ../src/guestfs-actions.pod:1411
 msgid "guestfs_filesize"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_filesize"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1319
+#: ../src/guestfs-actions.pod:1413
 #, no-wrap
 msgid ""
 " int64_t guestfs_filesize (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int64_t guestfs_filesize (guestfs_h *g,\n"
@@ -5811,12 +6247,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1322 ../fish/guestfish-actions.pod:1059
+#: ../src/guestfs-actions.pod:1416 ../fish/guestfish-actions.pod:1117
 msgid "This command returns the size of C<file> in bytes."
 msgstr ""
 
 # type: textblock
 msgid "This command returns the size of C<file> in bytes."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1324
+#: ../src/guestfs-actions.pod:1418
 msgid ""
 "To get other stats about a file, use C<guestfs_stat>, C<guestfs_lstat>, "
 "C<guestfs_is_dir>, C<guestfs_is_file> etc.  To get the size of block "
 msgid ""
 "To get other stats about a file, use C<guestfs_stat>, C<guestfs_lstat>, "
 "C<guestfs_is_dir>, C<guestfs_is_file> etc.  To get the size of block "
@@ -5824,12 +6260,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1330
+#: ../src/guestfs-actions.pod:1424
 msgid "guestfs_fill"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_fill"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1332
+#: ../src/guestfs-actions.pod:1426
 #, no-wrap
 msgid ""
 " int guestfs_fill (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_fill (guestfs_h *g,\n"
@@ -5840,7 +6276,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1337 ../fish/guestfish-actions.pod:1069
+#: ../src/guestfs-actions.pod:1431 ../fish/guestfish-actions.pod:1127
 msgid ""
 "This command creates a new file called C<path>.  The initial content of the "
 "file is C<len> octets of C<c>, where C<c> must be a number in the range "
 msgid ""
 "This command creates a new file called C<path>.  The initial content of the "
 "file is C<len> octets of C<c>, where C<c> must be a number in the range "
@@ -5848,7 +6284,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1341
+#: ../src/guestfs-actions.pod:1435
 msgid ""
 "To fill a file with zero bytes (sparsely), it is much more efficient to use "
 "C<guestfs_truncate_size>.  To create a file with a pattern of repeating "
 msgid ""
 "To fill a file with zero bytes (sparsely), it is much more efficient to use "
 "C<guestfs_truncate_size>.  To create a file with a pattern of repeating "
@@ -5856,12 +6292,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1353
+#: ../src/guestfs-actions.pod:1447
 msgid "guestfs_fill_pattern"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_fill_pattern"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1355
+#: ../src/guestfs-actions.pod:1449
 #, no-wrap
 msgid ""
 " int guestfs_fill_pattern (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_fill_pattern (guestfs_h *g,\n"
@@ -5872,7 +6308,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1360
+#: ../src/guestfs-actions.pod:1454
 msgid ""
 "This function is like C<guestfs_fill> except that it creates a new file of "
 "length C<len> containing the repeating pattern of bytes in C<pattern>.  The "
 msgid ""
 "This function is like C<guestfs_fill> except that it creates a new file of "
 "length C<len> containing the repeating pattern of bytes in C<pattern>.  The "
@@ -5881,12 +6317,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1372
+#: ../src/guestfs-actions.pod:1466
 msgid "guestfs_find"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_find"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1374
+#: ../src/guestfs-actions.pod:1468
 #, no-wrap
 msgid ""
 " char **guestfs_find (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_find (guestfs_h *g,\n"
@@ -5895,7 +6331,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1377 ../fish/guestfish-actions.pod:1091
+#: ../src/guestfs-actions.pod:1471 ../fish/guestfish-actions.pod:1149
 msgid ""
 "This command lists out all files and directories, recursively, starting at "
 "C<directory>.  It is essentially equivalent to running the shell command "
 msgid ""
 "This command lists out all files and directories, recursively, starting at "
 "C<directory>.  It is essentially equivalent to running the shell command "
@@ -5904,14 +6340,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1382 ../fish/guestfish-actions.pod:1096
+#: ../src/guestfs-actions.pod:1476 ../fish/guestfish-actions.pod:1154
 msgid ""
 "This returns a list of strings I<without any prefix>.  Thus if the directory "
 "structure was:"
 msgstr ""
 
 # type: verbatim
 msgid ""
 "This returns a list of strings I<without any prefix>.  Thus if the directory "
 "structure was:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1385 ../fish/guestfish-actions.pod:1099
+#: ../src/guestfs-actions.pod:1479 ../fish/guestfish-actions.pod:1157
 #, no-wrap
 msgid ""
 " /tmp/a\n"
 #, no-wrap
 msgid ""
 " /tmp/a\n"
@@ -5921,12 +6357,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1389
+#: ../src/guestfs-actions.pod:1483
 msgid "then the returned list from C<guestfs_find> C</tmp> would be 4 elements:"
 msgstr ""
 
 # type: verbatim
 msgid "then the returned list from C<guestfs_find> C</tmp> would be 4 elements:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1392 ../fish/guestfish-actions.pod:1106
+#: ../src/guestfs-actions.pod:1486 ../fish/guestfish-actions.pod:1164
 #, no-wrap
 msgid ""
 " a\n"
 #, no-wrap
 msgid ""
 " a\n"
@@ -5937,27 +6373,27 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1397 ../fish/guestfish-actions.pod:1111
+#: ../src/guestfs-actions.pod:1491 ../fish/guestfish-actions.pod:1169
 msgid "If C<directory> is not a directory, then this command returns an error."
 msgstr ""
 
 # type: textblock
 msgid "If C<directory> is not a directory, then this command returns an error."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1400 ../fish/guestfish-actions.pod:1114
+#: ../src/guestfs-actions.pod:1494 ../fish/guestfish-actions.pod:1172
 msgid "The returned list is sorted."
 msgstr ""
 
 # type: textblock
 msgid "The returned list is sorted."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1402
+#: ../src/guestfs-actions.pod:1496
 msgid "See also C<guestfs_find0>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_find0>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1411
+#: ../src/guestfs-actions.pod:1505
 msgid "guestfs_find0"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_find0"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1413
+#: ../src/guestfs-actions.pod:1507
 #, no-wrap
 msgid ""
 " int guestfs_find0 (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_find0 (guestfs_h *g,\n"
@@ -5967,7 +6403,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1417 ../fish/guestfish-actions.pod:1125
+#: ../src/guestfs-actions.pod:1511 ../fish/guestfish-actions.pod:1183
 msgid ""
 "This command lists out all files and directories, recursively, starting at "
 "C<directory>, placing the resulting list in the external file called "
 msgid ""
 "This command lists out all files and directories, recursively, starting at "
 "C<directory>, placing the resulting list in the external file called "
@@ -5975,41 +6411,41 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1421
+#: ../src/guestfs-actions.pod:1515
 msgid ""
 "This command works the same way as C<guestfs_find> with the following "
 "exceptions:"
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command works the same way as C<guestfs_find> with the following "
 "exceptions:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1428 ../fish/guestfish-actions.pod:1136
+#: ../src/guestfs-actions.pod:1522 ../fish/guestfish-actions.pod:1194
 msgid "The resulting list is written to an external file."
 msgstr ""
 
 # type: textblock
 msgid "The resulting list is written to an external file."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1432 ../fish/guestfish-actions.pod:1140
+#: ../src/guestfs-actions.pod:1526 ../fish/guestfish-actions.pod:1198
 msgid ""
 "Items (filenames) in the result are separated by C<\\0> characters.  See "
 "L<find(1)> option I<-print0>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Items (filenames) in the result are separated by C<\\0> characters.  See "
 "L<find(1)> option I<-print0>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1437 ../fish/guestfish-actions.pod:1145
+#: ../src/guestfs-actions.pod:1531 ../fish/guestfish-actions.pod:1203
 msgid "This command is not limited in the number of names that it can return."
 msgstr ""
 
 # type: textblock
 msgid "This command is not limited in the number of names that it can return."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1442 ../fish/guestfish-actions.pod:1150
+#: ../src/guestfs-actions.pod:1536 ../fish/guestfish-actions.pod:1208
 msgid "The result list is not sorted."
 msgstr ""
 
 # type: =head2
 msgid "The result list is not sorted."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1448
+#: ../src/guestfs-actions.pod:1542
 msgid "guestfs_findfs_label"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_findfs_label"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1450
+#: ../src/guestfs-actions.pod:1544
 #, no-wrap
 msgid ""
 " char *guestfs_findfs_label (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_findfs_label (guestfs_h *g,\n"
@@ -6018,24 +6454,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1453 ../fish/guestfish-actions.pod:1160
+#: ../src/guestfs-actions.pod:1547 ../fish/guestfish-actions.pod:1218
 msgid ""
 "This command searches the filesystems and returns the one which has the "
 "given label.  An error is returned if no such filesystem can be found."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command searches the filesystems and returns the one which has the "
 "given label.  An error is returned if no such filesystem can be found."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1457
+#: ../src/guestfs-actions.pod:1551
 msgid "To find the label of a filesystem, use C<guestfs_vfs_label>."
 msgstr ""
 
 # type: =head2
 msgid "To find the label of a filesystem, use C<guestfs_vfs_label>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1462
+#: ../src/guestfs-actions.pod:1556
 msgid "guestfs_findfs_uuid"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_findfs_uuid"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1464
+#: ../src/guestfs-actions.pod:1558
 #, no-wrap
 msgid ""
 " char *guestfs_findfs_uuid (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_findfs_uuid (guestfs_h *g,\n"
@@ -6044,24 +6480,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1467 ../fish/guestfish-actions.pod:1170
+#: ../src/guestfs-actions.pod:1561 ../fish/guestfish-actions.pod:1228
 msgid ""
 "This command searches the filesystems and returns the one which has the "
 "given UUID.  An error is returned if no such filesystem can be found."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command searches the filesystems and returns the one which has the "
 "given UUID.  An error is returned if no such filesystem can be found."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1471
+#: ../src/guestfs-actions.pod:1565
 msgid "To find the UUID of a filesystem, use C<guestfs_vfs_uuid>."
 msgstr ""
 
 # type: =head2
 msgid "To find the UUID of a filesystem, use C<guestfs_vfs_uuid>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1476
+#: ../src/guestfs-actions.pod:1570
 msgid "guestfs_fsck"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_fsck"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1478
+#: ../src/guestfs-actions.pod:1572
 #, no-wrap
 msgid ""
 " int guestfs_fsck (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_fsck (guestfs_h *g,\n"
@@ -6071,48 +6507,48 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1482 ../fish/guestfish-actions.pod:1180
+#: ../src/guestfs-actions.pod:1576 ../fish/guestfish-actions.pod:1238
 msgid ""
 "This runs the filesystem checker (fsck) on C<device> which should have "
 "filesystem type C<fstype>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This runs the filesystem checker (fsck) on C<device> which should have "
 "filesystem type C<fstype>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1485 ../fish/guestfish-actions.pod:1183
+#: ../src/guestfs-actions.pod:1579 ../fish/guestfish-actions.pod:1241
 msgid ""
 "The returned integer is the status.  See L<fsck(8)> for the list of status "
 "codes from C<fsck>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "The returned integer is the status.  See L<fsck(8)> for the list of status "
 "codes from C<fsck>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1494 ../fish/guestfish-actions.pod:1192
+#: ../src/guestfs-actions.pod:1588 ../fish/guestfish-actions.pod:1250
 msgid "Multiple status codes can be summed together."
 msgstr ""
 
 # type: textblock
 msgid "Multiple status codes can be summed together."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1498 ../fish/guestfish-actions.pod:1196
+#: ../src/guestfs-actions.pod:1592 ../fish/guestfish-actions.pod:1254
 msgid ""
 "A non-zero return code can mean \"success\", for example if errors have been "
 "corrected on the filesystem."
 msgstr ""
 
 # type: textblock
 msgid ""
 "A non-zero return code can mean \"success\", for example if errors have been "
 "corrected on the filesystem."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1503 ../fish/guestfish-actions.pod:1201
+#: ../src/guestfs-actions.pod:1597 ../fish/guestfish-actions.pod:1259
 msgid "Checking or repairing NTFS volumes is not supported (by linux-ntfs)."
 msgstr ""
 
 # type: textblock
 msgid "Checking or repairing NTFS volumes is not supported (by linux-ntfs)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1508 ../fish/guestfish-actions.pod:1206
+#: ../src/guestfs-actions.pod:1602 ../fish/guestfish-actions.pod:1264
 msgid "This command is entirely equivalent to running C<fsck -a -t fstype device>."
 msgstr ""
 
 # type: =head2
 msgid "This command is entirely equivalent to running C<fsck -a -t fstype device>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1512
+#: ../src/guestfs-actions.pod:1606
 msgid "guestfs_get_append"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_get_append"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1514
+#: ../src/guestfs-actions.pod:1608
 #, no-wrap
 msgid ""
 " const char *guestfs_get_append (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " const char *guestfs_get_append (guestfs_h *g);\n"
@@ -6120,19 +6556,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1516 ../fish/guestfish-actions.pod:1212
+#: ../src/guestfs-actions.pod:1610 ../fish/guestfish-actions.pod:1270
 msgid ""
 "Return the additional kernel options which are added to the guest kernel "
 "command line."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Return the additional kernel options which are added to the guest kernel "
 "command line."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1519 ../fish/guestfish-actions.pod:1215
+#: ../src/guestfs-actions.pod:1613 ../fish/guestfish-actions.pod:1273
 msgid "If C<NULL> then no options are added."
 msgstr ""
 
 # type: textblock
 msgid "If C<NULL> then no options are added."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1521
+#: ../src/guestfs-actions.pod:1615
 msgid ""
 "This function returns a string which may be NULL.  There is no way to return "
 "an error from this function.  The string is owned by the guest handle and "
 msgid ""
 "This function returns a string which may be NULL.  There is no way to return "
 "an error from this function.  The string is owned by the guest handle and "
@@ -6140,12 +6576,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1525
+#: ../src/guestfs-actions.pod:1619
 msgid "guestfs_get_autosync"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_get_autosync"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1527
+#: ../src/guestfs-actions.pod:1621
 #, no-wrap
 msgid ""
 " int guestfs_get_autosync (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_get_autosync (guestfs_h *g);\n"
@@ -6153,17 +6589,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1529 ../fish/guestfish-actions.pod:1221
+#: ../src/guestfs-actions.pod:1623 ../fish/guestfish-actions.pod:1279
 msgid "Get the autosync flag."
 msgstr ""
 
 # type: =head2
 msgid "Get the autosync flag."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1533
+#: ../src/guestfs-actions.pod:1627
 msgid "guestfs_get_direct"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_get_direct"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1535
+#: ../src/guestfs-actions.pod:1629
 #, no-wrap
 msgid ""
 " int guestfs_get_direct (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_get_direct (guestfs_h *g);\n"
@@ -6171,17 +6607,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1537 ../fish/guestfish-actions.pod:1227
+#: ../src/guestfs-actions.pod:1631 ../fish/guestfish-actions.pod:1285
 msgid "Return the direct appliance mode flag."
 msgstr ""
 
 # type: =head2
 msgid "Return the direct appliance mode flag."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1541
+#: ../src/guestfs-actions.pod:1635
 msgid "guestfs_get_e2label"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_get_e2label"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1543
+#: ../src/guestfs-actions.pod:1637
 #, no-wrap
 msgid ""
 " char *guestfs_get_e2label (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_get_e2label (guestfs_h *g,\n"
@@ -6190,24 +6626,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1546 ../fish/guestfish-actions.pod:1233
+#: ../src/guestfs-actions.pod:1640 ../fish/guestfish-actions.pod:1291
 msgid "This returns the ext2/3/4 filesystem label of the filesystem on C<device>."
 msgstr ""
 
 # type: textblock
 msgid "This returns the ext2/3/4 filesystem label of the filesystem on C<device>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1552 ../fish/guestfish-actions.pod:1236
+#: ../src/guestfs-actions.pod:1646 ../fish/guestfish-actions.pod:1294
 msgid ""
 "This function is deprecated.  In new code, use the C<vfs_label> call "
 "instead."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This function is deprecated.  In new code, use the C<vfs_label> call "
 "instead."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1559
+#: ../src/guestfs-actions.pod:1653
 msgid "guestfs_get_e2uuid"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_get_e2uuid"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1561
+#: ../src/guestfs-actions.pod:1655
 #, no-wrap
 msgid ""
 " char *guestfs_get_e2uuid (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_get_e2uuid (guestfs_h *g,\n"
@@ -6216,22 +6652,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1564 ../fish/guestfish-actions.pod:1247
+#: ../src/guestfs-actions.pod:1658 ../fish/guestfish-actions.pod:1305
 msgid "This returns the ext2/3/4 filesystem UUID of the filesystem on C<device>."
 msgstr ""
 
 # type: textblock
 msgid "This returns the ext2/3/4 filesystem UUID of the filesystem on C<device>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1570 ../fish/guestfish-actions.pod:1250
+#: ../src/guestfs-actions.pod:1664 ../fish/guestfish-actions.pod:1308
 msgid "This function is deprecated.  In new code, use the C<vfs_uuid> call instead."
 msgstr ""
 
 # type: =head2
 msgid "This function is deprecated.  In new code, use the C<vfs_uuid> call instead."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1577
+#: ../src/guestfs-actions.pod:1671
 msgid "guestfs_get_memsize"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_get_memsize"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1579
+#: ../src/guestfs-actions.pod:1673
 #, no-wrap
 msgid ""
 " int guestfs_get_memsize (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_get_memsize (guestfs_h *g);\n"
@@ -6239,12 +6675,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1581 ../fish/guestfish-actions.pod:1261
+#: ../src/guestfs-actions.pod:1675 ../fish/guestfish-actions.pod:1319
 msgid "This gets the memory size in megabytes allocated to the qemu subprocess."
 msgstr ""
 
 # type: textblock
 msgid "This gets the memory size in megabytes allocated to the qemu subprocess."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1584
+#: ../src/guestfs-actions.pod:1678
 msgid ""
 "If C<guestfs_set_memsize> was not called on this handle, and if "
 "C<LIBGUESTFS_MEMSIZE> was not set, then this returns the compiled-in default "
 msgid ""
 "If C<guestfs_set_memsize> was not called on this handle, and if "
 "C<LIBGUESTFS_MEMSIZE> was not set, then this returns the compiled-in default "
@@ -6252,17 +6688,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1588 ../src/guestfs-actions.pod:1651 ../src/guestfs-actions.pod:4297 ../src/guestfs-actions.pod:4389 ../fish/guestfish-actions.pod:1268 ../fish/guestfish-actions.pod:1317 ../fish/guestfish-actions.pod:3318 ../fish/guestfish-actions.pod:3395
+#: ../src/guestfs-actions.pod:1682 ../src/guestfs-actions.pod:1745 ../src/guestfs-actions.pod:4437 ../src/guestfs-actions.pod:4529 ../fish/guestfish-actions.pod:1326 ../fish/guestfish-actions.pod:1377 ../fish/guestfish-actions.pod:3420 ../fish/guestfish-actions.pod:3507
 msgid "For more information on the architecture of libguestfs, see L<guestfs(3)>."
 msgstr ""
 
 # type: =head2
 msgid "For more information on the architecture of libguestfs, see L<guestfs(3)>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1593
+#: ../src/guestfs-actions.pod:1687
 msgid "guestfs_get_network"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_get_network"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1595
+#: ../src/guestfs-actions.pod:1689
 #, no-wrap
 msgid ""
 " int guestfs_get_network (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_get_network (guestfs_h *g);\n"
@@ -6270,17 +6706,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1597 ../fish/guestfish-actions.pod:1275
+#: ../src/guestfs-actions.pod:1691 ../fish/guestfish-actions.pod:1333
 msgid "This returns the enable network flag."
 msgstr ""
 
 # type: =head2
 msgid "This returns the enable network flag."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1601
+#: ../src/guestfs-actions.pod:1695
 msgid "guestfs_get_path"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_get_path"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1603
+#: ../src/guestfs-actions.pod:1697
 #, no-wrap
 msgid ""
 " const char *guestfs_get_path (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " const char *guestfs_get_path (guestfs_h *g);\n"
@@ -6288,31 +6724,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1605 ../fish/guestfish-actions.pod:1281
+#: ../src/guestfs-actions.pod:1699 ../fish/guestfish-actions.pod:1339
 msgid "Return the current search path."
 msgstr ""
 
 # type: textblock
 msgid "Return the current search path."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1607 ../fish/guestfish-actions.pod:1283
+#: ../src/guestfs-actions.pod:1701 ../fish/guestfish-actions.pod:1341
 msgid ""
 "This is always non-NULL.  If it wasn't set already, then this will return "
 "the default path."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This is always non-NULL.  If it wasn't set already, then this will return "
 "the default path."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1610 ../src/guestfs-actions.pod:1633
+#: ../src/guestfs-actions.pod:1704 ../src/guestfs-actions.pod:1727
 msgid ""
 "This function returns a string, or NULL on error.  The string is owned by "
 "the guest handle and must I<not> be freed."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This function returns a string, or NULL on error.  The string is owned by "
 "the guest handle and must I<not> be freed."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1613
+#: ../src/guestfs-actions.pod:1707
 msgid "guestfs_get_pid"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_get_pid"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1615
+#: ../src/guestfs-actions.pod:1709
 #, no-wrap
 msgid ""
 " int guestfs_get_pid (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_get_pid (guestfs_h *g);\n"
@@ -6320,24 +6756,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1617 ../fish/guestfish-actions.pod:1290
+#: ../src/guestfs-actions.pod:1711 ../fish/guestfish-actions.pod:1350
 msgid ""
 "Return the process ID of the qemu subprocess.  If there is no qemu "
 "subprocess, then this will return an error."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Return the process ID of the qemu subprocess.  If there is no qemu "
 "subprocess, then this will return an error."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1620 ../fish/guestfish-actions.pod:1293
+#: ../src/guestfs-actions.pod:1714 ../fish/guestfish-actions.pod:1353
 msgid "This is an internal call used for debugging and testing."
 msgstr ""
 
 # type: =head2
 msgid "This is an internal call used for debugging and testing."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1624
+#: ../src/guestfs-actions.pod:1718
 msgid "guestfs_get_qemu"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_get_qemu"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1626
+#: ../src/guestfs-actions.pod:1720
 #, no-wrap
 msgid ""
 " const char *guestfs_get_qemu (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " const char *guestfs_get_qemu (guestfs_h *g);\n"
@@ -6345,24 +6781,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1628 ../fish/guestfish-actions.pod:1299
+#: ../src/guestfs-actions.pod:1722 ../fish/guestfish-actions.pod:1359
 msgid "Return the current qemu binary."
 msgstr ""
 
 # type: textblock
 msgid "Return the current qemu binary."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1630 ../fish/guestfish-actions.pod:1301
+#: ../src/guestfs-actions.pod:1724 ../fish/guestfish-actions.pod:1361
 msgid ""
 "This is always non-NULL.  If it wasn't set already, then this will return "
 "the default qemu binary name."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This is always non-NULL.  If it wasn't set already, then this will return "
 "the default qemu binary name."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1636
+#: ../src/guestfs-actions.pod:1730
 msgid "guestfs_get_recovery_proc"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_get_recovery_proc"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1638
+#: ../src/guestfs-actions.pod:1732
 #, no-wrap
 msgid ""
 " int guestfs_get_recovery_proc (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_get_recovery_proc (guestfs_h *g);\n"
@@ -6370,17 +6806,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1640 ../fish/guestfish-actions.pod:1308
+#: ../src/guestfs-actions.pod:1734 ../fish/guestfish-actions.pod:1368
 msgid "Return the recovery process enabled flag."
 msgstr ""
 
 # type: =head2
 msgid "Return the recovery process enabled flag."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1644
+#: ../src/guestfs-actions.pod:1738
 msgid "guestfs_get_selinux"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_get_selinux"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1646
+#: ../src/guestfs-actions.pod:1740
 #, no-wrap
 msgid ""
 " int guestfs_get_selinux (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_get_selinux (guestfs_h *g);\n"
@@ -6388,19 +6824,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1648
+#: ../src/guestfs-actions.pod:1742
 msgid ""
 "This returns the current setting of the selinux flag which is passed to the "
 "appliance at boot time.  See C<guestfs_set_selinux>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This returns the current setting of the selinux flag which is passed to the "
 "appliance at boot time.  See C<guestfs_set_selinux>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1656
+#: ../src/guestfs-actions.pod:1750
 msgid "guestfs_get_state"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_get_state"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1658
+#: ../src/guestfs-actions.pod:1752
 #, no-wrap
 msgid ""
 " int guestfs_get_state (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_get_state (guestfs_h *g);\n"
@@ -6408,24 +6844,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1660 ../fish/guestfish-actions.pod:1324
+#: ../src/guestfs-actions.pod:1754 ../fish/guestfish-actions.pod:1384
 msgid ""
 "This returns the current state as an opaque integer.  This is only useful "
 "for printing debug and internal error messages."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This returns the current state as an opaque integer.  This is only useful "
 "for printing debug and internal error messages."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1663 ../src/guestfs-actions.pod:2284 ../src/guestfs-actions.pod:2307 ../src/guestfs-actions.pod:2356 ../src/guestfs-actions.pod:2377 ../fish/guestfish-actions.pod:1327 ../fish/guestfish-actions.pod:1821 ../fish/guestfish-actions.pod:1839 ../fish/guestfish-actions.pod:1877 ../fish/guestfish-actions.pod:1893
+#: ../src/guestfs-actions.pod:1757 ../src/guestfs-actions.pod:2378 ../src/guestfs-actions.pod:2401 ../src/guestfs-actions.pod:2450 ../src/guestfs-actions.pod:2471 ../fish/guestfish-actions.pod:1387 ../fish/guestfish-actions.pod:1881 ../fish/guestfish-actions.pod:1899 ../fish/guestfish-actions.pod:1937 ../fish/guestfish-actions.pod:1953
 msgid "For more information on states, see L<guestfs(3)>."
 msgstr ""
 
 # type: =head2
 msgid "For more information on states, see L<guestfs(3)>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1667
+#: ../src/guestfs-actions.pod:1761
 msgid "guestfs_get_trace"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_get_trace"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1669
+#: ../src/guestfs-actions.pod:1763
 #, no-wrap
 msgid ""
 " int guestfs_get_trace (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_get_trace (guestfs_h *g);\n"
@@ -6433,17 +6869,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1671 ../fish/guestfish-actions.pod:1333
+#: ../src/guestfs-actions.pod:1765 ../fish/guestfish-actions.pod:1393
 msgid "Return the command trace flag."
 msgstr ""
 
 # type: =head2
 msgid "Return the command trace flag."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1675
+#: ../src/guestfs-actions.pod:1769
 msgid "guestfs_get_umask"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_get_umask"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1677
+#: ../src/guestfs-actions.pod:1771
 #, no-wrap
 msgid ""
 " int guestfs_get_umask (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_get_umask (guestfs_h *g);\n"
@@ -6451,19 +6887,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1679
+#: ../src/guestfs-actions.pod:1773
 msgid ""
 "Return the current umask.  By default the umask is C<022> unless it has been "
 "set by calling C<guestfs_umask>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "Return the current umask.  By default the umask is C<022> unless it has been "
 "set by calling C<guestfs_umask>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1684
+#: ../src/guestfs-actions.pod:1778
 msgid "guestfs_get_verbose"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_get_verbose"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1686
+#: ../src/guestfs-actions.pod:1780
 #, no-wrap
 msgid ""
 " int guestfs_get_verbose (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_get_verbose (guestfs_h *g);\n"
@@ -6471,17 +6907,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1688 ../fish/guestfish-actions.pod:1346
+#: ../src/guestfs-actions.pod:1782 ../fish/guestfish-actions.pod:1406
 msgid "This returns the verbose messages flag."
 msgstr ""
 
 # type: =head2
 msgid "This returns the verbose messages flag."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1692
+#: ../src/guestfs-actions.pod:1786
 msgid "guestfs_getcon"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_getcon"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1694
+#: ../src/guestfs-actions.pod:1788
 #, no-wrap
 msgid ""
 " char *guestfs_getcon (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " char *guestfs_getcon (guestfs_h *g);\n"
@@ -6489,22 +6925,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1696 ../fish/guestfish-actions.pod:1352
+#: ../src/guestfs-actions.pod:1790 ../fish/guestfish-actions.pod:1412
 msgid "This gets the SELinux security context of the daemon."
 msgstr ""
 
 # type: textblock
 msgid "This gets the SELinux security context of the daemon."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1698
+#: ../src/guestfs-actions.pod:1792
 msgid "See the documentation about SELINUX in L<guestfs(3)>, and C<guestfs_setcon>"
 msgstr ""
 
 # type: =head2
 msgid "See the documentation about SELINUX in L<guestfs(3)>, and C<guestfs_setcon>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1704
+#: ../src/guestfs-actions.pod:1798
 msgid "guestfs_getxattrs"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_getxattrs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1706
+#: ../src/guestfs-actions.pod:1800
 #, no-wrap
 msgid ""
 " struct guestfs_xattr_list *guestfs_getxattrs (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " struct guestfs_xattr_list *guestfs_getxattrs (guestfs_h *g,\n"
@@ -6513,24 +6949,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1709 ../fish/guestfish-actions.pod:1361
+#: ../src/guestfs-actions.pod:1803 ../fish/guestfish-actions.pod:1421
 msgid "This call lists the extended attributes of the file or directory C<path>."
 msgstr ""
 
 # type: textblock
 msgid "This call lists the extended attributes of the file or directory C<path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1712 ../fish/guestfish-actions.pod:1364
+#: ../src/guestfs-actions.pod:1806 ../fish/guestfish-actions.pod:1424
 msgid ""
 "At the system call level, this is a combination of the L<listxattr(2)> and "
 "L<getxattr(2)> calls."
 msgstr ""
 
 # type: textblock
 msgid ""
 "At the system call level, this is a combination of the L<listxattr(2)> and "
 "L<getxattr(2)> calls."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1715
+#: ../src/guestfs-actions.pod:1809
 msgid "See also: C<guestfs_lgetxattrs>, L<attr(5)>."
 msgstr ""
 
 # type: textblock
 msgid "See also: C<guestfs_lgetxattrs>, L<attr(5)>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1717 ../src/guestfs-actions.pod:2451 ../src/guestfs-actions.pod:2989
+#: ../src/guestfs-actions.pod:1811 ../src/guestfs-actions.pod:2545 ../src/guestfs-actions.pod:3083
 msgid ""
 "This function returns a C<struct guestfs_xattr_list *> (see "
 "E<lt>guestfs-structs.hE<gt>), or NULL if there was an error.  I<The caller "
 msgid ""
 "This function returns a C<struct guestfs_xattr_list *> (see "
 "E<lt>guestfs-structs.hE<gt>), or NULL if there was an error.  I<The caller "
@@ -6538,12 +6974,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1722
+#: ../src/guestfs-actions.pod:1816
 msgid "guestfs_glob_expand"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_glob_expand"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1724
+#: ../src/guestfs-actions.pod:1818
 #, no-wrap
 msgid ""
 " char **guestfs_glob_expand (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_glob_expand (guestfs_h *g,\n"
@@ -6552,31 +6988,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1727 ../fish/guestfish-actions.pod:1373
+#: ../src/guestfs-actions.pod:1821 ../fish/guestfish-actions.pod:1433
 msgid ""
 "This command searches for all the pathnames matching C<pattern> according to "
 "the wildcard expansion rules used by the shell."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command searches for all the pathnames matching C<pattern> according to "
 "the wildcard expansion rules used by the shell."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1731 ../fish/guestfish-actions.pod:1377
+#: ../src/guestfs-actions.pod:1825 ../fish/guestfish-actions.pod:1437
 msgid "If no paths match, then this returns an empty list (note: not an error)."
 msgstr ""
 
 # type: textblock
 msgid "If no paths match, then this returns an empty list (note: not an error)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1734 ../fish/guestfish-actions.pod:1380
+#: ../src/guestfs-actions.pod:1828 ../fish/guestfish-actions.pod:1440
 msgid ""
 "It is just a wrapper around the C L<glob(3)> function with flags "
 "C<GLOB_MARK|GLOB_BRACE>.  See that manual page for more details."
 msgstr ""
 
 # type: =head2
 msgid ""
 "It is just a wrapper around the C L<glob(3)> function with flags "
 "C<GLOB_MARK|GLOB_BRACE>.  See that manual page for more details."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1742
+#: ../src/guestfs-actions.pod:1836
 msgid "guestfs_grep"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_grep"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1744
+#: ../src/guestfs-actions.pod:1838
 #, no-wrap
 msgid ""
 " char **guestfs_grep (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_grep (guestfs_h *g,\n"
@@ -6586,17 +7022,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1748 ../fish/guestfish-actions.pod:1388
+#: ../src/guestfs-actions.pod:1842 ../fish/guestfish-actions.pod:1448
 msgid "This calls the external C<grep> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
 msgid "This calls the external C<grep> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1758
+#: ../src/guestfs-actions.pod:1852
 msgid "guestfs_grepi"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_grepi"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1760
+#: ../src/guestfs-actions.pod:1854
 #, no-wrap
 msgid ""
 " char **guestfs_grepi (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_grepi (guestfs_h *g,\n"
@@ -6606,17 +7042,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1764 ../fish/guestfish-actions.pod:1398
+#: ../src/guestfs-actions.pod:1858 ../fish/guestfish-actions.pod:1458
 msgid "This calls the external C<grep -i> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
 msgid "This calls the external C<grep -i> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1774
+#: ../src/guestfs-actions.pod:1868
 msgid "guestfs_grub_install"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_grub_install"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1776
+#: ../src/guestfs-actions.pod:1870
 #, no-wrap
 msgid ""
 " int guestfs_grub_install (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_grub_install (guestfs_h *g,\n"
@@ -6626,14 +7062,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1780 ../fish/guestfish-actions.pod:1408
+#: ../src/guestfs-actions.pod:1874 ../fish/guestfish-actions.pod:1468
 msgid ""
 "This command installs GRUB (the Grand Unified Bootloader) on C<device>, with "
 "the root directory being C<root>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command installs GRUB (the Grand Unified Bootloader) on C<device>, with "
 "the root directory being C<root>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1783 ../fish/guestfish-actions.pod:1411
+#: ../src/guestfs-actions.pod:1877 ../fish/guestfish-actions.pod:1471
 msgid ""
 "Note: If grub-install reports the error \"No suitable drive was found in the "
 "generated device map.\" it may be that you need to create a "
 msgid ""
 "Note: If grub-install reports the error \"No suitable drive was found in the "
 "generated device map.\" it may be that you need to create a "
@@ -6643,7 +7079,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1790 ../fish/guestfish-actions.pod:1418
+#: ../src/guestfs-actions.pod:1884 ../fish/guestfish-actions.pod:1478
 #, no-wrap
 msgid ""
 " (hd0) /dev/vda\n"
 #, no-wrap
 msgid ""
 " (hd0) /dev/vda\n"
@@ -6651,17 +7087,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1792 ../fish/guestfish-actions.pod:1420
+#: ../src/guestfs-actions.pod:1886 ../fish/guestfish-actions.pod:1480
 msgid "replacing C</dev/vda> with the name of the installation device."
 msgstr ""
 
 # type: =head2
 msgid "replacing C</dev/vda> with the name of the installation device."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1796
+#: ../src/guestfs-actions.pod:1890
 msgid "guestfs_head"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_head"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1798
+#: ../src/guestfs-actions.pod:1892
 #, no-wrap
 msgid ""
 " char **guestfs_head (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_head (guestfs_h *g,\n"
@@ -6670,19 +7106,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1801 ../fish/guestfish-actions.pod:1426
+#: ../src/guestfs-actions.pod:1895 ../fish/guestfish-actions.pod:1486
 msgid ""
 "This command returns up to the first 10 lines of a file as a list of "
 "strings."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command returns up to the first 10 lines of a file as a list of "
 "strings."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1811
+#: ../src/guestfs-actions.pod:1905
 msgid "guestfs_head_n"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_head_n"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1813
+#: ../src/guestfs-actions.pod:1907
 #, no-wrap
 msgid ""
 " char **guestfs_head_n (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_head_n (guestfs_h *g,\n"
@@ -6692,31 +7128,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1817 ../fish/guestfish-actions.pod:1436
+#: ../src/guestfs-actions.pod:1911 ../fish/guestfish-actions.pod:1496
 msgid ""
 "If the parameter C<nrlines> is a positive number, this returns the first "
 "C<nrlines> lines of the file C<path>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "If the parameter C<nrlines> is a positive number, this returns the first "
 "C<nrlines> lines of the file C<path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1820 ../fish/guestfish-actions.pod:1439
+#: ../src/guestfs-actions.pod:1914 ../fish/guestfish-actions.pod:1499
 msgid ""
 "If the parameter C<nrlines> is a negative number, this returns lines from "
 "the file C<path>, excluding the last C<nrlines> lines."
 msgstr ""
 
 # type: textblock
 msgid ""
 "If the parameter C<nrlines> is a negative number, this returns lines from "
 "the file C<path>, excluding the last C<nrlines> lines."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1823 ../src/guestfs-actions.pod:4845 ../fish/guestfish-actions.pod:1442 ../fish/guestfish-actions.pod:3737
+#: ../src/guestfs-actions.pod:1917 ../src/guestfs-actions.pod:4985 ../fish/guestfish-actions.pod:1502 ../fish/guestfish-actions.pod:3853
 msgid "If the parameter C<nrlines> is zero, this returns an empty list."
 msgstr ""
 
 # type: =head2
 msgid "If the parameter C<nrlines> is zero, this returns an empty list."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1832
+#: ../src/guestfs-actions.pod:1926
 msgid "guestfs_hexdump"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_hexdump"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1834
+#: ../src/guestfs-actions.pod:1928
 #, no-wrap
 msgid ""
 " char *guestfs_hexdump (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_hexdump (guestfs_h *g,\n"
@@ -6725,19 +7161,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1837 ../fish/guestfish-actions.pod:1451
+#: ../src/guestfs-actions.pod:1931 ../fish/guestfish-actions.pod:1511
 msgid ""
 "This runs C<hexdump -C> on the given C<path>.  The result is the "
 "human-readable, canonical hex dump of the file."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This runs C<hexdump -C> on the given C<path>.  The result is the "
 "human-readable, canonical hex dump of the file."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1846
+#: ../src/guestfs-actions.pod:1940
 msgid "guestfs_initrd_cat"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_initrd_cat"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1848
+#: ../src/guestfs-actions.pod:1942
 #, no-wrap
 msgid ""
 " char *guestfs_initrd_cat (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_initrd_cat (guestfs_h *g,\n"
@@ -6748,7 +7184,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1853 ../fish/guestfish-actions.pod:1461
+#: ../src/guestfs-actions.pod:1947 ../fish/guestfish-actions.pod:1521
 msgid ""
 "This command unpacks the file C<filename> from the initrd file called "
 "C<initrdpath>.  The filename must be given I<without> the initial C</> "
 msgid ""
 "This command unpacks the file C<filename> from the initrd file called "
 "C<initrdpath>.  The filename must be given I<without> the initial C</> "
@@ -6756,7 +7192,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1857 ../fish/guestfish-actions.pod:1465
+#: ../src/guestfs-actions.pod:1951 ../fish/guestfish-actions.pod:1525
 msgid ""
 "For example, in guestfish you could use the following command to examine the "
 "boot script (usually called C</init>)  contained in a Linux initrd or "
 msgid ""
 "For example, in guestfish you could use the following command to examine the "
 "boot script (usually called C</init>)  contained in a Linux initrd or "
@@ -6764,7 +7200,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1861 ../fish/guestfish-actions.pod:1469
+#: ../src/guestfs-actions.pod:1955 ../fish/guestfish-actions.pod:1529
 #, no-wrap
 msgid ""
 " initrd-cat /boot/initrd-<version>.img init\n"
 #, no-wrap
 msgid ""
 " initrd-cat /boot/initrd-<version>.img init\n"
@@ -6772,12 +7208,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1863
+#: ../src/guestfs-actions.pod:1957
 msgid "See also C<guestfs_initrd_list>."
 msgstr ""
 
 # type: textblock
 msgid "See also C<guestfs_initrd_list>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1865 ../src/guestfs-actions.pod:3803 ../src/guestfs-actions.pod:3932
+#: ../src/guestfs-actions.pod:1959 ../src/guestfs-actions.pod:3897 ../src/guestfs-actions.pod:3920 ../src/guestfs-actions.pod:4072
 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 "
 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 "
@@ -6785,12 +7221,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1872
+#: ../src/guestfs-actions.pod:1966
 msgid "guestfs_initrd_list"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_initrd_list"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1874
+#: ../src/guestfs-actions.pod:1968
 #, no-wrap
 msgid ""
 " char **guestfs_initrd_list (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_initrd_list (guestfs_h *g,\n"
@@ -6799,12 +7235,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1877 ../fish/guestfish-actions.pod:1480
+#: ../src/guestfs-actions.pod:1971 ../fish/guestfish-actions.pod:1540
 msgid "This command lists out files contained in an initrd."
 msgstr ""
 
 # type: textblock
 msgid "This command lists out files contained in an initrd."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1879 ../fish/guestfish-actions.pod:1482
+#: ../src/guestfs-actions.pod:1973 ../fish/guestfish-actions.pod:1542
 msgid ""
 "The files are listed without any initial C</> character.  The files are "
 "listed in the order they appear (not necessarily alphabetical).  Directory "
 msgid ""
 "The files are listed without any initial C</> character.  The files are "
 "listed in the order they appear (not necessarily alphabetical).  Directory "
@@ -6812,7 +7248,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1883 ../fish/guestfish-actions.pod:1486
+#: ../src/guestfs-actions.pod:1977 ../fish/guestfish-actions.pod:1546
 msgid ""
 "Old Linux kernels (2.4 and earlier) used a compressed ext2 filesystem as "
 "initrd.  We I<only> support the newer initramfs format (compressed cpio "
 msgid ""
 "Old Linux kernels (2.4 and earlier) used a compressed ext2 filesystem as "
 "initrd.  We I<only> support the newer initramfs format (compressed cpio "
@@ -6820,12 +7256,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1891
+#: ../src/guestfs-actions.pod:1985
 msgid "guestfs_inotify_add_watch"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_inotify_add_watch"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1893
+#: ../src/guestfs-actions.pod:1987
 #, no-wrap
 msgid ""
 " int64_t guestfs_inotify_add_watch (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int64_t guestfs_inotify_add_watch (guestfs_h *g,\n"
@@ -6835,31 +7271,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1897 ../fish/guestfish-actions.pod:1494
+#: ../src/guestfs-actions.pod:1991 ../fish/guestfish-actions.pod:1554
 msgid "Watch C<path> for the events listed in C<mask>."
 msgstr ""
 
 # type: textblock
 msgid "Watch C<path> for the events listed in C<mask>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1899 ../fish/guestfish-actions.pod:1496
+#: ../src/guestfs-actions.pod:1993 ../fish/guestfish-actions.pod:1556
 msgid ""
 "Note that if C<path> is a directory then events within that directory are "
 "watched, but this does I<not> happen recursively (in subdirectories)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Note that if C<path> is a directory then events within that directory are "
 "watched, but this does I<not> happen recursively (in subdirectories)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1903 ../fish/guestfish-actions.pod:1500
+#: ../src/guestfs-actions.pod:1997 ../fish/guestfish-actions.pod:1560
 msgid ""
 "Note for non-C or non-Linux callers: the inotify events are defined by the "
 "Linux kernel ABI and are listed in C</usr/include/sys/inotify.h>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "Note for non-C or non-Linux callers: the inotify events are defined by the "
 "Linux kernel ABI and are listed in C</usr/include/sys/inotify.h>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1909
+#: ../src/guestfs-actions.pod:2003
 msgid "guestfs_inotify_close"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_inotify_close"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1911
+#: ../src/guestfs-actions.pod:2005
 #, no-wrap
 msgid ""
 " int guestfs_inotify_close (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_inotify_close (guestfs_h *g);\n"
@@ -6867,7 +7303,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1913 ../fish/guestfish-actions.pod:1508
+#: ../src/guestfs-actions.pod:2007 ../fish/guestfish-actions.pod:1568
 msgid ""
 "This closes the inotify handle which was previously opened by inotify_init.  "
 "It removes all watches, throws away any pending events, and deallocates all "
 msgid ""
 "This closes the inotify handle which was previously opened by inotify_init.  "
 "It removes all watches, throws away any pending events, and deallocates all "
@@ -6875,12 +7311,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1919
+#: ../src/guestfs-actions.pod:2013
 msgid "guestfs_inotify_files"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_inotify_files"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1921
+#: ../src/guestfs-actions.pod:2015
 #, no-wrap
 msgid ""
 " char **guestfs_inotify_files (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " char **guestfs_inotify_files (guestfs_h *g);\n"
@@ -6888,7 +7324,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1923
+#: ../src/guestfs-actions.pod:2017
 msgid ""
 "This function is a helpful wrapper around C<guestfs_inotify_read> which just "
 "returns a list of pathnames of objects that were touched.  The returned "
 msgid ""
 "This function is a helpful wrapper around C<guestfs_inotify_read> which just "
 "returns a list of pathnames of objects that were touched.  The returned "
@@ -6896,12 +7332,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1931
+#: ../src/guestfs-actions.pod:2025
 msgid "guestfs_inotify_init"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_inotify_init"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1933
+#: ../src/guestfs-actions.pod:2027
 #, no-wrap
 msgid ""
 " int guestfs_inotify_init (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_inotify_init (guestfs_h *g,\n"
@@ -6910,14 +7346,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1936 ../fish/guestfish-actions.pod:1524
+#: ../src/guestfs-actions.pod:2030 ../fish/guestfish-actions.pod:1584
 msgid ""
 "This command creates a new inotify handle.  The inotify subsystem can be "
 "used to notify events which happen to objects in the guest filesystem."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command creates a new inotify handle.  The inotify subsystem can be "
 "used to notify events which happen to objects in the guest filesystem."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1940
+#: ../src/guestfs-actions.pod:2034
 msgid ""
 "C<maxevents> is the maximum number of events which will be queued up between "
 "calls to C<guestfs_inotify_read> or C<guestfs_inotify_files>.  If this is "
 msgid ""
 "C<maxevents> is the maximum number of events which will be queued up between "
 "calls to C<guestfs_inotify_read> or C<guestfs_inotify_files>.  If this is "
@@ -6929,7 +7365,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1950
+#: ../src/guestfs-actions.pod:2044
 msgid ""
 "Before any events are generated, you have to add some watches to the "
 "internal watch list.  See: C<guestfs_inotify_add_watch>, "
 msgid ""
 "Before any events are generated, you have to add some watches to the "
 "internal watch list.  See: C<guestfs_inotify_add_watch>, "
@@ -6937,7 +7373,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1956
+#: ../src/guestfs-actions.pod:2050
 msgid ""
 "Queued up events should be read periodically by calling "
 "C<guestfs_inotify_read> (or C<guestfs_inotify_files> which is just a helpful "
 msgid ""
 "Queued up events should be read periodically by calling "
 "C<guestfs_inotify_read> (or C<guestfs_inotify_files> which is just a helpful "
@@ -6946,14 +7382,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1963
+#: ../src/guestfs-actions.pod:2057
 msgid ""
 "The handle should be closed after use by calling C<guestfs_inotify_close>.  "
 "This also removes any watches automatically."
 msgstr ""
 
 # type: textblock
 msgid ""
 "The handle should be closed after use by calling C<guestfs_inotify_close>.  "
 "This also removes any watches automatically."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1967 ../fish/guestfish-actions.pod:1555
+#: ../src/guestfs-actions.pod:2061 ../fish/guestfish-actions.pod:1615
 msgid ""
 "See also L<inotify(7)> for an overview of the inotify interface as exposed "
 "by the Linux kernel, which is roughly what we expose via libguestfs.  Note "
 msgid ""
 "See also L<inotify(7)> for an overview of the inotify interface as exposed "
 "by the Linux kernel, which is roughly what we expose via libguestfs.  Note "
@@ -6961,12 +7397,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1974
+#: ../src/guestfs-actions.pod:2068
 msgid "guestfs_inotify_read"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_inotify_read"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1976
+#: ../src/guestfs-actions.pod:2070
 #, no-wrap
 msgid ""
 " struct guestfs_inotify_event_list *guestfs_inotify_read (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " struct guestfs_inotify_event_list *guestfs_inotify_read (guestfs_h *g);\n"
@@ -6974,19 +7410,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1978 ../fish/guestfish-actions.pod:1564
+#: ../src/guestfs-actions.pod:2072 ../fish/guestfish-actions.pod:1624
 msgid ""
 "Return the complete queue of events that have happened since the previous "
 "read call."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Return the complete queue of events that have happened since the previous "
 "read call."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1981 ../fish/guestfish-actions.pod:1567
+#: ../src/guestfs-actions.pod:2075 ../fish/guestfish-actions.pod:1627
 msgid "If no events have happened, this returns an empty list."
 msgstr ""
 
 # type: textblock
 msgid "If no events have happened, this returns an empty list."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1983 ../fish/guestfish-actions.pod:1569
+#: ../src/guestfs-actions.pod:2077 ../fish/guestfish-actions.pod:1629
 msgid ""
 "I<Note>: In order to make sure that all events have been read, you must call "
 "this function repeatedly until it returns an empty list.  The reason is that "
 msgid ""
 "I<Note>: In order to make sure that all events have been read, you must call "
 "this function repeatedly until it returns an empty list.  The reason is that "
@@ -6995,7 +7431,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1989
+#: ../src/guestfs-actions.pod:2083
 msgid ""
 "This function returns a C<struct guestfs_inotify_event_list *> (see "
 "E<lt>guestfs-structs.hE<gt>), or NULL if there was an error.  I<The caller "
 msgid ""
 "This function returns a C<struct guestfs_inotify_event_list *> (see "
 "E<lt>guestfs-structs.hE<gt>), or NULL if there was an error.  I<The caller "
@@ -7003,12 +7439,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:1994
+#: ../src/guestfs-actions.pod:2088
 msgid "guestfs_inotify_rm_watch"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_inotify_rm_watch"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:1996
+#: ../src/guestfs-actions.pod:2090
 #, no-wrap
 msgid ""
 " int guestfs_inotify_rm_watch (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_inotify_rm_watch (guestfs_h *g,\n"
@@ -7017,19 +7453,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:1999
+#: ../src/guestfs-actions.pod:2093
 msgid ""
 "Remove a previously defined inotify watch.  See "
 "C<guestfs_inotify_add_watch>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "Remove a previously defined inotify watch.  See "
 "C<guestfs_inotify_add_watch>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2004
+#: ../src/guestfs-actions.pod:2098
 msgid "guestfs_inspect_get_arch"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_inspect_get_arch"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2006
+#: ../src/guestfs-actions.pod:2100
 #, no-wrap
 msgid ""
 " char *guestfs_inspect_get_arch (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_inspect_get_arch (guestfs_h *g,\n"
@@ -7038,38 +7474,38 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2009 ../src/guestfs-actions.pod:2029 ../src/guestfs-actions.pod:2079 ../src/guestfs-actions.pod:2102 ../src/guestfs-actions.pod:2126 ../src/guestfs-actions.pod:2144 ../src/guestfs-actions.pod:2174 ../src/guestfs-actions.pod:2195
+#: ../src/guestfs-actions.pod:2103 ../src/guestfs-actions.pod:2123 ../src/guestfs-actions.pod:2173 ../src/guestfs-actions.pod:2196 ../src/guestfs-actions.pod:2220 ../src/guestfs-actions.pod:2238 ../src/guestfs-actions.pod:2268 ../src/guestfs-actions.pod:2289
 msgid ""
 "This function should only be called with a root device string as returned by "
 "C<guestfs_inspect_os>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This function should only be called with a root device string as returned by "
 "C<guestfs_inspect_os>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2012
+#: ../src/guestfs-actions.pod:2106
 msgid ""
 "This returns the architecture of the inspected operating system.  The "
 "possible return values are listed under C<guestfs_file_architecture>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This returns the architecture of the inspected operating system.  The "
 "possible return values are listed under C<guestfs_file_architecture>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2016 ../fish/guestfish-actions.pod:1593
+#: ../src/guestfs-actions.pod:2110 ../fish/guestfish-actions.pod:1653
 msgid ""
 "If the architecture could not be determined, then the string C<unknown> is "
 "returned."
 msgstr ""
 
 # type: textblock
 msgid ""
 "If the architecture could not be determined, then the string C<unknown> is "
 "returned."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2019 ../src/guestfs-actions.pod:2069 ../src/guestfs-actions.pod:2117 ../src/guestfs-actions.pod:2185 ../src/guestfs-actions.pod:2220 ../src/guestfs-actions.pod:2257 ../fish/guestfish-actions.pod:1596 ../fish/guestfish-actions.pod:1642 ../fish/guestfish-actions.pod:1681 ../fish/guestfish-actions.pod:1736 ../fish/guestfish-actions.pod:1767 ../fish/guestfish-actions.pod:1801
+#: ../src/guestfs-actions.pod:2113 ../src/guestfs-actions.pod:2163 ../src/guestfs-actions.pod:2211 ../src/guestfs-actions.pod:2279 ../src/guestfs-actions.pod:2314 ../src/guestfs-actions.pod:2351 ../fish/guestfish-actions.pod:1656 ../fish/guestfish-actions.pod:1702 ../fish/guestfish-actions.pod:1741 ../fish/guestfish-actions.pod:1796 ../fish/guestfish-actions.pod:1827 ../fish/guestfish-actions.pod:1861
 msgid "Please read L<guestfs(3)/INSPECTION> for more details."
 msgstr ""
 
 # type: =head2
 msgid "Please read L<guestfs(3)/INSPECTION> for more details."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2024
+#: ../src/guestfs-actions.pod:2118
 msgid "guestfs_inspect_get_distro"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_inspect_get_distro"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2026
+#: ../src/guestfs-actions.pod:2120
 #, no-wrap
 msgid ""
 " char *guestfs_inspect_get_distro (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_inspect_get_distro (guestfs_h *g,\n"
@@ -7078,91 +7514,91 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2032 ../fish/guestfish-actions.pod:1605
+#: ../src/guestfs-actions.pod:2126 ../fish/guestfish-actions.pod:1665
 msgid "This returns the distro (distribution) of the inspected operating system."
 msgstr ""
 
 # type: textblock
 msgid "This returns the distro (distribution) of the inspected operating system."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2035 ../fish/guestfish-actions.pod:1608
+#: ../src/guestfs-actions.pod:2129 ../fish/guestfish-actions.pod:1668
 msgid "Currently defined distros are:"
 msgstr ""
 
 # type: =item
 msgid "Currently defined distros are:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2039 ../fish/guestfish-actions.pod:1612
+#: ../src/guestfs-actions.pod:2133 ../fish/guestfish-actions.pod:1672
 msgid "\"debian\""
 msgstr ""
 
 # type: textblock
 msgid "\"debian\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2041 ../fish/guestfish-actions.pod:1614
+#: ../src/guestfs-actions.pod:2135 ../fish/guestfish-actions.pod:1674
 msgid "Debian or a Debian-derived distro such as Ubuntu."
 msgstr ""
 
 # type: =item
 msgid "Debian or a Debian-derived distro such as Ubuntu."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2043 ../fish/guestfish-actions.pod:1616
+#: ../src/guestfs-actions.pod:2137 ../fish/guestfish-actions.pod:1676
 msgid "\"fedora\""
 msgstr ""
 
 # type: textblock
 msgid "\"fedora\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2045 ../fish/guestfish-actions.pod:1618
+#: ../src/guestfs-actions.pod:2139 ../fish/guestfish-actions.pod:1678
 msgid "Fedora."
 msgstr ""
 
 # type: =item
 msgid "Fedora."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2047 ../fish/guestfish-actions.pod:1620
+#: ../src/guestfs-actions.pod:2141 ../fish/guestfish-actions.pod:1680
 msgid "\"redhat-based\""
 msgstr ""
 
 # type: textblock
 msgid "\"redhat-based\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2049 ../fish/guestfish-actions.pod:1622
+#: ../src/guestfs-actions.pod:2143 ../fish/guestfish-actions.pod:1682
 msgid "Some Red Hat-derived distro."
 msgstr ""
 
 # type: =item
 msgid "Some Red Hat-derived distro."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2051 ../fish/guestfish-actions.pod:1624
+#: ../src/guestfs-actions.pod:2145 ../fish/guestfish-actions.pod:1684
 msgid "\"rhel\""
 msgstr ""
 
 # type: textblock
 msgid "\"rhel\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2053 ../fish/guestfish-actions.pod:1626
+#: ../src/guestfs-actions.pod:2147 ../fish/guestfish-actions.pod:1686
 msgid "Red Hat Enterprise Linux and some derivatives."
 msgstr ""
 
 # type: =item
 msgid "Red Hat Enterprise Linux and some derivatives."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2055 ../src/guestfs-actions.pod:2207 ../fish/guestfish-actions.pod:1628 ../fish/guestfish-actions.pod:1754
+#: ../src/guestfs-actions.pod:2149 ../src/guestfs-actions.pod:2301 ../fish/guestfish-actions.pod:1688 ../fish/guestfish-actions.pod:1814
 msgid "\"windows\""
 msgstr ""
 
 # type: textblock
 msgid "\"windows\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2057 ../fish/guestfish-actions.pod:1630
+#: ../src/guestfs-actions.pod:2151 ../fish/guestfish-actions.pod:1690
 msgid ""
 "Windows does not have distributions.  This string is returned if the OS type "
 "is Windows."
 msgstr ""
 
 # type: =item
 msgid ""
 "Windows does not have distributions.  This string is returned if the OS type "
 "is Windows."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2060 ../src/guestfs-actions.pod:2211 ../fish/guestfish-actions.pod:1633 ../fish/guestfish-actions.pod:1758
+#: ../src/guestfs-actions.pod:2154 ../src/guestfs-actions.pod:2305 ../fish/guestfish-actions.pod:1693 ../fish/guestfish-actions.pod:1818
 msgid "\"unknown\""
 msgstr ""
 
 # type: textblock
 msgid "\"unknown\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2062 ../fish/guestfish-actions.pod:1635
+#: ../src/guestfs-actions.pod:2156 ../fish/guestfish-actions.pod:1695
 msgid "The distro could not be determined."
 msgstr ""
 
 # type: textblock
 msgid "The distro could not be determined."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2066 ../src/guestfs-actions.pod:2217 ../fish/guestfish-actions.pod:1639 ../fish/guestfish-actions.pod:1764
+#: ../src/guestfs-actions.pod:2160 ../src/guestfs-actions.pod:2311 ../fish/guestfish-actions.pod:1699 ../fish/guestfish-actions.pod:1824
 msgid ""
 "Future versions of libguestfs may return other strings here.  The caller "
 "should be prepared to handle any string."
 msgstr ""
 
 # type: =head2
 msgid ""
 "Future versions of libguestfs may return other strings here.  The caller "
 "should be prepared to handle any string."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2074
+#: ../src/guestfs-actions.pod:2168
 msgid "guestfs_inspect_get_filesystems"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_inspect_get_filesystems"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2076
+#: ../src/guestfs-actions.pod:2170
 #, no-wrap
 msgid ""
 " char **guestfs_inspect_get_filesystems (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_inspect_get_filesystems (guestfs_h *g,\n"
@@ -7171,7 +7607,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2082 ../fish/guestfish-actions.pod:1651
+#: ../src/guestfs-actions.pod:2176 ../fish/guestfish-actions.pod:1711
 msgid ""
 "This returns a list of all the filesystems that we think are associated with "
 "this operating system.  This includes the root filesystem, other ordinary "
 msgid ""
 "This returns a list of all the filesystems that we think are associated with "
 "this operating system.  This includes the root filesystem, other ordinary "
@@ -7179,26 +7615,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2087 ../fish/guestfish-actions.pod:1656
+#: ../src/guestfs-actions.pod:2181 ../fish/guestfish-actions.pod:1716
 msgid ""
 "In the case of a multi-boot virtual machine, it is possible for a filesystem "
 "to be shared between operating systems."
 msgstr ""
 
 # type: textblock
 msgid ""
 "In the case of a multi-boot virtual machine, it is possible for a filesystem "
 "to be shared between operating systems."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2090
+#: ../src/guestfs-actions.pod:2184
 msgid ""
 "Please read L<guestfs(3)/INSPECTION> for more details.  See also "
 "C<guestfs_inspect_get_mountpoints>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "Please read L<guestfs(3)/INSPECTION> for more details.  See also "
 "C<guestfs_inspect_get_mountpoints>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2097
+#: ../src/guestfs-actions.pod:2191
 msgid "guestfs_inspect_get_major_version"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_inspect_get_major_version"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2099
+#: ../src/guestfs-actions.pod:2193
 #, no-wrap
 msgid ""
 " int guestfs_inspect_get_major_version (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_inspect_get_major_version (guestfs_h *g,\n"
@@ -7207,12 +7643,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2105 ../fish/guestfish-actions.pod:1669
+#: ../src/guestfs-actions.pod:2199 ../fish/guestfish-actions.pod:1729
 msgid "This returns the major version number of the inspected operating system."
 msgstr ""
 
 # type: textblock
 msgid "This returns the major version number of the inspected operating system."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2108 ../fish/guestfish-actions.pod:1672
+#: ../src/guestfs-actions.pod:2202 ../fish/guestfish-actions.pod:1732
 msgid ""
 "Windows uses a consistent versioning scheme which is I<not> reflected in the "
 "popular public names used by the operating system.  Notably the operating "
 msgid ""
 "Windows uses a consistent versioning scheme which is I<not> reflected in the "
 "popular public names used by the operating system.  Notably the operating "
@@ -7222,17 +7658,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2115 ../src/guestfs-actions.pod:2132 ../fish/guestfish-actions.pod:1679 ../fish/guestfish-actions.pod:1693
+#: ../src/guestfs-actions.pod:2209 ../src/guestfs-actions.pod:2226 ../fish/guestfish-actions.pod:1739 ../fish/guestfish-actions.pod:1753
 msgid "If the version could not be determined, then C<0> is returned."
 msgstr ""
 
 # type: =head2
 msgid "If the version could not be determined, then C<0> is returned."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2121
+#: ../src/guestfs-actions.pod:2215
 msgid "guestfs_inspect_get_minor_version"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_inspect_get_minor_version"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2123
+#: ../src/guestfs-actions.pod:2217
 #, no-wrap
 msgid ""
 " int guestfs_inspect_get_minor_version (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_inspect_get_minor_version (guestfs_h *g,\n"
@@ -7241,24 +7677,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2129 ../fish/guestfish-actions.pod:1690
+#: ../src/guestfs-actions.pod:2223 ../fish/guestfish-actions.pod:1750
 msgid "This returns the minor version number of the inspected operating system."
 msgstr ""
 
 # type: textblock
 msgid "This returns the minor version number of the inspected operating system."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2134
+#: ../src/guestfs-actions.pod:2228
 msgid ""
 "Please read L<guestfs(3)/INSPECTION> for more details.  See also "
 "C<guestfs_inspect_get_major_version>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "Please read L<guestfs(3)/INSPECTION> for more details.  See also "
 "C<guestfs_inspect_get_major_version>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2139
+#: ../src/guestfs-actions.pod:2233
 msgid "guestfs_inspect_get_mountpoints"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_inspect_get_mountpoints"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2141
+#: ../src/guestfs-actions.pod:2235
 #, no-wrap
 msgid ""
 " char **guestfs_inspect_get_mountpoints (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_inspect_get_mountpoints (guestfs_h *g,\n"
@@ -7267,7 +7703,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2147 ../fish/guestfish-actions.pod:1705
+#: ../src/guestfs-actions.pod:2241 ../fish/guestfish-actions.pod:1765
 msgid ""
 "This returns a hash of where we think the filesystems associated with this "
 "operating system should be mounted.  Callers should note that this is at "
 msgid ""
 "This returns a hash of where we think the filesystems associated with this "
 "operating system should be mounted.  Callers should note that this is at "
@@ -7276,7 +7712,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2152 ../fish/guestfish-actions.pod:1710
+#: ../src/guestfs-actions.pod:2246 ../fish/guestfish-actions.pod:1770
 msgid ""
 "Each element in the returned hashtable has a key which is the path of the "
 "mountpoint (eg. C</boot>) and a value which is the filesystem that would be "
 msgid ""
 "Each element in the returned hashtable has a key which is the path of the "
 "mountpoint (eg. C</boot>) and a value which is the filesystem that would be "
@@ -7284,19 +7720,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2157 ../fish/guestfish-actions.pod:1715
+#: ../src/guestfs-actions.pod:2251 ../fish/guestfish-actions.pod:1775
 msgid "Non-mounted devices such as swap devices are I<not> returned in this list."
 msgstr ""
 
 # type: textblock
 msgid "Non-mounted devices such as swap devices are I<not> returned in this list."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2160
+#: ../src/guestfs-actions.pod:2254
 msgid ""
 "Please read L<guestfs(3)/INSPECTION> for more details.  See also "
 "C<guestfs_inspect_get_filesystems>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Please read L<guestfs(3)/INSPECTION> for more details.  See also "
 "C<guestfs_inspect_get_filesystems>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2163 ../src/guestfs-actions.pod:2503 ../src/guestfs-actions.pod:3425 ../src/guestfs-actions.pod:4962
+#: ../src/guestfs-actions.pod:2257 ../src/guestfs-actions.pod:2597 ../src/guestfs-actions.pod:3519 ../src/guestfs-actions.pod:5102
 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 "
 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 "
@@ -7305,12 +7741,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2169
+#: ../src/guestfs-actions.pod:2263
 msgid "guestfs_inspect_get_product_name"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_inspect_get_product_name"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2171
+#: ../src/guestfs-actions.pod:2265
 #, no-wrap
 msgid ""
 " char *guestfs_inspect_get_product_name (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_inspect_get_product_name (guestfs_h *g,\n"
@@ -7319,7 +7755,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2177 ../fish/guestfish-actions.pod:1728
+#: ../src/guestfs-actions.pod:2271 ../fish/guestfish-actions.pod:1788
 msgid ""
 "This returns the product name of the inspected operating system.  The "
 "product name is generally some freeform string which can be displayed to the "
 msgid ""
 "This returns the product name of the inspected operating system.  The "
 "product name is generally some freeform string which can be displayed to the "
@@ -7327,19 +7763,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2182 ../fish/guestfish-actions.pod:1733
+#: ../src/guestfs-actions.pod:2276 ../fish/guestfish-actions.pod:1793
 msgid ""
 "If the product name could not be determined, then the string C<unknown> is "
 "returned."
 msgstr ""
 
 # type: =head2
 msgid ""
 "If the product name could not be determined, then the string C<unknown> is "
 "returned."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2190
+#: ../src/guestfs-actions.pod:2284
 msgid "guestfs_inspect_get_type"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_inspect_get_type"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2192
+#: ../src/guestfs-actions.pod:2286
 #, no-wrap
 msgid ""
 " char *guestfs_inspect_get_type (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_inspect_get_type (guestfs_h *g,\n"
@@ -7348,39 +7784,39 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2198 ../fish/guestfish-actions.pod:1745
+#: ../src/guestfs-actions.pod:2292 ../fish/guestfish-actions.pod:1805
 msgid ""
 "This returns the type of the inspected operating system.  Currently defined "
 "types are:"
 msgstr ""
 
 # type: =item
 msgid ""
 "This returns the type of the inspected operating system.  Currently defined "
 "types are:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2203 ../fish/guestfish-actions.pod:1750
+#: ../src/guestfs-actions.pod:2297 ../fish/guestfish-actions.pod:1810
 msgid "\"linux\""
 msgstr ""
 
 # type: textblock
 msgid "\"linux\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2205 ../fish/guestfish-actions.pod:1752
+#: ../src/guestfs-actions.pod:2299 ../fish/guestfish-actions.pod:1812
 msgid "Any Linux-based operating system."
 msgstr ""
 
 # type: textblock
 msgid "Any Linux-based operating system."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2209 ../fish/guestfish-actions.pod:1756
+#: ../src/guestfs-actions.pod:2303 ../fish/guestfish-actions.pod:1816
 msgid "Any Microsoft Windows operating system."
 msgstr ""
 
 # type: textblock
 msgid "Any Microsoft Windows operating system."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2213 ../fish/guestfish-actions.pod:1760
+#: ../src/guestfs-actions.pod:2307 ../fish/guestfish-actions.pod:1820
 msgid "The operating system type could not be determined."
 msgstr ""
 
 # type: =head2
 msgid "The operating system type could not be determined."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2225
+#: ../src/guestfs-actions.pod:2319
 msgid "guestfs_inspect_os"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_inspect_os"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2227
+#: ../src/guestfs-actions.pod:2321
 #, no-wrap
 msgid ""
 " char **guestfs_inspect_os (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " char **guestfs_inspect_os (guestfs_h *g);\n"
@@ -7388,7 +7824,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2229 ../fish/guestfish-actions.pod:1773
+#: ../src/guestfs-actions.pod:2323 ../fish/guestfish-actions.pod:1833
 msgid ""
 "This function uses other libguestfs functions and certain heuristics to "
 "inspect the disk(s) (usually disks belonging to a virtual machine), looking "
 msgid ""
 "This function uses other libguestfs functions and certain heuristics to "
 "inspect the disk(s) (usually disks belonging to a virtual machine), looking "
@@ -7396,12 +7832,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2233 ../fish/guestfish-actions.pod:1777
+#: ../src/guestfs-actions.pod:2327 ../fish/guestfish-actions.pod:1837
 msgid "The list returned is empty if no operating systems were found."
 msgstr ""
 
 # type: textblock
 msgid "The list returned is empty if no operating systems were found."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2235 ../fish/guestfish-actions.pod:1779
+#: ../src/guestfs-actions.pod:2329 ../fish/guestfish-actions.pod:1839
 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.  "
 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.  "
@@ -7411,7 +7847,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2242
+#: ../src/guestfs-actions.pod:2336
 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, "
 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, "
@@ -7419,7 +7855,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2247
+#: ../src/guestfs-actions.pod:2341
 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 "
 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 "
@@ -7428,24 +7864,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2253 ../fish/guestfish-actions.pod:1797
+#: ../src/guestfs-actions.pod:2347 ../fish/guestfish-actions.pod:1857
 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
 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:2259 ../src/guestfs-actions.pod:2464 ../src/guestfs-actions.pod:2520
+#: ../src/guestfs-actions.pod:2353 ../src/guestfs-actions.pod:2558 ../src/guestfs-actions.pod:2614
 msgid "See also C<guestfs_list_filesystems>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_list_filesystems>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2265
+#: ../src/guestfs-actions.pod:2359
 msgid "guestfs_is_blockdev"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_is_blockdev"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2267
+#: ../src/guestfs-actions.pod:2361
 #, no-wrap
 msgid ""
 " int guestfs_is_blockdev (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_is_blockdev (guestfs_h *g,\n"
@@ -7454,24 +7890,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2270 ../fish/guestfish-actions.pod:1809
+#: ../src/guestfs-actions.pod:2364 ../fish/guestfish-actions.pod:1869
 msgid ""
 "This returns C<true> if and only if there is a block device with the given "
 "C<path> name."
 msgstr ""
 
 # type: textblock
 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:2273 ../src/guestfs-actions.pod:2296 ../src/guestfs-actions.pod:2320 ../src/guestfs-actions.pod:2332 ../src/guestfs-actions.pod:2345 ../src/guestfs-actions.pod:2389 ../src/guestfs-actions.pod:2401
+#: ../src/guestfs-actions.pod:2367 ../src/guestfs-actions.pod:2390 ../src/guestfs-actions.pod:2414 ../src/guestfs-actions.pod:2426 ../src/guestfs-actions.pod:2439 ../src/guestfs-actions.pod:2483 ../src/guestfs-actions.pod:2495
 msgid "See also C<guestfs_stat>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_stat>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2277
+#: ../src/guestfs-actions.pod:2371
 msgid "guestfs_is_busy"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_is_busy"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2279
+#: ../src/guestfs-actions.pod:2373
 #, no-wrap
 msgid ""
 " int guestfs_is_busy (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_is_busy (guestfs_h *g);\n"
@@ -7479,19 +7915,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2281 ../fish/guestfish-actions.pod:1818
+#: ../src/guestfs-actions.pod:2375 ../fish/guestfish-actions.pod:1878
 msgid ""
 "This returns true iff this handle is busy processing a command (in the "
 "C<BUSY> state)."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This returns true iff this handle is busy processing a command (in the "
 "C<BUSY> state)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2288
+#: ../src/guestfs-actions.pod:2382
 msgid "guestfs_is_chardev"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_is_chardev"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2290
+#: ../src/guestfs-actions.pod:2384
 #, no-wrap
 msgid ""
 " int guestfs_is_chardev (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_is_chardev (guestfs_h *g,\n"
@@ -7500,19 +7936,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2293 ../fish/guestfish-actions.pod:1827
+#: ../src/guestfs-actions.pod:2387 ../fish/guestfish-actions.pod:1887
 msgid ""
 "This returns C<true> if and only if there is a character device with the "
 "given C<path> name."
 msgstr ""
 
 # type: =head2
 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:2300
+#: ../src/guestfs-actions.pod:2394
 msgid "guestfs_is_config"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_is_config"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2302
+#: ../src/guestfs-actions.pod:2396
 #, no-wrap
 msgid ""
 " int guestfs_is_config (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_is_config (guestfs_h *g);\n"
@@ -7520,19 +7956,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2304 ../fish/guestfish-actions.pod:1836
+#: ../src/guestfs-actions.pod:2398 ../fish/guestfish-actions.pod:1896
 msgid ""
 "This returns true iff this handle is being configured (in the C<CONFIG> "
 "state)."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This returns true iff this handle is being configured (in the C<CONFIG> "
 "state)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2311
+#: ../src/guestfs-actions.pod:2405
 msgid "guestfs_is_dir"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_is_dir"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2313
+#: ../src/guestfs-actions.pod:2407
 #, no-wrap
 msgid ""
 " int guestfs_is_dir (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_is_dir (guestfs_h *g,\n"
@@ -7541,19 +7977,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2316 ../fish/guestfish-actions.pod:1845
+#: ../src/guestfs-actions.pod:2410 ../fish/guestfish-actions.pod:1905
 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
 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:2324
+#: ../src/guestfs-actions.pod:2418
 msgid "guestfs_is_fifo"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_is_fifo"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2326
+#: ../src/guestfs-actions.pod:2420
 #, no-wrap
 msgid ""
 " int guestfs_is_fifo (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_is_fifo (guestfs_h *g,\n"
@@ -7562,19 +7998,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2329 ../fish/guestfish-actions.pod:1855
+#: ../src/guestfs-actions.pod:2423 ../fish/guestfish-actions.pod:1915
 msgid ""
 "This returns C<true> if and only if there is a FIFO (named pipe)  with the "
 "given C<path> name."
 msgstr ""
 
 # type: =head2
 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:2336
+#: ../src/guestfs-actions.pod:2430
 msgid "guestfs_is_file"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_is_file"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2338
+#: ../src/guestfs-actions.pod:2432
 #, no-wrap
 msgid ""
 " int guestfs_is_file (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_is_file (guestfs_h *g,\n"
@@ -7583,7 +8019,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2341 ../fish/guestfish-actions.pod:1864
+#: ../src/guestfs-actions.pod:2435 ../fish/guestfish-actions.pod:1924
 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 "
 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 "
@@ -7591,12 +8027,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2349
+#: ../src/guestfs-actions.pod:2443
 msgid "guestfs_is_launching"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_is_launching"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2351
+#: ../src/guestfs-actions.pod:2445
 #, no-wrap
 msgid ""
 " int guestfs_is_launching (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_is_launching (guestfs_h *g);\n"
@@ -7604,19 +8040,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2353 ../fish/guestfish-actions.pod:1874
+#: ../src/guestfs-actions.pod:2447 ../fish/guestfish-actions.pod:1934
 msgid ""
 "This returns true iff this handle is launching the subprocess (in the "
 "C<LAUNCHING> state)."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This returns true iff this handle is launching the subprocess (in the "
 "C<LAUNCHING> state)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2360
+#: ../src/guestfs-actions.pod:2454
 msgid "guestfs_is_lv"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_is_lv"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2362
+#: ../src/guestfs-actions.pod:2456
 #, no-wrap
 msgid ""
 " int guestfs_is_lv (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_is_lv (guestfs_h *g,\n"
@@ -7625,19 +8061,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2365 ../fish/guestfish-actions.pod:1883
+#: ../src/guestfs-actions.pod:2459 ../fish/guestfish-actions.pod:1943
 msgid ""
 "This command tests whether C<device> is a logical volume, and returns true "
 "iff this is the case."
 msgstr ""
 
 # type: =head2
 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:2370
+#: ../src/guestfs-actions.pod:2464
 msgid "guestfs_is_ready"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_is_ready"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2372
+#: ../src/guestfs-actions.pod:2466
 #, no-wrap
 msgid ""
 " int guestfs_is_ready (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_is_ready (guestfs_h *g);\n"
@@ -7645,19 +8081,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2374 ../fish/guestfish-actions.pod:1890
+#: ../src/guestfs-actions.pod:2468 ../fish/guestfish-actions.pod:1950
 msgid ""
 "This returns true iff this handle is ready to accept commands (in the "
 "C<READY> state)."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This returns true iff this handle is ready to accept commands (in the "
 "C<READY> state)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2381
+#: ../src/guestfs-actions.pod:2475
 msgid "guestfs_is_socket"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_is_socket"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2383
+#: ../src/guestfs-actions.pod:2477
 #, no-wrap
 msgid ""
 " int guestfs_is_socket (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_is_socket (guestfs_h *g,\n"
@@ -7666,19 +8102,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2386 ../fish/guestfish-actions.pod:1899
+#: ../src/guestfs-actions.pod:2480 ../fish/guestfish-actions.pod:1959
 msgid ""
 "This returns C<true> if and only if there is a Unix domain socket with the "
 "given C<path> name."
 msgstr ""
 
 # type: =head2
 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:2393
+#: ../src/guestfs-actions.pod:2487
 msgid "guestfs_is_symlink"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_is_symlink"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2395
+#: ../src/guestfs-actions.pod:2489
 #, no-wrap
 msgid ""
 " int guestfs_is_symlink (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_is_symlink (guestfs_h *g,\n"
@@ -7687,19 +8123,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2398 ../fish/guestfish-actions.pod:1908
+#: ../src/guestfs-actions.pod:2492 ../fish/guestfish-actions.pod:1968
 msgid ""
 "This returns C<true> if and only if there is a symbolic link with the given "
 "C<path> name."
 msgstr ""
 
 # type: =head2
 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:2405
+#: ../src/guestfs-actions.pod:2499
 msgid "guestfs_kill_subprocess"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_kill_subprocess"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2407
+#: ../src/guestfs-actions.pod:2501
 #, no-wrap
 msgid ""
 " int guestfs_kill_subprocess (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_kill_subprocess (guestfs_h *g);\n"
@@ -7707,17 +8143,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2409 ../fish/guestfish-actions.pod:1917
+#: ../src/guestfs-actions.pod:2503 ../fish/guestfish-actions.pod:1977
 msgid "This kills the qemu subprocess.  You should never need to call this."
 msgstr ""
 
 # type: =head2
 msgid "This kills the qemu subprocess.  You should never need to call this."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2413
+#: ../src/guestfs-actions.pod:2507
 msgid "guestfs_launch"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_launch"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2415
+#: ../src/guestfs-actions.pod:2509
 #, no-wrap
 msgid ""
 " int guestfs_launch (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_launch (guestfs_h *g);\n"
@@ -7725,26 +8161,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2417 ../fish/guestfish-actions.pod:1923
+#: ../src/guestfs-actions.pod:2511 ../fish/guestfish-actions.pod:1985
 msgid ""
 "Internally libguestfs is implemented by running a virtual machine using "
 "L<qemu(1)>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Internally libguestfs is implemented by running a virtual machine using "
 "L<qemu(1)>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2420 ../fish/guestfish-actions.pod:1926
+#: ../src/guestfs-actions.pod:2514 ../fish/guestfish-actions.pod:1988
 msgid ""
 "You should call this after configuring the handle (eg. adding drives) but "
 "before performing any actions."
 msgstr ""
 
 # type: =head2
 msgid ""
 "You should call this after configuring the handle (eg. adding drives) but "
 "before performing any actions."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2425
+#: ../src/guestfs-actions.pod:2519
 msgid "guestfs_lchown"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_lchown"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2427
+#: ../src/guestfs-actions.pod:2521
 #, no-wrap
 msgid ""
 " int guestfs_lchown (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_lchown (guestfs_h *g,\n"
@@ -7755,7 +8191,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2432
+#: ../src/guestfs-actions.pod:2526
 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 "
 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 "
@@ -7763,12 +8199,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2442
+#: ../src/guestfs-actions.pod:2536
 msgid "guestfs_lgetxattrs"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_lgetxattrs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2444
+#: ../src/guestfs-actions.pod:2538
 #, no-wrap
 msgid ""
 " struct guestfs_xattr_list *guestfs_lgetxattrs (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " struct guestfs_xattr_list *guestfs_lgetxattrs (guestfs_h *g,\n"
@@ -7777,19 +8213,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2447
+#: ../src/guestfs-actions.pod:2541
 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
 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:2456
+#: ../src/guestfs-actions.pod:2550
 msgid "guestfs_list_devices"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_list_devices"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2458
+#: ../src/guestfs-actions.pod:2552
 #, no-wrap
 msgid ""
 " char **guestfs_list_devices (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " char **guestfs_list_devices (guestfs_h *g);\n"
@@ -7797,22 +8233,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2460 ../fish/guestfish-actions.pod:1953
+#: ../src/guestfs-actions.pod:2554 ../fish/guestfish-actions.pod:2015
 msgid "List all the block devices."
 msgstr ""
 
 # type: textblock
 msgid "List all the block devices."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2462 ../fish/guestfish-actions.pod:1955
+#: ../src/guestfs-actions.pod:2556 ../fish/guestfish-actions.pod:2017
 msgid "The full block device names are returned, eg. C</dev/sda>."
 msgstr ""
 
 # type: =head2
 msgid "The full block device names are returned, eg. C</dev/sda>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2470
+#: ../src/guestfs-actions.pod:2564
 msgid "guestfs_list_filesystems"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_list_filesystems"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2472
+#: ../src/guestfs-actions.pod:2566
 #, no-wrap
 msgid ""
 " char **guestfs_list_filesystems (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " char **guestfs_list_filesystems (guestfs_h *g);\n"
@@ -7820,7 +8256,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2474 ../fish/guestfish-actions.pod:1963
+#: ../src/guestfs-actions.pod:2568 ../fish/guestfish-actions.pod:2025
 msgid ""
 "This inspection command looks for filesystems on partitions, block devices "
 "and logical volumes, returning a list of devices containing filesystems and "
 msgid ""
 "This inspection command looks for filesystems on partitions, block devices "
 "and logical volumes, returning a list of devices containing filesystems and "
@@ -7828,14 +8264,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2478 ../fish/guestfish-actions.pod:1967
+#: ../src/guestfs-actions.pod:2572 ../fish/guestfish-actions.pod:2029
 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
 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:2482 ../fish/guestfish-actions.pod:1971
+#: ../src/guestfs-actions.pod:2576 ../fish/guestfish-actions.pod:2033
 #, no-wrap
 msgid ""
 " \"/dev/sda1\" => \"ntfs\"\n"
 #, no-wrap
 msgid ""
 " \"/dev/sda1\" => \"ntfs\"\n"
@@ -7846,14 +8282,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2487 ../fish/guestfish-actions.pod:1976
+#: ../src/guestfs-actions.pod:2581 ../fish/guestfish-actions.pod:2038
 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
 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:2491
+#: ../src/guestfs-actions.pod:2585
 msgid ""
 "This command runs other libguestfs commands, which might include "
 "C<guestfs_mount> and C<guestfs_umount>, and therefore you should use this "
 msgid ""
 "This command runs other libguestfs commands, which might include "
 "C<guestfs_mount> and C<guestfs_umount>, and therefore you should use this "
@@ -7861,7 +8297,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2495
+#: ../src/guestfs-actions.pod:2589
 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 "
 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 "
@@ -7872,12 +8308,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2509
+#: ../src/guestfs-actions.pod:2603
 msgid "guestfs_list_partitions"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_list_partitions"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2511
+#: ../src/guestfs-actions.pod:2605
 #, no-wrap
 msgid ""
 " char **guestfs_list_partitions (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " char **guestfs_list_partitions (guestfs_h *g);\n"
@@ -7885,29 +8321,29 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2513 ../fish/guestfish-actions.pod:1996
+#: ../src/guestfs-actions.pod:2607 ../fish/guestfish-actions.pod:2058
 msgid "List all the partitions detected on all block devices."
 msgstr ""
 
 # type: textblock
 msgid "List all the partitions detected on all block devices."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2515 ../fish/guestfish-actions.pod:1998
+#: ../src/guestfs-actions.pod:2609 ../fish/guestfish-actions.pod:2060
 msgid "The full partition device names are returned, eg. C</dev/sda1>"
 msgstr ""
 
 # type: textblock
 msgid "The full partition device names are returned, eg. C</dev/sda1>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2517
+#: ../src/guestfs-actions.pod:2611
 msgid ""
 "This does not return logical volumes.  For that you will need to call "
 "C<guestfs_lvs>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This does not return logical volumes.  For that you will need to call "
 "C<guestfs_lvs>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2526
+#: ../src/guestfs-actions.pod:2620
 msgid "guestfs_ll"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_ll"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2528
+#: ../src/guestfs-actions.pod:2622
 #, no-wrap
 msgid ""
 " char *guestfs_ll (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_ll (guestfs_h *g,\n"
@@ -7916,26 +8352,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2531 ../fish/guestfish-actions.pod:2009
+#: ../src/guestfs-actions.pod:2625 ../fish/guestfish-actions.pod:2071
 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
 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:2534 ../fish/guestfish-actions.pod:2012
+#: ../src/guestfs-actions.pod:2628 ../fish/guestfish-actions.pod:2074
 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
 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:2540
+#: ../src/guestfs-actions.pod:2634
 msgid "guestfs_ln"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_ln"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2542
+#: ../src/guestfs-actions.pod:2636
 #, no-wrap
 msgid ""
 " int guestfs_ln (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_ln (guestfs_h *g,\n"
@@ -7945,17 +8381,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2546 ../fish/guestfish-actions.pod:2019
+#: ../src/guestfs-actions.pod:2640 ../fish/guestfish-actions.pod:2081
 msgid "This command creates a hard link using the C<ln> command."
 msgstr ""
 
 # type: =head2
 msgid "This command creates a hard link using the C<ln> command."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2550
+#: ../src/guestfs-actions.pod:2644
 msgid "guestfs_ln_f"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_ln_f"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2552
+#: ../src/guestfs-actions.pod:2646
 #, no-wrap
 msgid ""
 " int guestfs_ln_f (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_ln_f (guestfs_h *g,\n"
@@ -7965,19 +8401,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2556 ../fish/guestfish-actions.pod:2025
+#: ../src/guestfs-actions.pod:2650 ../fish/guestfish-actions.pod:2087
 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
 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:2561
+#: ../src/guestfs-actions.pod:2655
 msgid "guestfs_ln_s"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_ln_s"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2563
+#: ../src/guestfs-actions.pod:2657
 #, no-wrap
 msgid ""
 " int guestfs_ln_s (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_ln_s (guestfs_h *g,\n"
@@ -7987,17 +8423,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2567 ../fish/guestfish-actions.pod:2032
+#: ../src/guestfs-actions.pod:2661 ../fish/guestfish-actions.pod:2094
 msgid "This command creates a symbolic link using the C<ln -s> command."
 msgstr ""
 
 # type: =head2
 msgid "This command creates a symbolic link using the C<ln -s> command."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2571
+#: ../src/guestfs-actions.pod:2665
 msgid "guestfs_ln_sf"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_ln_sf"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2573
+#: ../src/guestfs-actions.pod:2667
 #, no-wrap
 msgid ""
 " int guestfs_ln_sf (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_ln_sf (guestfs_h *g,\n"
@@ -8007,19 +8443,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2577 ../fish/guestfish-actions.pod:2038
+#: ../src/guestfs-actions.pod:2671 ../fish/guestfish-actions.pod:2100
 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
 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:2582
+#: ../src/guestfs-actions.pod:2676
 msgid "guestfs_lremovexattr"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_lremovexattr"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2584
+#: ../src/guestfs-actions.pod:2678
 #, no-wrap
 msgid ""
 " int guestfs_lremovexattr (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_lremovexattr (guestfs_h *g,\n"
@@ -8029,19 +8465,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2588
+#: ../src/guestfs-actions.pod:2682
 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
 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:2594
+#: ../src/guestfs-actions.pod:2688
 msgid "guestfs_ls"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_ls"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2596
+#: ../src/guestfs-actions.pod:2690
 #, no-wrap
 msgid ""
 " char **guestfs_ls (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_ls (guestfs_h *g,\n"
@@ -8050,7 +8486,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2599 ../fish/guestfish-actions.pod:2053
+#: ../src/guestfs-actions.pod:2693 ../fish/guestfish-actions.pod:2115
 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 "
 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 "
@@ -8058,19 +8494,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2603
+#: ../src/guestfs-actions.pod:2697
 msgid ""
 "This command is mostly useful for interactive sessions.  Programs should "
 "probably use C<guestfs_readdir> instead."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command is mostly useful for interactive sessions.  Programs should "
 "probably use C<guestfs_readdir> instead."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2610
+#: ../src/guestfs-actions.pod:2704
 msgid "guestfs_lsetxattr"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_lsetxattr"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2612
+#: ../src/guestfs-actions.pod:2706
 #, no-wrap
 msgid ""
 " int guestfs_lsetxattr (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_lsetxattr (guestfs_h *g,\n"
@@ -8082,19 +8518,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2618
+#: ../src/guestfs-actions.pod:2712
 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
 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:2624
+#: ../src/guestfs-actions.pod:2718
 msgid "guestfs_lstat"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_lstat"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2626
+#: ../src/guestfs-actions.pod:2720
 #, no-wrap
 msgid ""
 " struct guestfs_stat *guestfs_lstat (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " struct guestfs_stat *guestfs_lstat (guestfs_h *g,\n"
@@ -8103,36 +8539,36 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2629 ../src/guestfs-actions.pod:4627 ../fish/guestfish-actions.pod:2072 ../fish/guestfish-actions.pod:3572
+#: ../src/guestfs-actions.pod:2723 ../src/guestfs-actions.pod:4767 ../fish/guestfish-actions.pod:2134 ../fish/guestfish-actions.pod:3688
 msgid "Returns file information for the given C<path>."
 msgstr ""
 
 # type: textblock
 msgid "Returns file information for the given C<path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2631
+#: ../src/guestfs-actions.pod:2725
 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
 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:2635 ../fish/guestfish-actions.pod:2078
+#: ../src/guestfs-actions.pod:2729 ../fish/guestfish-actions.pod:2140
 msgid "This is the same as the C<lstat(2)> system call."
 msgstr ""
 
 # type: textblock
 msgid "This is the same as the C<lstat(2)> system call."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2637 ../src/guestfs-actions.pod:4631
+#: ../src/guestfs-actions.pod:2731 ../src/guestfs-actions.pod:4771
 msgid ""
 "This function returns a C<struct guestfs_stat *>, or NULL if there was an "
 "error.  I<The caller must call C<guestfs_free_stat> after use>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This function returns a C<struct guestfs_stat *>, or NULL if there was an "
 "error.  I<The caller must call C<guestfs_free_stat> after use>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2641
+#: ../src/guestfs-actions.pod:2735
 msgid "guestfs_lstatlist"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_lstatlist"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2643
+#: ../src/guestfs-actions.pod:2737
 #, no-wrap
 msgid ""
 " struct guestfs_stat_list *guestfs_lstatlist (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " struct guestfs_stat_list *guestfs_lstatlist (guestfs_h *g,\n"
@@ -8142,7 +8578,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2647
+#: ../src/guestfs-actions.pod:2741
 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 "
 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 "
@@ -8150,7 +8586,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2651 ../fish/guestfish-actions.pod:2088
+#: ../src/guestfs-actions.pod:2745 ../fish/guestfish-actions.pod:2150
 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, "
 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, "
@@ -8158,7 +8594,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2656
+#: ../src/guestfs-actions.pod:2750
 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> "
 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> "
@@ -8169,7 +8605,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2664
+#: ../src/guestfs-actions.pod:2758
 msgid ""
 "This function returns a C<struct guestfs_stat_list *> (see "
 "E<lt>guestfs-structs.hE<gt>), or NULL if there was an error.  I<The caller "
 msgid ""
 "This function returns a C<struct guestfs_stat_list *> (see "
 "E<lt>guestfs-structs.hE<gt>), or NULL if there was an error.  I<The caller "
@@ -8177,12 +8613,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2669
+#: ../src/guestfs-actions.pod:2763
 msgid "guestfs_luks_add_key"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_luks_add_key"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2671
+#: ../src/guestfs-actions.pod:2765
 #, no-wrap
 msgid ""
 " int guestfs_luks_add_key (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_luks_add_key (guestfs_h *g,\n"
@@ -8194,7 +8630,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2677 ../fish/guestfish-actions.pod:2105
+#: ../src/guestfs-actions.pod:2771 ../fish/guestfish-actions.pod:2167
 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 "
 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 "
@@ -8202,14 +8638,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2682
+#: ../src/guestfs-actions.pod:2776
 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
 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:2688 ../src/guestfs-actions.pod:2722 ../src/guestfs-actions.pod:2742 ../src/guestfs-actions.pod:2759 ../src/guestfs-actions.pod:2788 ../src/guestfs-actions.pod:2804
+#: ../src/guestfs-actions.pod:2782 ../src/guestfs-actions.pod:2816 ../src/guestfs-actions.pod:2836 ../src/guestfs-actions.pod:2853 ../src/guestfs-actions.pod:2882 ../src/guestfs-actions.pod:2898
 msgid ""
 "This function takes a key or passphrase parameter which could contain "
 "sensitive material.  Read the section L</KEYS AND PASSPHRASES> for more "
 msgid ""
 "This function takes a key or passphrase parameter which could contain "
 "sensitive material.  Read the section L</KEYS AND PASSPHRASES> for more "
@@ -8217,12 +8653,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2692
+#: ../src/guestfs-actions.pod:2786
 msgid "guestfs_luks_close"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_luks_close"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2694
+#: ../src/guestfs-actions.pod:2788
 #, no-wrap
 msgid ""
 " int guestfs_luks_close (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_luks_close (guestfs_h *g,\n"
@@ -8231,7 +8667,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2697
+#: ../src/guestfs-actions.pod:2791
 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 "
 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 "
@@ -8240,12 +8676,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2705
+#: ../src/guestfs-actions.pod:2799
 msgid "guestfs_luks_format"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_luks_format"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2707
+#: ../src/guestfs-actions.pod:2801
 #, no-wrap
 msgid ""
 " int guestfs_luks_format (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_luks_format (guestfs_h *g,\n"
@@ -8256,7 +8692,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2712 ../fish/guestfish-actions.pod:2131
+#: ../src/guestfs-actions.pod:2806 ../fish/guestfish-actions.pod:2193
 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 "
 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 "
@@ -8264,19 +8700,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2719 ../src/guestfs-actions.pod:2739 ../src/guestfs-actions.pod:2841 ../src/guestfs-actions.pod:3553 ../src/guestfs-actions.pod:4168 ../src/guestfs-actions.pod:4489 ../src/guestfs-actions.pod:4509 ../src/guestfs-actions.pod:4532 ../src/guestfs-actions.pod:5471 ../fish/guestfish-actions.pod:2139 ../fish/guestfish-actions.pod:2152 ../fish/guestfish-actions.pod:2223 ../fish/guestfish-actions.pod:2738 ../fish/guestfish-actions.pod:3213 ../fish/guestfish-actions.pod:3471 ../fish/guestfish-actions.pod:3487 ../fish/guestfish-actions.pod:3502 ../fish/guestfish-actions.pod:4190
+#: ../src/guestfs-actions.pod:2813 ../src/guestfs-actions.pod:2833 ../src/guestfs-actions.pod:2935 ../src/guestfs-actions.pod:3647 ../src/guestfs-actions.pod:4308 ../src/guestfs-actions.pod:4629 ../src/guestfs-actions.pod:4649 ../src/guestfs-actions.pod:4672 ../src/guestfs-actions.pod:5637 ../fish/guestfish-actions.pod:2201 ../fish/guestfish-actions.pod:2214 ../fish/guestfish-actions.pod:2285 ../fish/guestfish-actions.pod:2800 ../fish/guestfish-actions.pod:3307 ../fish/guestfish-actions.pod:3587 ../fish/guestfish-actions.pod:3603 ../fish/guestfish-actions.pod:3618 ../fish/guestfish-actions.pod:4333
 msgid ""
 "B<This command is dangerous.  Without careful use you can easily destroy all "
 "your data>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "B<This command is dangerous.  Without careful use you can easily destroy all "
 "your data>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2726
+#: ../src/guestfs-actions.pod:2820
 msgid "guestfs_luks_format_cipher"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_luks_format_cipher"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2728
+#: ../src/guestfs-actions.pod:2822
 #, no-wrap
 msgid ""
 " int guestfs_luks_format_cipher (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_luks_format_cipher (guestfs_h *g,\n"
@@ -8288,19 +8724,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2734
+#: ../src/guestfs-actions.pod:2828
 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
 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:2746
+#: ../src/guestfs-actions.pod:2840
 msgid "guestfs_luks_kill_slot"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_luks_kill_slot"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2748
+#: ../src/guestfs-actions.pod:2842
 #, no-wrap
 msgid ""
 " int guestfs_luks_kill_slot (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_luks_kill_slot (guestfs_h *g,\n"
@@ -8311,19 +8747,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2753 ../fish/guestfish-actions.pod:2159
+#: ../src/guestfs-actions.pod:2847 ../fish/guestfish-actions.pod:2221
 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
 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:2763
+#: ../src/guestfs-actions.pod:2857
 msgid "guestfs_luks_open"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_luks_open"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2765
+#: ../src/guestfs-actions.pod:2859
 #, no-wrap
 msgid ""
 " int guestfs_luks_open (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_luks_open (guestfs_h *g,\n"
@@ -8334,26 +8770,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2770 ../fish/guestfish-actions.pod:2170
+#: ../src/guestfs-actions.pod:2864 ../fish/guestfish-actions.pod:2232
 msgid ""
 "This command opens a block device which has been encrypted according to the "
 "Linux Unified Key Setup (LUKS) standard."
 msgstr ""
 
 # type: textblock
 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:2773 ../fish/guestfish-actions.pod:2173
+#: ../src/guestfs-actions.pod:2867 ../fish/guestfish-actions.pod:2235
 msgid "C<device> is the encrypted block device or partition."
 msgstr ""
 
 # type: textblock
 msgid "C<device> is the encrypted block device or partition."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2775 ../fish/guestfish-actions.pod:2175
+#: ../src/guestfs-actions.pod:2869 ../fish/guestfish-actions.pod:2237
 msgid ""
 "The caller must supply one of the keys associated with the LUKS block "
 "device, in the C<key> parameter."
 msgstr ""
 
 # type: textblock
 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:2778 ../fish/guestfish-actions.pod:2178
+#: ../src/guestfs-actions.pod:2872 ../fish/guestfish-actions.pod:2240
 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 "
 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 "
@@ -8361,7 +8797,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2782
+#: ../src/guestfs-actions.pod:2876
 msgid ""
 "If this block device contains LVM volume groups, then calling "
 "C<guestfs_vgscan> followed by C<guestfs_vg_activate_all> will make them "
 msgid ""
 "If this block device contains LVM volume groups, then calling "
 "C<guestfs_vgscan> followed by C<guestfs_vg_activate_all> will make them "
@@ -8369,12 +8805,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2792
+#: ../src/guestfs-actions.pod:2886
 msgid "guestfs_luks_open_ro"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_luks_open_ro"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2794
+#: ../src/guestfs-actions.pod:2888
 #, no-wrap
 msgid ""
 " int guestfs_luks_open_ro (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_luks_open_ro (guestfs_h *g,\n"
@@ -8385,19 +8821,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2799
+#: ../src/guestfs-actions.pod:2893
 msgid ""
 "This is the same as C<guestfs_luks_open> except that a read-only mapping is "
 "created."
 msgstr ""
 
 # type: =head2
 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:2808
+#: ../src/guestfs-actions.pod:2902
 msgid "guestfs_lvcreate"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_lvcreate"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2810
+#: ../src/guestfs-actions.pod:2904
 #, no-wrap
 msgid ""
 " int guestfs_lvcreate (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_lvcreate (guestfs_h *g,\n"
@@ -8408,19 +8844,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2815 ../fish/guestfish-actions.pod:2203
+#: ../src/guestfs-actions.pod:2909 ../fish/guestfish-actions.pod:2265
 msgid ""
 "This creates an LVM logical volume called C<logvol> on the volume group "
 "C<volgroup>, with C<size> megabytes."
 msgstr ""
 
 # type: =head2
 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:2820
+#: ../src/guestfs-actions.pod:2914
 msgid "guestfs_lvm_clear_filter"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_lvm_clear_filter"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2822
+#: ../src/guestfs-actions.pod:2916
 #, no-wrap
 msgid ""
 " int guestfs_lvm_clear_filter (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_lvm_clear_filter (guestfs_h *g);\n"
@@ -8428,24 +8864,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2824
+#: ../src/guestfs-actions.pod:2918
 msgid ""
 "This undoes the effect of C<guestfs_lvm_set_filter>.  LVM will be able to "
 "see every block device."
 msgstr ""
 
 # type: textblock
 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:2827 ../src/guestfs-actions.pod:2863 ../fish/guestfish-actions.pod:2213 ../fish/guestfish-actions.pod:2244
+#: ../src/guestfs-actions.pod:2921 ../src/guestfs-actions.pod:2957 ../fish/guestfish-actions.pod:2275 ../fish/guestfish-actions.pod:2306
 msgid "This command also clears the LVM cache and performs a volume group scan."
 msgstr ""
 
 # type: =head2
 msgid "This command also clears the LVM cache and performs a volume group scan."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2832
+#: ../src/guestfs-actions.pod:2926
 msgid "guestfs_lvm_remove_all"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_lvm_remove_all"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2834
+#: ../src/guestfs-actions.pod:2928
 #, no-wrap
 msgid ""
 " int guestfs_lvm_remove_all (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_lvm_remove_all (guestfs_h *g);\n"
@@ -8453,19 +8889,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2836 ../fish/guestfish-actions.pod:2220
+#: ../src/guestfs-actions.pod:2930 ../fish/guestfish-actions.pod:2282
 msgid ""
 "This command removes all LVM logical volumes, volume groups and physical "
 "volumes."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command removes all LVM logical volumes, volume groups and physical "
 "volumes."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2844
+#: ../src/guestfs-actions.pod:2938
 msgid "guestfs_lvm_set_filter"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_lvm_set_filter"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2846
+#: ../src/guestfs-actions.pod:2940
 #, no-wrap
 msgid ""
 " int guestfs_lvm_set_filter (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_lvm_set_filter (guestfs_h *g,\n"
@@ -8474,7 +8910,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2849 ../fish/guestfish-actions.pod:2230
+#: ../src/guestfs-actions.pod:2943 ../fish/guestfish-actions.pod:2292
 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 "
 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 "
@@ -8482,7 +8918,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2853 ../fish/guestfish-actions.pod:2234
+#: ../src/guestfs-actions.pod:2947 ../fish/guestfish-actions.pod:2296
 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 "
 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 "
@@ -8494,24 +8930,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2866 ../fish/guestfish-actions.pod:2247
+#: ../src/guestfs-actions.pod:2960 ../fish/guestfish-actions.pod:2309
 msgid "You can filter whole block devices or individual partitions."
 msgstr ""
 
 # type: textblock
 msgid "You can filter whole block devices or individual partitions."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2868 ../fish/guestfish-actions.pod:2249
+#: ../src/guestfs-actions.pod:2962 ../fish/guestfish-actions.pod:2311
 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
 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:2874
+#: ../src/guestfs-actions.pod:2968
 msgid "guestfs_lvremove"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_lvremove"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2876
+#: ../src/guestfs-actions.pod:2970
 #, no-wrap
 msgid ""
 " int guestfs_lvremove (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_lvremove (guestfs_h *g,\n"
@@ -8520,26 +8956,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2879 ../fish/guestfish-actions.pod:2257
+#: ../src/guestfs-actions.pod:2973 ../fish/guestfish-actions.pod:2319
 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
 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:2882 ../fish/guestfish-actions.pod:2260
+#: ../src/guestfs-actions.pod:2976 ../fish/guestfish-actions.pod:2322
 msgid ""
 "You can also remove all LVs in a volume group by specifying the VG name, "
 "C</dev/VG>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "You can also remove all LVs in a volume group by specifying the VG name, "
 "C</dev/VG>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2887
+#: ../src/guestfs-actions.pod:2981
 msgid "guestfs_lvrename"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_lvrename"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2889
+#: ../src/guestfs-actions.pod:2983
 #, no-wrap
 msgid ""
 " int guestfs_lvrename (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_lvrename (guestfs_h *g,\n"
@@ -8549,17 +8985,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2893 ../fish/guestfish-actions.pod:2267
+#: ../src/guestfs-actions.pod:2987 ../fish/guestfish-actions.pod:2329
 msgid "Rename a logical volume C<logvol> with the new name C<newlogvol>."
 msgstr ""
 
 # type: =head2
 msgid "Rename a logical volume C<logvol> with the new name C<newlogvol>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2897
+#: ../src/guestfs-actions.pod:2991
 msgid "guestfs_lvresize"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_lvresize"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2899
+#: ../src/guestfs-actions.pod:2993
 #, no-wrap
 msgid ""
 " int guestfs_lvresize (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_lvresize (guestfs_h *g,\n"
@@ -8569,19 +9005,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2903 ../fish/guestfish-actions.pod:2273
+#: ../src/guestfs-actions.pod:2997 ../fish/guestfish-actions.pod:2335
 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
 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:2909
+#: ../src/guestfs-actions.pod:3003
 msgid "guestfs_lvresize_free"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_lvresize_free"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2911
+#: ../src/guestfs-actions.pod:3005
 #, no-wrap
 msgid ""
 " int guestfs_lvresize_free (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_lvresize_free (guestfs_h *g,\n"
@@ -8591,7 +9027,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2915 ../fish/guestfish-actions.pod:2281
+#: ../src/guestfs-actions.pod:3009 ../fish/guestfish-actions.pod:2343
 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 "
 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 "
@@ -8600,12 +9036,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2923
+#: ../src/guestfs-actions.pod:3017
 msgid "guestfs_lvs"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_lvs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2925
+#: ../src/guestfs-actions.pod:3019
 #, no-wrap
 msgid ""
 " char **guestfs_lvs (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " char **guestfs_lvs (guestfs_h *g);\n"
@@ -8613,31 +9049,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2927 ../fish/guestfish-actions.pod:2291
+#: ../src/guestfs-actions.pod:3021 ../fish/guestfish-actions.pod:2353
 msgid ""
 "List all the logical volumes detected.  This is the equivalent of the "
 "L<lvs(8)> command."
 msgstr ""
 
 # type: textblock
 msgid ""
 "List all the logical volumes detected.  This is the equivalent of the "
 "L<lvs(8)> command."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2930 ../fish/guestfish-actions.pod:2294
+#: ../src/guestfs-actions.pod:3024 ../fish/guestfish-actions.pod:2356
 msgid ""
 "This returns a list of the logical volume device names "
 "(eg. C</dev/VolGroup00/LogVol00>)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This returns a list of the logical volume device names "
 "(eg. C</dev/VolGroup00/LogVol00>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2933
+#: ../src/guestfs-actions.pod:3027
 msgid "See also C<guestfs_lvs_full>, C<guestfs_list_filesystems>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_lvs_full>, C<guestfs_list_filesystems>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2939
+#: ../src/guestfs-actions.pod:3033
 msgid "guestfs_lvs_full"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_lvs_full"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2941
+#: ../src/guestfs-actions.pod:3035
 #, no-wrap
 msgid ""
 " struct guestfs_lvm_lv_list *guestfs_lvs_full (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " struct guestfs_lvm_lv_list *guestfs_lvs_full (guestfs_h *g);\n"
@@ -8645,14 +9081,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2943 ../fish/guestfish-actions.pod:2303
+#: ../src/guestfs-actions.pod:3037 ../fish/guestfish-actions.pod:2365
 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
 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:2946
+#: ../src/guestfs-actions.pod:3040
 msgid ""
 "This function returns a C<struct guestfs_lvm_lv_list *> (see "
 "E<lt>guestfs-structs.hE<gt>), or NULL if there was an error.  I<The caller "
 msgid ""
 "This function returns a C<struct guestfs_lvm_lv_list *> (see "
 "E<lt>guestfs-structs.hE<gt>), or NULL if there was an error.  I<The caller "
@@ -8660,12 +9096,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2951
+#: ../src/guestfs-actions.pod:3045
 msgid "guestfs_lvuuid"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_lvuuid"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2953
+#: ../src/guestfs-actions.pod:3047
 #, no-wrap
 msgid ""
 " char *guestfs_lvuuid (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_lvuuid (guestfs_h *g,\n"
@@ -8674,17 +9110,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2956 ../fish/guestfish-actions.pod:2310
+#: ../src/guestfs-actions.pod:3050 ../fish/guestfish-actions.pod:2372
 msgid "This command returns the UUID of the LVM LV C<device>."
 msgstr ""
 
 # type: =head2
 msgid "This command returns the UUID of the LVM LV C<device>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2961
+#: ../src/guestfs-actions.pod:3055
 msgid "guestfs_lxattrlist"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_lxattrlist"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2963
+#: ../src/guestfs-actions.pod:3057
 #, no-wrap
 msgid ""
 " struct guestfs_xattr_list *guestfs_lxattrlist (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " struct guestfs_xattr_list *guestfs_lxattrlist (guestfs_h *g,\n"
@@ -8694,7 +9130,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2967 ../fish/guestfish-actions.pod:2316
+#: ../src/guestfs-actions.pod:3061 ../fish/guestfish-actions.pod:2378
 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 "
 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 "
@@ -8702,7 +9138,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2971 ../fish/guestfish-actions.pod:2320
+#: ../src/guestfs-actions.pod:3065 ../fish/guestfish-actions.pod:2382
 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>.  "
 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>.  "
@@ -8715,7 +9151,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2981
+#: ../src/guestfs-actions.pod:3075
 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 "
 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 "
@@ -8726,12 +9162,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:2994
+#: ../src/guestfs-actions.pod:3088
 msgid "guestfs_mkdir"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mkdir"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:2996
+#: ../src/guestfs-actions.pod:3090
 #, no-wrap
 msgid ""
 " int guestfs_mkdir (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mkdir (guestfs_h *g,\n"
@@ -8740,17 +9176,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2999 ../fish/guestfish-actions.pod:2342
+#: ../src/guestfs-actions.pod:3093 ../fish/guestfish-actions.pod:2404
 msgid "Create a directory named C<path>."
 msgstr ""
 
 # type: =head2
 msgid "Create a directory named C<path>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3003
+#: ../src/guestfs-actions.pod:3097
 msgid "guestfs_mkdir_mode"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mkdir_mode"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3005
+#: ../src/guestfs-actions.pod:3099
 #, no-wrap
 msgid ""
 " int guestfs_mkdir_mode (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mkdir_mode (guestfs_h *g,\n"
@@ -8760,14 +9196,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3009 ../fish/guestfish-actions.pod:2348
+#: ../src/guestfs-actions.pod:3103 ../fish/guestfish-actions.pod:2410
 msgid ""
 "This command creates a directory, setting the initial permissions of the "
 "directory to C<mode>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command creates a directory, setting the initial permissions of the "
 "directory to C<mode>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3012 ../fish/guestfish-actions.pod:2351
+#: ../src/guestfs-actions.pod:3106 ../fish/guestfish-actions.pod:2413
 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 "
 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 "
@@ -8775,17 +9211,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3016
+#: ../src/guestfs-actions.pod:3110
 msgid "See also C<guestfs_mkdir>, C<guestfs_umask>"
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_mkdir>, C<guestfs_umask>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3020
+#: ../src/guestfs-actions.pod:3114
 msgid "guestfs_mkdir_p"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mkdir_p"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3022
+#: ../src/guestfs-actions.pod:3116
 #, no-wrap
 msgid ""
 " int guestfs_mkdir_p (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mkdir_p (guestfs_h *g,\n"
@@ -8794,19 +9230,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3025 ../fish/guestfish-actions.pod:2361
+#: ../src/guestfs-actions.pod:3119 ../fish/guestfish-actions.pod:2423
 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
 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:3030
+#: ../src/guestfs-actions.pod:3124
 msgid "guestfs_mkdtemp"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mkdtemp"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3032
+#: ../src/guestfs-actions.pod:3126
 #, no-wrap
 msgid ""
 " char *guestfs_mkdtemp (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_mkdtemp (guestfs_h *g,\n"
@@ -8815,7 +9251,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3035 ../fish/guestfish-actions.pod:2368
+#: ../src/guestfs-actions.pod:3129 ../fish/guestfish-actions.pod:2430
 msgid ""
 "This command creates a temporary directory.  The C<template> parameter "
 "should be a full pathname for the temporary directory name with the final "
 msgid ""
 "This command creates a temporary directory.  The C<template> parameter "
 "should be a full pathname for the temporary directory name with the final "
@@ -8823,41 +9259,41 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3040 ../fish/guestfish-actions.pod:2373
+#: ../src/guestfs-actions.pod:3134 ../fish/guestfish-actions.pod:2435
 msgid ""
 "For example: \"/tmp/myprogXXXXXX\" or \"/Temp/myprogXXXXXX\", the second one "
 "being suitable for Windows filesystems."
 msgstr ""
 
 # type: textblock
 msgid ""
 "For example: \"/tmp/myprogXXXXXX\" or \"/Temp/myprogXXXXXX\", the second one "
 "being suitable for Windows filesystems."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3043 ../fish/guestfish-actions.pod:2376
+#: ../src/guestfs-actions.pod:3137 ../fish/guestfish-actions.pod:2438
 msgid "The name of the temporary directory that was created is returned."
 msgstr ""
 
 # type: textblock
 msgid "The name of the temporary directory that was created is returned."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3046 ../fish/guestfish-actions.pod:2379
+#: ../src/guestfs-actions.pod:3140 ../fish/guestfish-actions.pod:2441
 msgid "The temporary directory is created with mode 0700 and is owned by root."
 msgstr ""
 
 # type: textblock
 msgid "The temporary directory is created with mode 0700 and is owned by root."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3049 ../fish/guestfish-actions.pod:2382
+#: ../src/guestfs-actions.pod:3143 ../fish/guestfish-actions.pod:2444
 msgid ""
 "The caller is responsible for deleting the temporary directory and its "
 "contents after use."
 msgstr ""
 
 # type: textblock
 msgid ""
 "The caller is responsible for deleting the temporary directory and its "
 "contents after use."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3052 ../fish/guestfish-actions.pod:2385
+#: ../src/guestfs-actions.pod:3146 ../fish/guestfish-actions.pod:2447
 msgid "See also: L<mkdtemp(3)>"
 msgstr ""
 
 # type: =head2
 msgid "See also: L<mkdtemp(3)>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3057
+#: ../src/guestfs-actions.pod:3151
 msgid "guestfs_mke2fs_J"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mke2fs_J"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3059
+#: ../src/guestfs-actions.pod:3153
 #, no-wrap
 msgid ""
 " int guestfs_mke2fs_J (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mke2fs_J (guestfs_h *g,\n"
@@ -8869,14 +9305,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3065 ../fish/guestfish-actions.pod:2391
+#: ../src/guestfs-actions.pod:3159 ../fish/guestfish-actions.pod:2453
 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
 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:3069 ../fish/guestfish-actions.pod:2395
+#: ../src/guestfs-actions.pod:3163 ../fish/guestfish-actions.pod:2457
 #, no-wrap
 msgid ""
 " mke2fs -t fstype -b blocksize -J device=<journal> <device>\n"
 #, no-wrap
 msgid ""
 " mke2fs -t fstype -b blocksize -J device=<journal> <device>\n"
@@ -8884,17 +9320,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3071
+#: ../src/guestfs-actions.pod:3165
 msgid "See also C<guestfs_mke2journal>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_mke2journal>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3075
+#: ../src/guestfs-actions.pod:3169
 msgid "guestfs_mke2fs_JL"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mke2fs_JL"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3077
+#: ../src/guestfs-actions.pod:3171
 #, no-wrap
 msgid ""
 " int guestfs_mke2fs_JL (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mke2fs_JL (guestfs_h *g,\n"
@@ -8906,24 +9342,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3083 ../fish/guestfish-actions.pod:2403
+#: ../src/guestfs-actions.pod:3177 ../fish/guestfish-actions.pod:2465
 msgid ""
 "This creates an ext2/3/4 filesystem on C<device> with an external journal on "
 "the journal labeled C<label>."
 msgstr ""
 
 # type: textblock
 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:3086
+#: ../src/guestfs-actions.pod:3180
 msgid "See also C<guestfs_mke2journal_L>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_mke2journal_L>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3090
+#: ../src/guestfs-actions.pod:3184
 msgid "guestfs_mke2fs_JU"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mke2fs_JU"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3092
+#: ../src/guestfs-actions.pod:3186
 #, no-wrap
 msgid ""
 " int guestfs_mke2fs_JU (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mke2fs_JU (guestfs_h *g,\n"
@@ -8935,24 +9371,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3098 ../fish/guestfish-actions.pod:2412
+#: ../src/guestfs-actions.pod:3192 ../fish/guestfish-actions.pod:2474
 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
 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:3101
+#: ../src/guestfs-actions.pod:3195
 msgid "See also C<guestfs_mke2journal_U>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_mke2journal_U>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3105
+#: ../src/guestfs-actions.pod:3199
 msgid "guestfs_mke2journal"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mke2journal"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3107
+#: ../src/guestfs-actions.pod:3201
 #, no-wrap
 msgid ""
 " int guestfs_mke2journal (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mke2journal (guestfs_h *g,\n"
@@ -8962,14 +9398,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3111 ../fish/guestfish-actions.pod:2421
+#: ../src/guestfs-actions.pod:3205 ../fish/guestfish-actions.pod:2483
 msgid ""
 "This creates an ext2 external journal on C<device>.  It is equivalent to the "
 "command:"
 msgstr ""
 
 # type: verbatim
 msgid ""
 "This creates an ext2 external journal on C<device>.  It is equivalent to the "
 "command:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3114 ../fish/guestfish-actions.pod:2424
+#: ../src/guestfs-actions.pod:3208 ../fish/guestfish-actions.pod:2486
 #, no-wrap
 msgid ""
 " mke2fs -O journal_dev -b blocksize device\n"
 #, no-wrap
 msgid ""
 " mke2fs -O journal_dev -b blocksize device\n"
@@ -8977,12 +9413,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3118
+#: ../src/guestfs-actions.pod:3212
 msgid "guestfs_mke2journal_L"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mke2journal_L"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3120
+#: ../src/guestfs-actions.pod:3214
 #, no-wrap
 msgid ""
 " int guestfs_mke2journal_L (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mke2journal_L (guestfs_h *g,\n"
@@ -8993,17 +9429,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3125 ../fish/guestfish-actions.pod:2430
+#: ../src/guestfs-actions.pod:3219 ../fish/guestfish-actions.pod:2492
 msgid "This creates an ext2 external journal on C<device> with label C<label>."
 msgstr ""
 
 # type: =head2
 msgid "This creates an ext2 external journal on C<device> with label C<label>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3129
+#: ../src/guestfs-actions.pod:3223
 msgid "guestfs_mke2journal_U"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mke2journal_U"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3131
+#: ../src/guestfs-actions.pod:3225
 #, no-wrap
 msgid ""
 " int guestfs_mke2journal_U (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mke2journal_U (guestfs_h *g,\n"
@@ -9014,17 +9450,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3136 ../fish/guestfish-actions.pod:2436
+#: ../src/guestfs-actions.pod:3230 ../fish/guestfish-actions.pod:2498
 msgid "This creates an ext2 external journal on C<device> with UUID C<uuid>."
 msgstr ""
 
 # type: =head2
 msgid "This creates an ext2 external journal on C<device> with UUID C<uuid>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3140
+#: ../src/guestfs-actions.pod:3234
 msgid "guestfs_mkfifo"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mkfifo"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3142
+#: ../src/guestfs-actions.pod:3236
 #, no-wrap
 msgid ""
 " int guestfs_mkfifo (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mkfifo (guestfs_h *g,\n"
@@ -9034,19 +9470,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3146
+#: ../src/guestfs-actions.pod:3240
 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
 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:3154
+#: ../src/guestfs-actions.pod:3248
 msgid "guestfs_mkfs"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mkfs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3156
+#: ../src/guestfs-actions.pod:3250
 #, no-wrap
 msgid ""
 " int guestfs_mkfs (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mkfs (guestfs_h *g,\n"
@@ -9056,19 +9492,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3160 ../fish/guestfish-actions.pod:2452
+#: ../src/guestfs-actions.pod:3254 ../fish/guestfish-actions.pod:2514
 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
 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:3166
+#: ../src/guestfs-actions.pod:3260
 msgid "guestfs_mkfs_b"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mkfs_b"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3168
+#: ../src/guestfs-actions.pod:3262
 #, no-wrap
 msgid ""
 " int guestfs_mkfs_b (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mkfs_b (guestfs_h *g,\n"
@@ -9079,7 +9515,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3173
+#: ../src/guestfs-actions.pod:3267
 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 "
 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 "
@@ -9087,19 +9523,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3178 ../fish/guestfish-actions.pod:2465
+#: ../src/guestfs-actions.pod:3272 ../fish/guestfish-actions.pod:2527
 msgid ""
 "For VFAT and NTFS the C<blocksize> parameter is treated as the requested "
 "cluster size."
 msgstr ""
 
 # type: =head2
 msgid ""
 "For VFAT and NTFS the C<blocksize> parameter is treated as the requested "
 "cluster size."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3183
+#: ../src/guestfs-actions.pod:3277
 msgid "guestfs_mkmountpoint"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mkmountpoint"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3185
+#: ../src/guestfs-actions.pod:3279
 #, no-wrap
 msgid ""
 " int guestfs_mkmountpoint (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mkmountpoint (guestfs_h *g,\n"
@@ -9108,7 +9544,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3188
+#: ../src/guestfs-actions.pod:3282
 msgid ""
 "C<guestfs_mkmountpoint> and C<guestfs_rmmountpoint> are specialized calls "
 "that can be used to create extra mountpoints before mounting the first "
 msgid ""
 "C<guestfs_mkmountpoint> and C<guestfs_rmmountpoint> are specialized calls "
 "that can be used to create extra mountpoints before mounting the first "
@@ -9116,7 +9552,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3192 ../fish/guestfish-actions.pod:2476
+#: ../src/guestfs-actions.pod:3286 ../fish/guestfish-actions.pod:2538
 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 "
 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 "
@@ -9124,7 +9560,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3196 ../fish/guestfish-actions.pod:2480
+#: ../src/guestfs-actions.pod:3290 ../fish/guestfish-actions.pod:2542
 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 "
 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 "
@@ -9132,7 +9568,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3201 ../fish/guestfish-actions.pod:2485
+#: ../src/guestfs-actions.pod:3295 ../fish/guestfish-actions.pod:2547
 #, no-wrap
 msgid ""
 " add-ro Fedora-11-i686-Live.iso\n"
 #, no-wrap
 msgid ""
 " add-ro Fedora-11-i686-Live.iso\n"
@@ -9147,17 +9583,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3210 ../fish/guestfish-actions.pod:2494
+#: ../src/guestfs-actions.pod:3304 ../fish/guestfish-actions.pod:2556
 msgid "The inner filesystem is now unpacked under the /ext3 mountpoint."
 msgstr ""
 
 # type: =head2
 msgid "The inner filesystem is now unpacked under the /ext3 mountpoint."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3214
+#: ../src/guestfs-actions.pod:3308
 msgid "guestfs_mknod"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mknod"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3216
+#: ../src/guestfs-actions.pod:3310
 #, no-wrap
 msgid ""
 " int guestfs_mknod (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mknod (guestfs_h *g,\n"
@@ -9169,14 +9605,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3222 ../fish/guestfish-actions.pod:2500
+#: ../src/guestfs-actions.pod:3316 ../fish/guestfish-actions.pod:2562
 msgid ""
 "This call creates block or character special devices, or named pipes "
 "(FIFOs)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This call creates block or character special devices, or named pipes "
 "(FIFOs)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3225 ../fish/guestfish-actions.pod:2503
+#: ../src/guestfs-actions.pod:3319 ../fish/guestfish-actions.pod:2565
 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 "
 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 "
@@ -9184,7 +9620,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3230
+#: ../src/guestfs-actions.pod:3324
 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 "
 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 "
@@ -9195,12 +9631,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3242
+#: ../src/guestfs-actions.pod:3336
 msgid "guestfs_mknod_b"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mknod_b"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3244
+#: ../src/guestfs-actions.pod:3338
 #, no-wrap
 msgid ""
 " int guestfs_mknod_b (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mknod_b (guestfs_h *g,\n"
@@ -9212,7 +9648,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3250
+#: ../src/guestfs-actions.pod:3344
 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 "
 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 "
@@ -9220,12 +9656,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3258
+#: ../src/guestfs-actions.pod:3352
 msgid "guestfs_mknod_c"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mknod_c"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3260
+#: ../src/guestfs-actions.pod:3354
 #, no-wrap
 msgid ""
 " int guestfs_mknod_c (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mknod_c (guestfs_h *g,\n"
@@ -9237,7 +9673,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3266
+#: ../src/guestfs-actions.pod:3360
 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 "
 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 "
@@ -9245,12 +9681,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3274
+#: ../src/guestfs-actions.pod:3368
 msgid "guestfs_mkswap"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mkswap"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3276
+#: ../src/guestfs-actions.pod:3370
 #, no-wrap
 msgid ""
 " int guestfs_mkswap (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mkswap (guestfs_h *g,\n"
@@ -9259,17 +9695,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3279 ../fish/guestfish-actions.pod:2542
+#: ../src/guestfs-actions.pod:3373 ../fish/guestfish-actions.pod:2604
 msgid "Create a swap partition on C<device>."
 msgstr ""
 
 # type: =head2
 msgid "Create a swap partition on C<device>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3283
+#: ../src/guestfs-actions.pod:3377
 msgid "guestfs_mkswap_L"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mkswap_L"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3285
+#: ../src/guestfs-actions.pod:3379
 #, no-wrap
 msgid ""
 " int guestfs_mkswap_L (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mkswap_L (guestfs_h *g,\n"
@@ -9279,12 +9715,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3289 ../fish/guestfish-actions.pod:2548
+#: ../src/guestfs-actions.pod:3383 ../fish/guestfish-actions.pod:2610
 msgid "Create a swap partition on C<device> with label C<label>."
 msgstr ""
 
 # type: textblock
 msgid "Create a swap partition on C<device> with label C<label>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3291 ../fish/guestfish-actions.pod:2550
+#: ../src/guestfs-actions.pod:3385 ../fish/guestfish-actions.pod:2612
 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 "
 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 "
@@ -9292,12 +9728,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3297
+#: ../src/guestfs-actions.pod:3391
 msgid "guestfs_mkswap_U"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mkswap_U"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3299
+#: ../src/guestfs-actions.pod:3393
 #, no-wrap
 msgid ""
 " int guestfs_mkswap_U (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mkswap_U (guestfs_h *g,\n"
@@ -9307,17 +9743,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3303 ../fish/guestfish-actions.pod:2558
+#: ../src/guestfs-actions.pod:3397 ../fish/guestfish-actions.pod:2620
 msgid "Create a swap partition on C<device> with UUID C<uuid>."
 msgstr ""
 
 # type: =head2
 msgid "Create a swap partition on C<device> with UUID C<uuid>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3307
+#: ../src/guestfs-actions.pod:3401
 msgid "guestfs_mkswap_file"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mkswap_file"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3309
+#: ../src/guestfs-actions.pod:3403
 #, no-wrap
 msgid ""
 " int guestfs_mkswap_file (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mkswap_file (guestfs_h *g,\n"
@@ -9326,24 +9762,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3312 ../fish/guestfish-actions.pod:2564
+#: ../src/guestfs-actions.pod:3406 ../fish/guestfish-actions.pod:2626
 msgid "Create a swap file."
 msgstr ""
 
 # type: textblock
 msgid "Create a swap file."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3314
+#: ../src/guestfs-actions.pod:3408
 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
 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:3319
+#: ../src/guestfs-actions.pod:3413
 msgid "guestfs_modprobe"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_modprobe"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3321
+#: ../src/guestfs-actions.pod:3415
 #, no-wrap
 msgid ""
 " int guestfs_modprobe (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_modprobe (guestfs_h *g,\n"
@@ -9352,24 +9788,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3324 ../fish/guestfish-actions.pod:2573
+#: ../src/guestfs-actions.pod:3418 ../fish/guestfish-actions.pod:2635
 msgid "This loads a kernel module in the appliance."
 msgstr ""
 
 # type: textblock
 msgid "This loads a kernel module in the appliance."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3326 ../fish/guestfish-actions.pod:2575
+#: ../src/guestfs-actions.pod:3420 ../fish/guestfish-actions.pod:2637
 msgid ""
 "The kernel module must have been whitelisted when libguestfs was built (see "
 "C<appliance/kmod.whitelist.in> in the source)."
 msgstr ""
 
 # type: =head2
 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:3331
+#: ../src/guestfs-actions.pod:3425
 msgid "guestfs_mount"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mount"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3333
+#: ../src/guestfs-actions.pod:3427
 #, no-wrap
 msgid ""
 " int guestfs_mount (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mount (guestfs_h *g,\n"
@@ -9379,7 +9815,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3337 ../fish/guestfish-actions.pod:2582
+#: ../src/guestfs-actions.pod:3431 ../fish/guestfish-actions.pod:2644
 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 "
 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 "
@@ -9388,7 +9824,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3343 ../fish/guestfish-actions.pod:2588
+#: ../src/guestfs-actions.pod:3437 ../fish/guestfish-actions.pod:2650
 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 "
 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 "
@@ -9396,14 +9832,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3348 ../fish/guestfish-actions.pod:2593
+#: ../src/guestfs-actions.pod:3442 ../fish/guestfish-actions.pod:2655
 msgid ""
 "The mounted filesystem is writable, if we have sufficient permissions on the "
 "underlying device."
 msgstr ""
 
 # type: textblock
 msgid ""
 "The mounted filesystem is writable, if we have sufficient permissions on the "
 "underlying device."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3351
+#: ../src/guestfs-actions.pod:3445
 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 "
 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 "
@@ -9415,12 +9851,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3363
+#: ../src/guestfs-actions.pod:3457
 msgid "guestfs_mount_loop"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mount_loop"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3365
+#: ../src/guestfs-actions.pod:3459
 #, no-wrap
 msgid ""
 " int guestfs_mount_loop (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mount_loop (guestfs_h *g,\n"
@@ -9430,7 +9866,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3369 ../fish/guestfish-actions.pod:2610
+#: ../src/guestfs-actions.pod:3463 ../fish/guestfish-actions.pod:2672
 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 "
 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 "
@@ -9438,12 +9874,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3375
+#: ../src/guestfs-actions.pod:3469
 msgid "guestfs_mount_options"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mount_options"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3377
+#: ../src/guestfs-actions.pod:3471
 #, no-wrap
 msgid ""
 " int guestfs_mount_options (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mount_options (guestfs_h *g,\n"
@@ -9454,26 +9890,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3382
+#: ../src/guestfs-actions.pod:3476
 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
 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:3386 ../fish/guestfish-actions.pod:2622
+#: ../src/guestfs-actions.pod:3480 ../fish/guestfish-actions.pod:2684
 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: =head2
 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: =head2
-#: ../src/guestfs-actions.pod:3392
+#: ../src/guestfs-actions.pod:3486
 msgid "guestfs_mount_ro"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mount_ro"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3394
+#: ../src/guestfs-actions.pod:3488
 #, no-wrap
 msgid ""
 " int guestfs_mount_ro (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mount_ro (guestfs_h *g,\n"
@@ -9483,19 +9919,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3398
+#: ../src/guestfs-actions.pod:3492
 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
 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:3403
+#: ../src/guestfs-actions.pod:3497
 msgid "guestfs_mount_vfs"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mount_vfs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3405
+#: ../src/guestfs-actions.pod:3499
 #, no-wrap
 msgid ""
 " int guestfs_mount_vfs (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mount_vfs (guestfs_h *g,\n"
@@ -9507,7 +9943,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3411
+#: ../src/guestfs-actions.pod:3505
 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 "
 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 "
@@ -9515,12 +9951,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3417
+#: ../src/guestfs-actions.pod:3511
 msgid "guestfs_mountpoints"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mountpoints"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3419
+#: ../src/guestfs-actions.pod:3513
 #, no-wrap
 msgid ""
 " char **guestfs_mountpoints (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " char **guestfs_mountpoints (guestfs_h *g);\n"
@@ -9528,7 +9964,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3421
+#: ../src/guestfs-actions.pod:3515
 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 "
 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 "
@@ -9536,12 +9972,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3431
+#: ../src/guestfs-actions.pod:3525
 msgid "guestfs_mounts"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mounts"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3433
+#: ../src/guestfs-actions.pod:3527
 #, no-wrap
 msgid ""
 " char **guestfs_mounts (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " char **guestfs_mounts (guestfs_h *g);\n"
@@ -9549,29 +9985,29 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3435 ../fish/guestfish-actions.pod:2653
+#: ../src/guestfs-actions.pod:3529 ../fish/guestfish-actions.pod:2715
 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
 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:3438 ../fish/guestfish-actions.pod:2656
+#: ../src/guestfs-actions.pod:3532 ../fish/guestfish-actions.pod:2718
 msgid "Some internal mounts are not shown."
 msgstr ""
 
 # type: textblock
 msgid "Some internal mounts are not shown."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3440
+#: ../src/guestfs-actions.pod:3534
 msgid "See also: C<guestfs_mountpoints>"
 msgstr ""
 
 # type: =head2
 msgid "See also: C<guestfs_mountpoints>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3446
+#: ../src/guestfs-actions.pod:3540
 msgid "guestfs_mv"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_mv"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3448
+#: ../src/guestfs-actions.pod:3542
 #, no-wrap
 msgid ""
 " int guestfs_mv (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_mv (guestfs_h *g,\n"
@@ -9581,19 +10017,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3452 ../fish/guestfish-actions.pod:2664
+#: ../src/guestfs-actions.pod:3546 ../fish/guestfish-actions.pod:2726
 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
 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:3457
+#: ../src/guestfs-actions.pod:3551
 msgid "guestfs_ntfs_3g_probe"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_ntfs_3g_probe"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3459
+#: ../src/guestfs-actions.pod:3553
 #, no-wrap
 msgid ""
 " int guestfs_ntfs_3g_probe (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_ntfs_3g_probe (guestfs_h *g,\n"
@@ -9603,7 +10039,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3463 ../fish/guestfish-actions.pod:2671
+#: ../src/guestfs-actions.pod:3557 ../fish/guestfish-actions.pod:2733
 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 "
 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 "
@@ -9611,7 +10047,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3467 ../fish/guestfish-actions.pod:2675
+#: ../src/guestfs-actions.pod:3561 ../fish/guestfish-actions.pod:2737
 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 "
 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 "
@@ -9619,19 +10055,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3471 ../fish/guestfish-actions.pod:2679
+#: ../src/guestfs-actions.pod:3565 ../fish/guestfish-actions.pod:2741
 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: =head2
 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: =head2
-#: ../src/guestfs-actions.pod:3477
+#: ../src/guestfs-actions.pod:3571
 msgid "guestfs_ntfsresize"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_ntfsresize"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3479
+#: ../src/guestfs-actions.pod:3573
 #, no-wrap
 msgid ""
 " int guestfs_ntfsresize (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_ntfsresize (guestfs_h *g,\n"
@@ -9640,19 +10076,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3482 ../fish/guestfish-actions.pod:2687
+#: ../src/guestfs-actions.pod:3576 ../fish/guestfish-actions.pod:2749
 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
 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:3488
+#: ../src/guestfs-actions.pod:3582
 msgid "guestfs_ntfsresize_size"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_ntfsresize_size"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3490
+#: ../src/guestfs-actions.pod:3584
 #, no-wrap
 msgid ""
 " int guestfs_ntfsresize_size (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_ntfsresize_size (guestfs_h *g,\n"
@@ -9662,19 +10098,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3494
+#: ../src/guestfs-actions.pod:3588
 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: =head2
 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: =head2
-#: ../src/guestfs-actions.pod:3499
+#: ../src/guestfs-actions.pod:3593
 msgid "guestfs_part_add"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_part_add"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3501
+#: ../src/guestfs-actions.pod:3595
 #, no-wrap
 msgid ""
 " int guestfs_part_add (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_part_add (guestfs_h *g,\n"
@@ -9686,14 +10122,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3507
+#: ../src/guestfs-actions.pod:3601
 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
 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:3510 ../fish/guestfish-actions.pod:2705
+#: ../src/guestfs-actions.pod:3604 ../fish/guestfish-actions.pod:2767
 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 "
 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 "
@@ -9701,7 +10137,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3515 ../fish/guestfish-actions.pod:2710
+#: ../src/guestfs-actions.pod:3609 ../fish/guestfish-actions.pod:2772
 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 "
 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 "
@@ -9709,19 +10145,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3519
+#: ../src/guestfs-actions.pod:3613
 msgid ""
 "Creating a partition which covers the whole disk is not so easy.  Use "
 "C<guestfs_part_disk> to do that."
 msgstr ""
 
 # type: =head2
 msgid ""
 "Creating a partition which covers the whole disk is not so easy.  Use "
 "C<guestfs_part_disk> to do that."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3524
+#: ../src/guestfs-actions.pod:3618
 msgid "guestfs_part_del"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_part_del"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3526
+#: ../src/guestfs-actions.pod:3620
 #, no-wrap
 msgid ""
 " int guestfs_part_del (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_part_del (guestfs_h *g,\n"
@@ -9731,24 +10167,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3530 ../fish/guestfish-actions.pod:2721
+#: ../src/guestfs-actions.pod:3624 ../fish/guestfish-actions.pod:2783
 msgid "This command deletes the partition numbered C<partnum> on C<device>."
 msgstr ""
 
 # type: textblock
 msgid "This command deletes the partition numbered C<partnum> on C<device>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3532 ../fish/guestfish-actions.pod:2723
+#: ../src/guestfs-actions.pod:3626 ../fish/guestfish-actions.pod:2785
 msgid ""
 "Note that in the case of MBR partitioning, deleting an extended partition "
 "also deletes any logical partitions it contains."
 msgstr ""
 
 # type: =head2
 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:3538
+#: ../src/guestfs-actions.pod:3632
 msgid "guestfs_part_disk"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_part_disk"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3540
+#: ../src/guestfs-actions.pod:3634
 #, no-wrap
 msgid ""
 " int guestfs_part_disk (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_part_disk (guestfs_h *g,\n"
@@ -9758,7 +10194,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3544
+#: ../src/guestfs-actions.pod:3638
 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 "
 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 "
@@ -9766,19 +10202,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3548
+#: ../src/guestfs-actions.pod:3642
 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
 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:3556
+#: ../src/guestfs-actions.pod:3650
 msgid "guestfs_part_get_bootable"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_part_get_bootable"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3558
+#: ../src/guestfs-actions.pod:3652
 #, no-wrap
 msgid ""
 " int guestfs_part_get_bootable (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_part_get_bootable (guestfs_h *g,\n"
@@ -9788,24 +10224,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3562 ../fish/guestfish-actions.pod:2745
+#: ../src/guestfs-actions.pod:3656 ../fish/guestfish-actions.pod:2807
 msgid ""
 "This command returns true if the partition C<partnum> on C<device> has the "
 "bootable flag set."
 msgstr ""
 
 # type: textblock
 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:3565
+#: ../src/guestfs-actions.pod:3659
 msgid "See also C<guestfs_part_set_bootable>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_part_set_bootable>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3569
+#: ../src/guestfs-actions.pod:3663
 msgid "guestfs_part_get_mbr_id"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_part_get_mbr_id"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3571
+#: ../src/guestfs-actions.pod:3665
 #, no-wrap
 msgid ""
 " int guestfs_part_get_mbr_id (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_part_get_mbr_id (guestfs_h *g,\n"
@@ -9815,14 +10251,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3575 ../fish/guestfish-actions.pod:2754
+#: ../src/guestfs-actions.pod:3669 ../fish/guestfish-actions.pod:2816
 msgid ""
 "Returns the MBR type byte (also known as the ID byte) from the numbered "
 "partition C<partnum>."
 msgstr ""
 
 # type: textblock
 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:3578 ../src/guestfs-actions.pod:3740
+#: ../src/guestfs-actions.pod:3672 ../src/guestfs-actions.pod:3834
 msgid ""
 "Note that only MBR (old DOS-style) partitions have type bytes.  You will get "
 "undefined results for other partition table types (see "
 msgid ""
 "Note that only MBR (old DOS-style) partitions have type bytes.  You will get "
 "undefined results for other partition table types (see "
@@ -9830,12 +10266,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3584
+#: ../src/guestfs-actions.pod:3678
 msgid "guestfs_part_get_parttype"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_part_get_parttype"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3586
+#: ../src/guestfs-actions.pod:3680
 #, no-wrap
 msgid ""
 " char *guestfs_part_get_parttype (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_part_get_parttype (guestfs_h *g,\n"
@@ -9844,14 +10280,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3589 ../fish/guestfish-actions.pod:2765
+#: ../src/guestfs-actions.pod:3683 ../fish/guestfish-actions.pod:2827
 msgid ""
 "This command examines the partition table on C<device> and returns the "
 "partition table type (format) being used."
 msgstr ""
 
 # type: textblock
 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:3592
+#: ../src/guestfs-actions.pod:3686
 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 "
 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 "
@@ -9859,12 +10295,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3600
+#: ../src/guestfs-actions.pod:3694
 msgid "guestfs_part_init"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_part_init"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3602
+#: ../src/guestfs-actions.pod:3696
 #, no-wrap
 msgid ""
 " int guestfs_part_init (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_part_init (guestfs_h *g,\n"
@@ -9874,7 +10310,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3606 ../fish/guestfish-actions.pod:2777
+#: ../src/guestfs-actions.pod:3700 ../fish/guestfish-actions.pod:2839
 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> "
 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> "
@@ -9882,29 +10318,29 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3610
+#: ../src/guestfs-actions.pod:3704
 msgid ""
 "Initially there are no partitions.  Following this, you should call "
 "C<guestfs_part_add> for each partition required."
 msgstr ""
 
 # type: textblock
 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:3613 ../fish/guestfish-actions.pod:2784
+#: ../src/guestfs-actions.pod:3707 ../fish/guestfish-actions.pod:2846
 msgid "Possible values for C<parttype> are:"
 msgstr ""
 
 # type: =item
 msgid "Possible values for C<parttype> are:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3617 ../fish/guestfish-actions.pod:2788
+#: ../src/guestfs-actions.pod:3711 ../fish/guestfish-actions.pod:2850
 msgid "B<efi> | B<gpt>"
 msgstr ""
 
 # type: textblock
 msgid "B<efi> | B<gpt>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3619 ../fish/guestfish-actions.pod:2790
+#: ../src/guestfs-actions.pod:3713 ../fish/guestfish-actions.pod:2852
 msgid "Intel EFI / GPT partition table."
 msgstr ""
 
 # type: textblock
 msgid "Intel EFI / GPT partition table."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3621 ../fish/guestfish-actions.pod:2792
+#: ../src/guestfs-actions.pod:3715 ../fish/guestfish-actions.pod:2854
 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 "
 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 "
@@ -9912,12 +10348,12 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3625 ../fish/guestfish-actions.pod:2796
+#: ../src/guestfs-actions.pod:3719 ../fish/guestfish-actions.pod:2858
 msgid "B<mbr> | B<msdos>"
 msgstr ""
 
 # type: textblock
 msgid "B<mbr> | B<msdos>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3627 ../fish/guestfish-actions.pod:2798
+#: ../src/guestfs-actions.pod:3721 ../fish/guestfish-actions.pod:2860
 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 "
 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 "
@@ -9925,97 +10361,97 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3634 ../fish/guestfish-actions.pod:2805
+#: ../src/guestfs-actions.pod:3728 ../fish/guestfish-actions.pod:2867
 msgid "Other partition table types that may work but are not supported include:"
 msgstr ""
 
 # type: =item
 msgid "Other partition table types that may work but are not supported include:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3639 ../fish/guestfish-actions.pod:2810
+#: ../src/guestfs-actions.pod:3733 ../fish/guestfish-actions.pod:2872
 msgid "B<aix>"
 msgstr ""
 
 # type: textblock
 msgid "B<aix>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3641 ../fish/guestfish-actions.pod:2812
+#: ../src/guestfs-actions.pod:3735 ../fish/guestfish-actions.pod:2874
 msgid "AIX disk labels."
 msgstr ""
 
 # type: =item
 msgid "AIX disk labels."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3643 ../fish/guestfish-actions.pod:2814
+#: ../src/guestfs-actions.pod:3737 ../fish/guestfish-actions.pod:2876
 msgid "B<amiga> | B<rdb>"
 msgstr ""
 
 # type: textblock
 msgid "B<amiga> | B<rdb>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3645 ../fish/guestfish-actions.pod:2816
+#: ../src/guestfs-actions.pod:3739 ../fish/guestfish-actions.pod:2878
 msgid "Amiga \"Rigid Disk Block\" format."
 msgstr ""
 
 # type: =item
 msgid "Amiga \"Rigid Disk Block\" format."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3647 ../fish/guestfish-actions.pod:2818
+#: ../src/guestfs-actions.pod:3741 ../fish/guestfish-actions.pod:2880
 msgid "B<bsd>"
 msgstr ""
 
 # type: textblock
 msgid "B<bsd>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3649 ../fish/guestfish-actions.pod:2820
+#: ../src/guestfs-actions.pod:3743 ../fish/guestfish-actions.pod:2882
 msgid "BSD disk labels."
 msgstr ""
 
 # type: =item
 msgid "BSD disk labels."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3651 ../fish/guestfish-actions.pod:2822
+#: ../src/guestfs-actions.pod:3745 ../fish/guestfish-actions.pod:2884
 msgid "B<dasd>"
 msgstr ""
 
 # type: textblock
 msgid "B<dasd>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3653 ../fish/guestfish-actions.pod:2824
+#: ../src/guestfs-actions.pod:3747 ../fish/guestfish-actions.pod:2886
 msgid "DASD, used on IBM mainframes."
 msgstr ""
 
 # type: =item
 msgid "DASD, used on IBM mainframes."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3655 ../fish/guestfish-actions.pod:2826
+#: ../src/guestfs-actions.pod:3749 ../fish/guestfish-actions.pod:2888
 msgid "B<dvh>"
 msgstr ""
 
 # type: textblock
 msgid "B<dvh>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3657 ../fish/guestfish-actions.pod:2828
+#: ../src/guestfs-actions.pod:3751 ../fish/guestfish-actions.pod:2890
 msgid "MIPS/SGI volumes."
 msgstr ""
 
 # type: =item
 msgid "MIPS/SGI volumes."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3659 ../fish/guestfish-actions.pod:2830
+#: ../src/guestfs-actions.pod:3753 ../fish/guestfish-actions.pod:2892
 msgid "B<mac>"
 msgstr ""
 
 # type: textblock
 msgid "B<mac>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3661 ../fish/guestfish-actions.pod:2832
+#: ../src/guestfs-actions.pod:3755 ../fish/guestfish-actions.pod:2894
 msgid "Old Mac partition format.  Modern Macs use C<gpt>."
 msgstr ""
 
 # type: =item
 msgid "Old Mac partition format.  Modern Macs use C<gpt>."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3663 ../fish/guestfish-actions.pod:2834
+#: ../src/guestfs-actions.pod:3757 ../fish/guestfish-actions.pod:2896
 msgid "B<pc98>"
 msgstr ""
 
 # type: textblock
 msgid "B<pc98>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3665 ../fish/guestfish-actions.pod:2836
+#: ../src/guestfs-actions.pod:3759 ../fish/guestfish-actions.pod:2898
 msgid "NEC PC-98 format, common in Japan apparently."
 msgstr ""
 
 # type: =item
 msgid "NEC PC-98 format, common in Japan apparently."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3667 ../fish/guestfish-actions.pod:2838
+#: ../src/guestfs-actions.pod:3761 ../fish/guestfish-actions.pod:2900
 msgid "B<sun>"
 msgstr ""
 
 # type: textblock
 msgid "B<sun>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3669 ../fish/guestfish-actions.pod:2840
+#: ../src/guestfs-actions.pod:3763 ../fish/guestfish-actions.pod:2902
 msgid "Sun disk labels."
 msgstr ""
 
 # type: =head2
 msgid "Sun disk labels."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3675
+#: ../src/guestfs-actions.pod:3769
 msgid "guestfs_part_list"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_part_list"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3677
+#: ../src/guestfs-actions.pod:3771
 #, no-wrap
 msgid ""
 " struct guestfs_partition_list *guestfs_part_list (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " struct guestfs_partition_list *guestfs_part_list (guestfs_h *g,\n"
@@ -10024,61 +10460,61 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3680 ../fish/guestfish-actions.pod:2848
+#: ../src/guestfs-actions.pod:3774 ../fish/guestfish-actions.pod:2910
 msgid ""
 "This command parses the partition table on C<device> and returns the list of "
 "partitions found."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command parses the partition table on C<device> and returns the list of "
 "partitions found."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3683 ../fish/guestfish-actions.pod:2851
+#: ../src/guestfs-actions.pod:3777 ../fish/guestfish-actions.pod:2913
 msgid "The fields in the returned structure are:"
 msgstr ""
 
 # type: =item
 msgid "The fields in the returned structure are:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3687 ../fish/guestfish-actions.pod:2855
+#: ../src/guestfs-actions.pod:3781 ../fish/guestfish-actions.pod:2917
 msgid "B<part_num>"
 msgstr ""
 
 # type: textblock
 msgid "B<part_num>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3689 ../fish/guestfish-actions.pod:2857
+#: ../src/guestfs-actions.pod:3783 ../fish/guestfish-actions.pod:2919
 msgid "Partition number, counting from 1."
 msgstr ""
 
 # type: =item
 msgid "Partition number, counting from 1."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3691 ../fish/guestfish-actions.pod:2859
+#: ../src/guestfs-actions.pod:3785 ../fish/guestfish-actions.pod:2921
 msgid "B<part_start>"
 msgstr ""
 
 # type: textblock
 msgid "B<part_start>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3693
+#: ../src/guestfs-actions.pod:3787
 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
 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:3696 ../fish/guestfish-actions.pod:2864
+#: ../src/guestfs-actions.pod:3790 ../fish/guestfish-actions.pod:2926
 msgid "B<part_end>"
 msgstr ""
 
 # type: textblock
 msgid "B<part_end>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3698 ../fish/guestfish-actions.pod:2866
+#: ../src/guestfs-actions.pod:3792 ../fish/guestfish-actions.pod:2928
 msgid "End of the partition in bytes."
 msgstr ""
 
 # type: =item
 msgid "End of the partition in bytes."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3700 ../fish/guestfish-actions.pod:2868
+#: ../src/guestfs-actions.pod:3794 ../fish/guestfish-actions.pod:2930
 msgid "B<part_size>"
 msgstr ""
 
 # type: textblock
 msgid "B<part_size>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3702 ../fish/guestfish-actions.pod:2870
+#: ../src/guestfs-actions.pod:3796 ../fish/guestfish-actions.pod:2932
 msgid "Size of the partition in bytes."
 msgstr ""
 
 # type: textblock
 msgid "Size of the partition in bytes."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3706
+#: ../src/guestfs-actions.pod:3800
 msgid ""
 "This function returns a C<struct guestfs_partition_list *> (see "
 "E<lt>guestfs-structs.hE<gt>), or NULL if there was an error.  I<The caller "
 msgid ""
 "This function returns a C<struct guestfs_partition_list *> (see "
 "E<lt>guestfs-structs.hE<gt>), or NULL if there was an error.  I<The caller "
@@ -10086,12 +10522,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3711
+#: ../src/guestfs-actions.pod:3805
 msgid "guestfs_part_set_bootable"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_part_set_bootable"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3713
+#: ../src/guestfs-actions.pod:3807
 #, no-wrap
 msgid ""
 " int guestfs_part_set_bootable (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_part_set_bootable (guestfs_h *g,\n"
@@ -10102,14 +10538,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3718 ../fish/guestfish-actions.pod:2878
+#: ../src/guestfs-actions.pod:3812 ../fish/guestfish-actions.pod:2940
 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
 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:3721 ../fish/guestfish-actions.pod:2881
+#: ../src/guestfs-actions.pod:3815 ../fish/guestfish-actions.pod:2943
 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 "
 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 "
@@ -10117,12 +10553,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3727
+#: ../src/guestfs-actions.pod:3821
 msgid "guestfs_part_set_mbr_id"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_part_set_mbr_id"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3729
+#: ../src/guestfs-actions.pod:3823
 #, no-wrap
 msgid ""
 " int guestfs_part_set_mbr_id (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_part_set_mbr_id (guestfs_h *g,\n"
@@ -10133,7 +10569,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3734 ../fish/guestfish-actions.pod:2889
+#: ../src/guestfs-actions.pod:3828 ../fish/guestfish-actions.pod:2951
 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 "
 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 "
@@ -10142,12 +10578,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3746
+#: ../src/guestfs-actions.pod:3840
 msgid "guestfs_part_set_name"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_part_set_name"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3748
+#: ../src/guestfs-actions.pod:3842
 #, no-wrap
 msgid ""
 " int guestfs_part_set_name (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_part_set_name (guestfs_h *g,\n"
@@ -10158,26 +10594,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3753 ../fish/guestfish-actions.pod:2903
+#: ../src/guestfs-actions.pod:3847 ../fish/guestfish-actions.pod:2965
 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
 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:3756 ../fish/guestfish-actions.pod:2906
+#: ../src/guestfs-actions.pod:3850 ../fish/guestfish-actions.pod:2968
 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
 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:3761
+#: ../src/guestfs-actions.pod:3855
 msgid "guestfs_part_to_dev"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_part_to_dev"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3763
+#: ../src/guestfs-actions.pod:3857
 #, no-wrap
 msgid ""
 " char *guestfs_part_to_dev (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_part_to_dev (guestfs_h *g,\n"
@@ -10186,26 +10622,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3766 ../fish/guestfish-actions.pod:2913
+#: ../src/guestfs-actions.pod:3860 ../fish/guestfish-actions.pod:2975
 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
 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:3770
+#: ../src/guestfs-actions.pod:3864
 msgid ""
 "The named partition must exist, for example as a string returned from "
 "C<guestfs_list_partitions>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "The named partition must exist, for example as a string returned from "
 "C<guestfs_list_partitions>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3776
+#: ../src/guestfs-actions.pod:3870
 msgid "guestfs_ping_daemon"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_ping_daemon"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3778
+#: ../src/guestfs-actions.pod:3872
 #, no-wrap
 msgid ""
 " int guestfs_ping_daemon (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_ping_daemon (guestfs_h *g);\n"
@@ -10213,7 +10649,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3780 ../fish/guestfish-actions.pod:2924
+#: ../src/guestfs-actions.pod:3874 ../fish/guestfish-actions.pod:2986
 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 "
 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 "
@@ -10222,12 +10658,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3787
+#: ../src/guestfs-actions.pod:3881
 msgid "guestfs_pread"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_pread"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3789
+#: ../src/guestfs-actions.pod:3883
 #, no-wrap
 msgid ""
 " char *guestfs_pread (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_pread (guestfs_h *g,\n"
@@ -10239,52 +10675,81 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3795 ../fish/guestfish-actions.pod:2933
+#: ../src/guestfs-actions.pod:3889 ../fish/guestfish-actions.pod:2995
 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
 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:3798 ../fish/guestfish-actions.pod:2936
+#: ../src/guestfs-actions.pod:3892 ../src/guestfs-actions.pod:3915 ../fish/guestfish-actions.pod:2998 ../fish/guestfish-actions.pod:3013
 msgid ""
 "This may read fewer bytes than requested.  For further details see the "
 "L<pread(2)> system call."
 msgstr ""
 
 # type: textblock
 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:3801
-msgid "See also C<guestfs_pwrite>."
+#: ../src/guestfs-actions.pod:3895
+msgid "See also C<guestfs_pwrite>, C<guestfs_pread_device>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3810
-msgid "guestfs_pvcreate"
+#: ../src/guestfs-actions.pod:3904
+msgid "guestfs_pread_device"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3812
+#: ../src/guestfs-actions.pod:3906
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" int guestfs_pvcreate (guestfs_h *g,\n"
-"\t\tconst char *device);\n"
+" char *guestfs_pread_device (guestfs_h *g,\n"
+"\t\tconst char *device,\n"
+"\t\tint count,\n"
+"\t\tint64_t offset,\n"
+"\t\tsize_t *size_r);\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3815 ../fish/guestfish-actions.pod:2948
+#: ../src/guestfs-actions.pod:3912 ../fish/guestfish-actions.pod:3010
 msgid ""
 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>."
+"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:3918
+msgid "See also C<guestfs_pread>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3821
+#: ../src/guestfs-actions.pod:3927
+msgid "guestfs_pvcreate"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs-actions.pod:3929
+#, no-wrap
+msgid ""
+" int guestfs_pvcreate (guestfs_h *g,\n"
+"\t\tconst char *device);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:3932 ../fish/guestfish-actions.pod:3025
+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:3938
 msgid "guestfs_pvremove"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_pvremove"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3823
+#: ../src/guestfs-actions.pod:3940
 #, no-wrap
 msgid ""
 " int guestfs_pvremove (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_pvremove (guestfs_h *g,\n"
@@ -10293,14 +10758,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3826 ../fish/guestfish-actions.pod:2956
+#: ../src/guestfs-actions.pod:3943 ../fish/guestfish-actions.pod:3033
 msgid ""
 "This wipes a physical volume C<device> so that LVM will no longer recognise "
 "it."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This wipes a physical volume C<device> so that LVM will no longer recognise "
 "it."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3829 ../fish/guestfish-actions.pod:2959
+#: ../src/guestfs-actions.pod:3946 ../fish/guestfish-actions.pod:3036
 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 "
 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 "
@@ -10308,12 +10773,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3835
+#: ../src/guestfs-actions.pod:3952
 msgid "guestfs_pvresize"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_pvresize"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3837
+#: ../src/guestfs-actions.pod:3954
 #, no-wrap
 msgid ""
 " int guestfs_pvresize (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_pvresize (guestfs_h *g,\n"
@@ -10322,19 +10787,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3840 ../fish/guestfish-actions.pod:2967
+#: ../src/guestfs-actions.pod:3957 ../fish/guestfish-actions.pod:3044
 msgid ""
 "This resizes (expands or shrinks) an existing LVM physical volume to match "
 "the new size of the underlying device."
 msgstr ""
 
 # type: =head2
 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:3845
+#: ../src/guestfs-actions.pod:3962
 msgid "guestfs_pvresize_size"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_pvresize_size"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3847
+#: ../src/guestfs-actions.pod:3964
 #, no-wrap
 msgid ""
 " int guestfs_pvresize_size (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_pvresize_size (guestfs_h *g,\n"
@@ -10344,19 +10809,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3851
+#: ../src/guestfs-actions.pod:3968
 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
 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:3856
+#: ../src/guestfs-actions.pod:3973
 msgid "guestfs_pvs"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_pvs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3858
+#: ../src/guestfs-actions.pod:3975
 #, no-wrap
 msgid ""
 " char **guestfs_pvs (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " char **guestfs_pvs (guestfs_h *g);\n"
@@ -10364,31 +10829,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3860 ../fish/guestfish-actions.pod:2981
+#: ../src/guestfs-actions.pod:3977 ../fish/guestfish-actions.pod:3058
 msgid ""
 "List all the physical volumes detected.  This is the equivalent of the "
 "L<pvs(8)> command."
 msgstr ""
 
 # type: textblock
 msgid ""
 "List all the physical volumes detected.  This is the equivalent of the "
 "L<pvs(8)> command."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3863 ../fish/guestfish-actions.pod:2984
+#: ../src/guestfs-actions.pod:3980 ../fish/guestfish-actions.pod:3061
 msgid ""
 "This returns a list of just the device names that contain PVs "
 "(eg. C</dev/sda2>)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This returns a list of just the device names that contain PVs "
 "(eg. C</dev/sda2>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3866
+#: ../src/guestfs-actions.pod:3983
 msgid "See also C<guestfs_pvs_full>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_pvs_full>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3872
+#: ../src/guestfs-actions.pod:3989
 msgid "guestfs_pvs_full"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_pvs_full"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3874
+#: ../src/guestfs-actions.pod:3991
 #, no-wrap
 msgid ""
 " struct guestfs_lvm_pv_list *guestfs_pvs_full (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " struct guestfs_lvm_pv_list *guestfs_pvs_full (guestfs_h *g);\n"
@@ -10396,14 +10861,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3876 ../fish/guestfish-actions.pod:2993
+#: ../src/guestfs-actions.pod:3993 ../fish/guestfish-actions.pod:3070
 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
 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:3879
+#: ../src/guestfs-actions.pod:3996
 msgid ""
 "This function returns a C<struct guestfs_lvm_pv_list *> (see "
 "E<lt>guestfs-structs.hE<gt>), or NULL if there was an error.  I<The caller "
 msgid ""
 "This function returns a C<struct guestfs_lvm_pv_list *> (see "
 "E<lt>guestfs-structs.hE<gt>), or NULL if there was an error.  I<The caller "
@@ -10411,12 +10876,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3884
+#: ../src/guestfs-actions.pod:4001
 msgid "guestfs_pvuuid"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_pvuuid"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3886
+#: ../src/guestfs-actions.pod:4003
 #, no-wrap
 msgid ""
 " char *guestfs_pvuuid (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_pvuuid (guestfs_h *g,\n"
@@ -10425,17 +10890,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3889 ../fish/guestfish-actions.pod:3000
+#: ../src/guestfs-actions.pod:4006 ../fish/guestfish-actions.pod:3077
 msgid "This command returns the UUID of the LVM PV C<device>."
 msgstr ""
 
 # type: =head2
 msgid "This command returns the UUID of the LVM PV C<device>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3894
+#: ../src/guestfs-actions.pod:4011
 msgid "guestfs_pwrite"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_pwrite"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3896
+#: ../src/guestfs-actions.pod:4013
 #, no-wrap
 msgid ""
 " int guestfs_pwrite (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_pwrite (guestfs_h *g,\n"
@@ -10447,14 +10912,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3902 ../fish/guestfish-actions.pod:3006
+#: ../src/guestfs-actions.pod:4019 ../fish/guestfish-actions.pod:3083
 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
 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:3905 ../fish/guestfish-actions.pod:3009
+#: ../src/guestfs-actions.pod:4022 ../fish/guestfish-actions.pod:3086
 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 "
 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 "
@@ -10464,17 +10929,54 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3911
-msgid "See also C<guestfs_pread>."
+#: ../src/guestfs-actions.pod:4028
+msgid "See also C<guestfs_pread>, C<guestfs_pwrite_device>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3918
+#: ../src/guestfs-actions.pod:4035
+msgid "guestfs_pwrite_device"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs-actions.pod:4037
+#, no-wrap
+msgid ""
+" int guestfs_pwrite_device (guestfs_h *g,\n"
+"\t\tconst char *device,\n"
+"\t\tconst char *content,\n"
+"\t\tsize_t content_size,\n"
+"\t\tint64_t offset);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:4043 ../fish/guestfish-actions.pod:3101
+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:4046 ../fish/guestfish-actions.pod:3104
+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 "
+"devices and partitions are probably impossible with standard Linux kernels)."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:4051
+msgid "See also C<guestfs_pwrite>."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs-actions.pod:4058
 msgid "guestfs_read_file"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_read_file"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3920
+#: ../src/guestfs-actions.pod:4060
 #, no-wrap
 msgid ""
 " char *guestfs_read_file (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_read_file (guestfs_h *g,\n"
@@ -10484,12 +10986,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3924 ../fish/guestfish-actions.pod:3024
+#: ../src/guestfs-actions.pod:4064 ../fish/guestfish-actions.pod:3118
 msgid "This calls returns the contents of the file C<path> as a buffer."
 msgstr ""
 
 # type: textblock
 msgid "This calls returns the contents of the file C<path> as a buffer."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3927
+#: ../src/guestfs-actions.pod:4067
 msgid ""
 "Unlike C<guestfs_cat>, this function can correctly handle files that contain "
 "embedded ASCII NUL characters.  However unlike C<guestfs_download>, this "
 msgid ""
 "Unlike C<guestfs_cat>, this function can correctly handle files that contain "
 "embedded ASCII NUL characters.  However unlike C<guestfs_download>, this "
@@ -10497,12 +10999,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3939
+#: ../src/guestfs-actions.pod:4079
 msgid "guestfs_read_lines"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_read_lines"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3941
+#: ../src/guestfs-actions.pod:4081
 #, no-wrap
 msgid ""
 " char **guestfs_read_lines (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_read_lines (guestfs_h *g,\n"
@@ -10511,14 +11013,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3946 ../fish/guestfish-actions.pod:3041
+#: ../src/guestfs-actions.pod:4086 ../fish/guestfish-actions.pod:3135
 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
 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:3949
+#: ../src/guestfs-actions.pod:4089
 msgid ""
 "Note that this function cannot correctly handle binary files (specifically, "
 "files containing C<\\0> character which is treated as end of line).  For "
 msgid ""
 "Note that this function cannot correctly handle binary files (specifically, "
 "files containing C<\\0> character which is treated as end of line).  For "
@@ -10527,12 +11029,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:3958
+#: ../src/guestfs-actions.pod:4098
 msgid "guestfs_readdir"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_readdir"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:3960
+#: ../src/guestfs-actions.pod:4100
 #, no-wrap
 msgid ""
 " struct guestfs_dirent_list *guestfs_readdir (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " struct guestfs_dirent_list *guestfs_readdir (guestfs_h *g,\n"
@@ -10541,12 +11043,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3963 ../fish/guestfish-actions.pod:3053
+#: ../src/guestfs-actions.pod:4103 ../fish/guestfish-actions.pod:3147
 msgid "This returns the list of directory entries in directory C<dir>."
 msgstr ""
 
 # type: textblock
 msgid "This returns the list of directory entries in directory C<dir>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3965 ../fish/guestfish-actions.pod:3055
+#: ../src/guestfs-actions.pod:4105 ../fish/guestfish-actions.pod:3149
 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 "
 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 "
@@ -10554,104 +11056,104 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3969 ../fish/guestfish-actions.pod:3059
+#: ../src/guestfs-actions.pod:4109 ../fish/guestfish-actions.pod:3153
 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
 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:3974 ../fish/guestfish-actions.pod:3064
+#: ../src/guestfs-actions.pod:4114 ../fish/guestfish-actions.pod:3158
 msgid "'b'"
 msgstr ""
 
 # type: textblock
 msgid "'b'"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3976 ../fish/guestfish-actions.pod:3066
+#: ../src/guestfs-actions.pod:4116 ../fish/guestfish-actions.pod:3160
 msgid "Block special"
 msgstr ""
 
 # type: =item
 msgid "Block special"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3978 ../fish/guestfish-actions.pod:3068
+#: ../src/guestfs-actions.pod:4118 ../fish/guestfish-actions.pod:3162
 msgid "'c'"
 msgstr ""
 
 # type: textblock
 msgid "'c'"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3980 ../fish/guestfish-actions.pod:3070
+#: ../src/guestfs-actions.pod:4120 ../fish/guestfish-actions.pod:3164
 msgid "Char special"
 msgstr ""
 
 # type: =item
 msgid "Char special"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3982 ../fish/guestfish-actions.pod:3072
+#: ../src/guestfs-actions.pod:4122 ../fish/guestfish-actions.pod:3166
 msgid "'d'"
 msgstr ""
 
 # type: textblock
 msgid "'d'"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3984 ../fish/guestfish-actions.pod:3074
+#: ../src/guestfs-actions.pod:4124 ../fish/guestfish-actions.pod:3168
 msgid "Directory"
 msgstr ""
 
 # type: =item
 msgid "Directory"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3986 ../fish/guestfish-actions.pod:3076
+#: ../src/guestfs-actions.pod:4126 ../fish/guestfish-actions.pod:3170
 msgid "'f'"
 msgstr ""
 
 # type: textblock
 msgid "'f'"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3988 ../fish/guestfish-actions.pod:3078
+#: ../src/guestfs-actions.pod:4128 ../fish/guestfish-actions.pod:3172
 msgid "FIFO (named pipe)"
 msgstr ""
 
 # type: =item
 msgid "FIFO (named pipe)"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3990 ../fish/guestfish-actions.pod:3080
+#: ../src/guestfs-actions.pod:4130 ../fish/guestfish-actions.pod:3174
 msgid "'l'"
 msgstr ""
 
 # type: textblock
 msgid "'l'"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3992 ../fish/guestfish-actions.pod:3082
+#: ../src/guestfs-actions.pod:4132 ../fish/guestfish-actions.pod:3176
 msgid "Symbolic link"
 msgstr ""
 
 # type: =item
 msgid "Symbolic link"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3994 ../fish/guestfish-actions.pod:3084
+#: ../src/guestfs-actions.pod:4134 ../fish/guestfish-actions.pod:3178
 msgid "'r'"
 msgstr ""
 
 # type: textblock
 msgid "'r'"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:3996 ../fish/guestfish-actions.pod:3086
+#: ../src/guestfs-actions.pod:4136 ../fish/guestfish-actions.pod:3180
 msgid "Regular file"
 msgstr ""
 
 # type: =item
 msgid "Regular file"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:3998 ../fish/guestfish-actions.pod:3088
+#: ../src/guestfs-actions.pod:4138 ../fish/guestfish-actions.pod:3182
 msgid "'s'"
 msgstr ""
 
 # type: textblock
 msgid "'s'"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4000 ../fish/guestfish-actions.pod:3090
+#: ../src/guestfs-actions.pod:4140 ../fish/guestfish-actions.pod:3184
 msgid "Socket"
 msgstr ""
 
 # type: =item
 msgid "Socket"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4002 ../fish/guestfish-actions.pod:3092
+#: ../src/guestfs-actions.pod:4142 ../fish/guestfish-actions.pod:3186
 msgid "'u'"
 msgstr ""
 
 # type: textblock
 msgid "'u'"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4004 ../fish/guestfish-actions.pod:3094
+#: ../src/guestfs-actions.pod:4144 ../fish/guestfish-actions.pod:3188
 msgid "Unknown file type"
 msgstr ""
 
 # type: =item
 msgid "Unknown file type"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4006 ../fish/guestfish-actions.pod:3096
+#: ../src/guestfs-actions.pod:4146 ../fish/guestfish-actions.pod:3190
 msgid "'?'"
 msgstr ""
 
 # type: textblock
 msgid "'?'"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4008 ../fish/guestfish-actions.pod:3098
+#: ../src/guestfs-actions.pod:4148 ../fish/guestfish-actions.pod:3192
 msgid "The L<readdir(3)> call returned a C<d_type> field with an unexpected value"
 msgstr ""
 
 # type: textblock
 msgid "The L<readdir(3)> call returned a C<d_type> field with an unexpected value"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4013
+#: ../src/guestfs-actions.pod:4153
 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 "
 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 "
@@ -10659,7 +11161,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4017
+#: ../src/guestfs-actions.pod:4157
 msgid ""
 "This function returns a C<struct guestfs_dirent_list *> (see "
 "E<lt>guestfs-structs.hE<gt>), or NULL if there was an error.  I<The caller "
 msgid ""
 "This function returns a C<struct guestfs_dirent_list *> (see "
 "E<lt>guestfs-structs.hE<gt>), or NULL if there was an error.  I<The caller "
@@ -10667,12 +11169,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4022
+#: ../src/guestfs-actions.pod:4162
 msgid "guestfs_readlink"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_readlink"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4024
+#: ../src/guestfs-actions.pod:4164
 #, no-wrap
 msgid ""
 " char *guestfs_readlink (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_readlink (guestfs_h *g,\n"
@@ -10681,17 +11183,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4027 ../fish/guestfish-actions.pod:3111
+#: ../src/guestfs-actions.pod:4167 ../fish/guestfish-actions.pod:3205
 msgid "This command reads the target of a symbolic link."
 msgstr ""
 
 # type: =head2
 msgid "This command reads the target of a symbolic link."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4032
+#: ../src/guestfs-actions.pod:4172
 msgid "guestfs_readlinklist"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_readlinklist"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4034
+#: ../src/guestfs-actions.pod:4174
 #, no-wrap
 msgid ""
 " char **guestfs_readlinklist (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_readlinklist (guestfs_h *g,\n"
@@ -10701,7 +11203,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4038 ../fish/guestfish-actions.pod:3117
+#: ../src/guestfs-actions.pod:4178 ../fish/guestfish-actions.pod:3211
 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 "
 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 "
@@ -10709,14 +11211,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4042 ../fish/guestfish-actions.pod:3121
+#: ../src/guestfs-actions.pod:4182 ../fish/guestfish-actions.pod:3215
 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
 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:4046 ../fish/guestfish-actions.pod:3125
+#: ../src/guestfs-actions.pod:4186 ../fish/guestfish-actions.pod:3219
 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 "
 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 "
@@ -10726,7 +11228,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4053 ../fish/guestfish-actions.pod:3132
+#: ../src/guestfs-actions.pod:4193 ../fish/guestfish-actions.pod:3226
 msgid ""
 "This call is intended for programs that want to efficiently list a directory "
 "contents without making many round-trips.  Very long directory listings "
 msgid ""
 "This call is intended for programs that want to efficiently list a directory "
 "contents without making many round-trips.  Very long directory listings "
@@ -10735,12 +11237,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4064
+#: ../src/guestfs-actions.pod:4204
 msgid "guestfs_realpath"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_realpath"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4066
+#: ../src/guestfs-actions.pod:4206
 #, no-wrap
 msgid ""
 " char *guestfs_realpath (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_realpath (guestfs_h *g,\n"
@@ -10749,19 +11251,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4069 ../fish/guestfish-actions.pod:3143
+#: ../src/guestfs-actions.pod:4209 ../fish/guestfish-actions.pod:3237
 msgid ""
 "Return the canonicalized absolute pathname of C<path>.  The returned path "
 "has no C<.>, C<..> or symbolic link path elements."
 msgstr ""
 
 # type: =head2
 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:4075
+#: ../src/guestfs-actions.pod:4215
 msgid "guestfs_removexattr"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_removexattr"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4077
+#: ../src/guestfs-actions.pod:4217
 #, no-wrap
 msgid ""
 " int guestfs_removexattr (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_removexattr (guestfs_h *g,\n"
@@ -10771,22 +11273,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4081 ../fish/guestfish-actions.pod:3150
+#: ../src/guestfs-actions.pod:4221 ../fish/guestfish-actions.pod:3244
 msgid "This call removes the extended attribute named C<xattr> of the file C<path>."
 msgstr ""
 
 # type: textblock
 msgid "This call removes the extended attribute named C<xattr> of the file C<path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4084
+#: ../src/guestfs-actions.pod:4224
 msgid "See also: C<guestfs_lremovexattr>, L<attr(5)>."
 msgstr ""
 
 # type: =head2
 msgid "See also: C<guestfs_lremovexattr>, L<attr(5)>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4088
+#: ../src/guestfs-actions.pod:4228
 msgid "guestfs_resize2fs"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_resize2fs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4090
+#: ../src/guestfs-actions.pod:4230
 #, no-wrap
 msgid ""
 " int guestfs_resize2fs (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_resize2fs (guestfs_h *g,\n"
@@ -10795,14 +11297,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4093 ../fish/guestfish-actions.pod:3159
+#: ../src/guestfs-actions.pod:4233 ../fish/guestfish-actions.pod:3253
 msgid ""
 "This resizes an ext2, ext3 or ext4 filesystem to match the size of the "
 "underlying device."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This resizes an ext2, ext3 or ext4 filesystem to match the size of the "
 "underlying device."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4096
+#: ../src/guestfs-actions.pod:4236
 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> "
 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> "
@@ -10811,12 +11313,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4104
+#: ../src/guestfs-actions.pod:4244
 msgid "guestfs_resize2fs_size"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_resize2fs_size"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4106
+#: ../src/guestfs-actions.pod:4246
 #, no-wrap
 msgid ""
 " int guestfs_resize2fs_size (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_resize2fs_size (guestfs_h *g,\n"
@@ -10826,19 +11328,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4110
+#: ../src/guestfs-actions.pod:4250
 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
 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:4115
+#: ../src/guestfs-actions.pod:4255
 msgid "guestfs_rm"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_rm"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4117
+#: ../src/guestfs-actions.pod:4257
 #, no-wrap
 msgid ""
 " int guestfs_rm (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_rm (guestfs_h *g,\n"
@@ -10847,17 +11349,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4120 ../fish/guestfish-actions.pod:3179
+#: ../src/guestfs-actions.pod:4260 ../fish/guestfish-actions.pod:3273
 msgid "Remove the single file C<path>."
 msgstr ""
 
 # type: =head2
 msgid "Remove the single file C<path>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4124
+#: ../src/guestfs-actions.pod:4264
 msgid "guestfs_rm_rf"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_rm_rf"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4126
+#: ../src/guestfs-actions.pod:4266
 #, no-wrap
 msgid ""
 " int guestfs_rm_rf (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_rm_rf (guestfs_h *g,\n"
@@ -10866,19 +11368,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4129 ../fish/guestfish-actions.pod:3185
+#: ../src/guestfs-actions.pod:4269 ../fish/guestfish-actions.pod:3279
 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
 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:4135
+#: ../src/guestfs-actions.pod:4275
 msgid "guestfs_rmdir"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_rmdir"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4137
+#: ../src/guestfs-actions.pod:4277
 #, no-wrap
 msgid ""
 " int guestfs_rmdir (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_rmdir (guestfs_h *g,\n"
@@ -10887,17 +11389,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4140 ../fish/guestfish-actions.pod:3193
+#: ../src/guestfs-actions.pod:4280 ../fish/guestfish-actions.pod:3287
 msgid "Remove the single directory C<path>."
 msgstr ""
 
 # type: =head2
 msgid "Remove the single directory C<path>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4144
+#: ../src/guestfs-actions.pod:4284
 msgid "guestfs_rmmountpoint"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_rmmountpoint"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4146
+#: ../src/guestfs-actions.pod:4286
 #, no-wrap
 msgid ""
 " int guestfs_rmmountpoint (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_rmmountpoint (guestfs_h *g,\n"
@@ -10906,19 +11408,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4149
+#: ../src/guestfs-actions.pod:4289
 msgid ""
 "This calls removes a mountpoint that was previously created with "
 "C<guestfs_mkmountpoint>.  See C<guestfs_mkmountpoint> for full details."
 msgstr ""
 
 # type: =head2
 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:4155
+#: ../src/guestfs-actions.pod:4295
 msgid "guestfs_scrub_device"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_scrub_device"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4157
+#: ../src/guestfs-actions.pod:4297
 #, no-wrap
 msgid ""
 " int guestfs_scrub_device (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_scrub_device (guestfs_h *g,\n"
@@ -10927,26 +11429,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4160 ../fish/guestfish-actions.pod:3207
+#: ../src/guestfs-actions.pod:4300 ../fish/guestfish-actions.pod:3301
 msgid ""
 "This command writes patterns over C<device> to make data retrieval more "
 "difficult."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command writes patterns over C<device> to make data retrieval more "
 "difficult."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4163 ../src/guestfs-actions.pod:4181 ../src/guestfs-actions.pod:4197 ../fish/guestfish-actions.pod:3210 ../fish/guestfish-actions.pod:3225 ../fish/guestfish-actions.pod:3238
+#: ../src/guestfs-actions.pod:4303 ../src/guestfs-actions.pod:4321 ../src/guestfs-actions.pod:4337 ../fish/guestfish-actions.pod:3304 ../fish/guestfish-actions.pod:3319 ../fish/guestfish-actions.pod:3332
 msgid ""
 "It is an interface to the L<scrub(1)> program.  See that manual page for "
 "more details."
 msgstr ""
 
 # type: =head2
 msgid ""
 "It is an interface to the L<scrub(1)> program.  See that manual page for "
 "more details."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4171
+#: ../src/guestfs-actions.pod:4311
 msgid "guestfs_scrub_file"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_scrub_file"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4173
+#: ../src/guestfs-actions.pod:4313
 #, no-wrap
 msgid ""
 " int guestfs_scrub_file (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_scrub_file (guestfs_h *g,\n"
@@ -10955,24 +11457,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4176 ../fish/guestfish-actions.pod:3220
+#: ../src/guestfs-actions.pod:4316 ../fish/guestfish-actions.pod:3314
 msgid ""
 "This command writes patterns over a file to make data retrieval more "
 "difficult."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command writes patterns over a file to make data retrieval more "
 "difficult."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4179 ../fish/guestfish-actions.pod:3223
+#: ../src/guestfs-actions.pod:4319 ../fish/guestfish-actions.pod:3317
 msgid "The file is I<removed> after scrubbing."
 msgstr ""
 
 # type: =head2
 msgid "The file is I<removed> after scrubbing."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4186
+#: ../src/guestfs-actions.pod:4326
 msgid "guestfs_scrub_freespace"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_scrub_freespace"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4188
+#: ../src/guestfs-actions.pod:4328
 #, no-wrap
 msgid ""
 " int guestfs_scrub_freespace (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_scrub_freespace (guestfs_h *g,\n"
@@ -10981,7 +11483,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4191
+#: ../src/guestfs-actions.pod:4331
 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>, "
 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>, "
@@ -10990,12 +11492,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4202
+#: ../src/guestfs-actions.pod:4342
 msgid "guestfs_set_append"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_append"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4204
+#: ../src/guestfs-actions.pod:4344
 #, no-wrap
 msgid ""
 " int guestfs_set_append (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_set_append (guestfs_h *g,\n"
@@ -11004,33 +11506,33 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4207 ../fish/guestfish-actions.pod:3245
+#: ../src/guestfs-actions.pod:4347 ../fish/guestfish-actions.pod:3341
 msgid ""
 "This function is used to add additional options to the guest kernel command "
 "line."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This function is used to add additional options to the guest kernel command "
 "line."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4210 ../fish/guestfish-actions.pod:3248
+#: ../src/guestfs-actions.pod:4350 ../fish/guestfish-actions.pod:3344
 msgid ""
 "The default is C<NULL> unless overridden by setting C<LIBGUESTFS_APPEND> "
 "environment variable."
 msgstr ""
 
 # type: textblock
 msgid ""
 "The default is C<NULL> unless overridden by setting C<LIBGUESTFS_APPEND> "
 "environment variable."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4213 ../fish/guestfish-actions.pod:3251
+#: ../src/guestfs-actions.pod:4353 ../fish/guestfish-actions.pod:3347
 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
 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:4218
+#: ../src/guestfs-actions.pod:4358
 msgid "guestfs_set_autosync"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_autosync"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4220
+#: ../src/guestfs-actions.pod:4360
 #, no-wrap
 msgid ""
 " int guestfs_set_autosync (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_set_autosync (guestfs_h *g,\n"
@@ -11039,7 +11541,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4223
+#: ../src/guestfs-actions.pod:4363
 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 "
 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 "
@@ -11047,19 +11549,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4228 ../fish/guestfish-actions.pod:3263
+#: ../src/guestfs-actions.pod:4368 ../fish/guestfish-actions.pod:3361
 msgid ""
 "This is disabled by default (except in guestfish where it is enabled by "
 "default)."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This is disabled by default (except in guestfish where it is enabled by "
 "default)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4233
+#: ../src/guestfs-actions.pod:4373
 msgid "guestfs_set_direct"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_direct"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4235
+#: ../src/guestfs-actions.pod:4375
 #, no-wrap
 msgid ""
 " int guestfs_set_direct (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_set_direct (guestfs_h *g,\n"
@@ -11068,14 +11570,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4238 ../fish/guestfish-actions.pod:3270
+#: ../src/guestfs-actions.pod:4378 ../fish/guestfish-actions.pod:3370
 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
 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:4242
+#: ../src/guestfs-actions.pod:4382
 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 "
 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 "
@@ -11083,22 +11585,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4246 ../fish/guestfish-actions.pod:3278
+#: ../src/guestfs-actions.pod:4386 ../fish/guestfish-actions.pod:3378
 msgid "You probably don't want to use this unless you know what you are doing."
 msgstr ""
 
 # type: textblock
 msgid "You probably don't want to use this unless you know what you are doing."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4249 ../fish/guestfish-actions.pod:3281
+#: ../src/guestfs-actions.pod:4389 ../fish/guestfish-actions.pod:3381
 msgid "The default is disabled."
 msgstr ""
 
 # type: =head2
 msgid "The default is disabled."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4253
+#: ../src/guestfs-actions.pod:4393
 msgid "guestfs_set_e2label"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_e2label"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4255
+#: ../src/guestfs-actions.pod:4395
 #, no-wrap
 msgid ""
 " int guestfs_set_e2label (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_set_e2label (guestfs_h *g,\n"
@@ -11108,26 +11610,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4259 ../fish/guestfish-actions.pod:3287
+#: ../src/guestfs-actions.pod:4399 ../fish/guestfish-actions.pod:3387
 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
 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:4263
+#: ../src/guestfs-actions.pod:4403
 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
 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:4268
+#: ../src/guestfs-actions.pod:4408
 msgid "guestfs_set_e2uuid"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_e2uuid"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4270
+#: ../src/guestfs-actions.pod:4410
 #, no-wrap
 msgid ""
 " int guestfs_set_e2uuid (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_set_e2uuid (guestfs_h *g,\n"
@@ -11137,7 +11639,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4274 ../fish/guestfish-actions.pod:3298
+#: ../src/guestfs-actions.pod:4414 ../fish/guestfish-actions.pod:3398
 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>, "
 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>, "
@@ -11145,19 +11647,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4279
+#: ../src/guestfs-actions.pod:4419
 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
 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:4284
+#: ../src/guestfs-actions.pod:4424
 msgid "guestfs_set_memsize"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_memsize"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4286
+#: ../src/guestfs-actions.pod:4426
 #, no-wrap
 msgid ""
 " int guestfs_set_memsize (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_set_memsize (guestfs_h *g,\n"
@@ -11166,26 +11668,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4289
+#: ../src/guestfs-actions.pod:4429
 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
 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:4293 ../fish/guestfish-actions.pod:3314
+#: ../src/guestfs-actions.pod:4433 ../fish/guestfish-actions.pod:3416
 msgid ""
 "You can also change this by setting the environment variable "
 "C<LIBGUESTFS_MEMSIZE> before the handle is created."
 msgstr ""
 
 # type: =head2
 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:4302
+#: ../src/guestfs-actions.pod:4442
 msgid "guestfs_set_network"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_network"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4304
+#: ../src/guestfs-actions.pod:4444
 #, no-wrap
 msgid ""
 " int guestfs_set_network (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_set_network (guestfs_h *g,\n"
@@ -11194,33 +11696,33 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4307 ../fish/guestfish-actions.pod:3325
+#: ../src/guestfs-actions.pod:4447 ../fish/guestfish-actions.pod:3429
 msgid ""
 "If C<network> is true, then the network is enabled in the libguestfs "
 "appliance.  The default is false."
 msgstr ""
 
 # type: textblock
 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:4310 ../fish/guestfish-actions.pod:3328
+#: ../src/guestfs-actions.pod:4450 ../fish/guestfish-actions.pod:3432
 msgid ""
 "This affects whether commands are able to access the network (see "
 "L<guestfs(3)/RUNNING COMMANDS>)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This affects whether commands are able to access the network (see "
 "L<guestfs(3)/RUNNING COMMANDS>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4313
+#: ../src/guestfs-actions.pod:4453
 msgid ""
 "You must call this before calling C<guestfs_launch>, otherwise it has no "
 "effect."
 msgstr ""
 
 # type: =head2
 msgid ""
 "You must call this before calling C<guestfs_launch>, otherwise it has no "
 "effect."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4318
+#: ../src/guestfs-actions.pod:4458
 msgid "guestfs_set_path"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_path"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4320
+#: ../src/guestfs-actions.pod:4460
 #, no-wrap
 msgid ""
 " int guestfs_set_path (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_set_path (guestfs_h *g,\n"
@@ -11229,29 +11731,29 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4323 ../fish/guestfish-actions.pod:3338
+#: ../src/guestfs-actions.pod:4463 ../fish/guestfish-actions.pod:3444
 msgid "Set the path that libguestfs searches for kernel and initrd.img."
 msgstr ""
 
 # type: textblock
 msgid "Set the path that libguestfs searches for kernel and initrd.img."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4325 ../fish/guestfish-actions.pod:3340
+#: ../src/guestfs-actions.pod:4465 ../fish/guestfish-actions.pod:3446
 msgid ""
 "The default is C<$libdir/guestfs> unless overridden by setting "
 "C<LIBGUESTFS_PATH> environment variable."
 msgstr ""
 
 # type: textblock
 msgid ""
 "The default is C<$libdir/guestfs> unless overridden by setting "
 "C<LIBGUESTFS_PATH> environment variable."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4328 ../fish/guestfish-actions.pod:3343
+#: ../src/guestfs-actions.pod:4468 ../fish/guestfish-actions.pod:3449
 msgid "Setting C<path> to C<NULL> restores the default path."
 msgstr ""
 
 # type: =head2
 msgid "Setting C<path> to C<NULL> restores the default path."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4332
+#: ../src/guestfs-actions.pod:4472
 msgid "guestfs_set_qemu"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_qemu"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4334
+#: ../src/guestfs-actions.pod:4474
 #, no-wrap
 msgid ""
 " int guestfs_set_qemu (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_set_qemu (guestfs_h *g,\n"
@@ -11260,29 +11762,29 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4337 ../fish/guestfish-actions.pod:3349
+#: ../src/guestfs-actions.pod:4477 ../fish/guestfish-actions.pod:3457
 msgid "Set the qemu binary that we will use."
 msgstr ""
 
 # type: textblock
 msgid "Set the qemu binary that we will use."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4339 ../fish/guestfish-actions.pod:3351
+#: ../src/guestfs-actions.pod:4479 ../fish/guestfish-actions.pod:3459
 msgid "The default is chosen when the library was compiled by the configure script."
 msgstr ""
 
 # type: textblock
 msgid "The default is chosen when the library was compiled by the configure script."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4342 ../fish/guestfish-actions.pod:3354
+#: ../src/guestfs-actions.pod:4482 ../fish/guestfish-actions.pod:3462
 msgid ""
 "You can also override this by setting the C<LIBGUESTFS_QEMU> environment "
 "variable."
 msgstr ""
 
 # type: textblock
 msgid ""
 "You can also override this by setting the C<LIBGUESTFS_QEMU> environment "
 "variable."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4345 ../fish/guestfish-actions.pod:3357
+#: ../src/guestfs-actions.pod:4485 ../fish/guestfish-actions.pod:3465
 msgid "Setting C<qemu> to C<NULL> restores the default qemu binary."
 msgstr ""
 
 # type: textblock
 msgid "Setting C<qemu> to C<NULL> restores the default qemu binary."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4347 ../fish/guestfish-actions.pod:3359
+#: ../src/guestfs-actions.pod:4487 ../fish/guestfish-actions.pod:3467
 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 "
 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 "
@@ -11293,12 +11795,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4357
+#: ../src/guestfs-actions.pod:4497
 msgid "guestfs_set_recovery_proc"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_recovery_proc"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4359
+#: ../src/guestfs-actions.pod:4499
 #, no-wrap
 msgid ""
 " int guestfs_set_recovery_proc (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_set_recovery_proc (guestfs_h *g,\n"
@@ -11307,7 +11809,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4362
+#: ../src/guestfs-actions.pod:4502
 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 "
 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 "
@@ -11316,14 +11818,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4367
+#: ../src/guestfs-actions.pod:4507
 msgid ""
 "This only has any effect if called before C<guestfs_launch>, and the default "
 "is true."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This only has any effect if called before C<guestfs_launch>, and the default "
 "is true."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4370 ../fish/guestfish-actions.pod:3379
+#: ../src/guestfs-actions.pod:4510 ../fish/guestfish-actions.pod:3489
 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 "
 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 "
@@ -11332,12 +11834,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4378
+#: ../src/guestfs-actions.pod:4518
 msgid "guestfs_set_selinux"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_selinux"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4380
+#: ../src/guestfs-actions.pod:4520
 #, no-wrap
 msgid ""
 " int guestfs_set_selinux (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_set_selinux (guestfs_h *g,\n"
@@ -11346,26 +11848,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4383 ../fish/guestfish-actions.pod:3389
+#: ../src/guestfs-actions.pod:4523 ../fish/guestfish-actions.pod:3501
 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
 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:4386 ../fish/guestfish-actions.pod:3392
+#: ../src/guestfs-actions.pod:4526 ../fish/guestfish-actions.pod:3504
 msgid ""
 "Note that if SELinux is enabled, it is always in Permissive mode "
 "(C<enforcing=0>)."
 msgstr ""
 
 # type: =head2
 msgid ""
 "Note that if SELinux is enabled, it is always in Permissive mode "
 "(C<enforcing=0>)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4394
+#: ../src/guestfs-actions.pod:4534
 msgid "guestfs_set_trace"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_trace"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4396
+#: ../src/guestfs-actions.pod:4536
 #, no-wrap
 msgid ""
 " int guestfs_set_trace (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_set_trace (guestfs_h *g,\n"
@@ -11374,7 +11876,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4399 ../fish/guestfish-actions.pod:3402
+#: ../src/guestfs-actions.pod:4539 ../fish/guestfish-actions.pod:3516
 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 "
 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 "
@@ -11384,26 +11886,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4406 ../fish/guestfish-actions.pod:3409
+#: ../src/guestfs-actions.pod:4546 ../fish/guestfish-actions.pod:3523
 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
 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:4410 ../fish/guestfish-actions.pod:3413
+#: ../src/guestfs-actions.pod:4550 ../fish/guestfish-actions.pod:3527
 msgid ""
 "Command traces are disabled unless the environment variable "
 "C<LIBGUESTFS_TRACE> is defined and set to C<1>."
 msgstr ""
 
 # type: =head2
 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:4415
+#: ../src/guestfs-actions.pod:4555
 msgid "guestfs_set_verbose"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_set_verbose"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4417
+#: ../src/guestfs-actions.pod:4557
 #, no-wrap
 msgid ""
 " int guestfs_set_verbose (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_set_verbose (guestfs_h *g,\n"
@@ -11412,24 +11914,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4420 ../fish/guestfish-actions.pod:3420
+#: ../src/guestfs-actions.pod:4560 ../fish/guestfish-actions.pod:3536
 msgid "If C<verbose> is true, this turns on verbose messages (to C<stderr>)."
 msgstr ""
 
 # type: textblock
 msgid "If C<verbose> is true, this turns on verbose messages (to C<stderr>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4422 ../fish/guestfish-actions.pod:3422
+#: ../src/guestfs-actions.pod:4562 ../fish/guestfish-actions.pod:3538
 msgid ""
 "Verbose messages are disabled unless the environment variable "
 "C<LIBGUESTFS_DEBUG> is defined and set to C<1>."
 msgstr ""
 
 # type: =head2
 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:4427
+#: ../src/guestfs-actions.pod:4567
 msgid "guestfs_setcon"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_setcon"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4429
+#: ../src/guestfs-actions.pod:4569
 #, no-wrap
 msgid ""
 " int guestfs_setcon (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_setcon (guestfs_h *g,\n"
@@ -11438,24 +11940,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4432 ../fish/guestfish-actions.pod:3429
+#: ../src/guestfs-actions.pod:4572 ../fish/guestfish-actions.pod:3545
 msgid ""
 "This sets the SELinux security context of the daemon to the string "
 "C<context>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This sets the SELinux security context of the daemon to the string "
 "C<context>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4435 ../fish/guestfish-actions.pod:3432
+#: ../src/guestfs-actions.pod:4575 ../fish/guestfish-actions.pod:3548
 msgid "See the documentation about SELINUX in L<guestfs(3)>."
 msgstr ""
 
 # type: =head2
 msgid "See the documentation about SELINUX in L<guestfs(3)>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4439
+#: ../src/guestfs-actions.pod:4579
 msgid "guestfs_setxattr"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_setxattr"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4441
+#: ../src/guestfs-actions.pod:4581
 #, no-wrap
 msgid ""
 " int guestfs_setxattr (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_setxattr (guestfs_h *g,\n"
@@ -11467,24 +11969,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4447 ../fish/guestfish-actions.pod:3438
+#: ../src/guestfs-actions.pod:4587 ../fish/guestfish-actions.pod:3554
 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
 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:4451
+#: ../src/guestfs-actions.pod:4591
 msgid "See also: C<guestfs_lsetxattr>, L<attr(5)>."
 msgstr ""
 
 # type: =head2
 msgid "See also: C<guestfs_lsetxattr>, L<attr(5)>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4455
+#: ../src/guestfs-actions.pod:4595
 msgid "guestfs_sfdisk"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_sfdisk"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4457
+#: ../src/guestfs-actions.pod:4597
 #, no-wrap
 msgid ""
 " int guestfs_sfdisk (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_sfdisk (guestfs_h *g,\n"
@@ -11497,19 +11999,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4464 ../fish/guestfish-actions.pod:3448
+#: ../src/guestfs-actions.pod:4604 ../fish/guestfish-actions.pod:3564
 msgid ""
 "This is a direct interface to the L<sfdisk(8)> program for creating "
 "partitions on block devices."
 msgstr ""
 
 # type: textblock
 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:4467 ../fish/guestfish-actions.pod:3451
+#: ../src/guestfs-actions.pod:4607 ../fish/guestfish-actions.pod:3567
 msgid "C<device> should be a block device, for example C</dev/sda>."
 msgstr ""
 
 # type: textblock
 msgid "C<device> should be a block device, for example C</dev/sda>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4469 ../fish/guestfish-actions.pod:3453
+#: ../src/guestfs-actions.pod:4609 ../fish/guestfish-actions.pod:3569
 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>, "
 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>, "
@@ -11520,14 +12022,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4477 ../fish/guestfish-actions.pod:3461
+#: ../src/guestfs-actions.pod:4617 ../fish/guestfish-actions.pod:3577
 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
 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:4480 ../fish/guestfish-actions.pod:3464
+#: ../src/guestfs-actions.pod:4620 ../fish/guestfish-actions.pod:3580
 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 "
 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 "
@@ -11535,17 +12037,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4484
+#: ../src/guestfs-actions.pod:4624
 msgid "See also: C<guestfs_sfdisk_l>, C<guestfs_sfdisk_N>, C<guestfs_part_init>"
 msgstr ""
 
 # type: =head2
 msgid "See also: C<guestfs_sfdisk_l>, C<guestfs_sfdisk_N>, C<guestfs_part_init>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4492
+#: ../src/guestfs-actions.pod:4632
 msgid "guestfs_sfdiskM"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_sfdiskM"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4494
+#: ../src/guestfs-actions.pod:4634
 #, no-wrap
 msgid ""
 " int guestfs_sfdiskM (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_sfdiskM (guestfs_h *g,\n"
@@ -11555,7 +12057,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4498
+#: ../src/guestfs-actions.pod:4638
 msgid ""
 "This is a simplified interface to the C<guestfs_sfdisk> command, where "
 "partition sizes are specified in megabytes only (rounded to the nearest "
 msgid ""
 "This is a simplified interface to the C<guestfs_sfdisk> command, where "
 "partition sizes are specified in megabytes only (rounded to the nearest "
@@ -11564,19 +12066,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4504
+#: ../src/guestfs-actions.pod:4644
 msgid ""
 "See also: C<guestfs_sfdisk>, the L<sfdisk(8)> manpage and "
 "C<guestfs_part_disk>"
 msgstr ""
 
 # type: =head2
 msgid ""
 "See also: C<guestfs_sfdisk>, the L<sfdisk(8)> manpage and "
 "C<guestfs_part_disk>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4512
+#: ../src/guestfs-actions.pod:4652
 msgid "guestfs_sfdisk_N"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_sfdisk_N"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4514
+#: ../src/guestfs-actions.pod:4654
 #, no-wrap
 msgid ""
 " int guestfs_sfdisk_N (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_sfdisk_N (guestfs_h *g,\n"
@@ -11590,31 +12092,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4522 ../fish/guestfish-actions.pod:3494
+#: ../src/guestfs-actions.pod:4662 ../fish/guestfish-actions.pod:3610
 msgid ""
 "This runs L<sfdisk(8)> option to modify just the single partition C<n> "
 "(note: C<n> counts from 1)."
 msgstr ""
 
 # type: textblock
 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:4525
+#: ../src/guestfs-actions.pod:4665
 msgid ""
 "For other parameters, see C<guestfs_sfdisk>.  You should usually pass C<0> "
 "for the cyls/heads/sectors parameters."
 msgstr ""
 
 # type: textblock
 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:4528
+#: ../src/guestfs-actions.pod:4668
 msgid "See also: C<guestfs_part_add>"
 msgstr ""
 
 # type: =head2
 msgid "See also: C<guestfs_part_add>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4535
+#: ../src/guestfs-actions.pod:4675
 msgid "guestfs_sfdisk_disk_geometry"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_sfdisk_disk_geometry"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4537
+#: ../src/guestfs-actions.pod:4677
 #, no-wrap
 msgid ""
 " char *guestfs_sfdisk_disk_geometry (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_sfdisk_disk_geometry (guestfs_h *g,\n"
@@ -11623,7 +12125,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4540
+#: ../src/guestfs-actions.pod:4680
 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, "
 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, "
@@ -11632,17 +12134,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4545 ../src/guestfs-actions.pod:4558 ../fish/guestfish-actions.pod:3514 ../fish/guestfish-actions.pod:3523
+#: ../src/guestfs-actions.pod:4685 ../src/guestfs-actions.pod:4698 ../fish/guestfish-actions.pod:3630 ../fish/guestfish-actions.pod:3639
 msgid "The result is in human-readable format, and not designed to be parsed."
 msgstr ""
 
 # type: =head2
 msgid "The result is in human-readable format, and not designed to be parsed."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4551
+#: ../src/guestfs-actions.pod:4691
 msgid "guestfs_sfdisk_kernel_geometry"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_sfdisk_kernel_geometry"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4553
+#: ../src/guestfs-actions.pod:4693
 #, no-wrap
 msgid ""
 " char *guestfs_sfdisk_kernel_geometry (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_sfdisk_kernel_geometry (guestfs_h *g,\n"
@@ -11651,17 +12153,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4556 ../fish/guestfish-actions.pod:3521
+#: ../src/guestfs-actions.pod:4696 ../fish/guestfish-actions.pod:3637
 msgid "This displays the kernel's idea of the geometry of C<device>."
 msgstr ""
 
 # type: =head2
 msgid "This displays the kernel's idea of the geometry of C<device>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4564
+#: ../src/guestfs-actions.pod:4704
 msgid "guestfs_sfdisk_l"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_sfdisk_l"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4566
+#: ../src/guestfs-actions.pod:4706
 #, no-wrap
 msgid ""
 " char *guestfs_sfdisk_l (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_sfdisk_l (guestfs_h *g,\n"
@@ -11670,24 +12172,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4569 ../fish/guestfish-actions.pod:3530
+#: ../src/guestfs-actions.pod:4709 ../fish/guestfish-actions.pod:3646
 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
 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:4573
+#: ../src/guestfs-actions.pod:4713
 msgid "See also: C<guestfs_part_list>"
 msgstr ""
 
 # type: =head2
 msgid "See also: C<guestfs_part_list>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4578
+#: ../src/guestfs-actions.pod:4718
 msgid "guestfs_sh"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_sh"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4580
+#: ../src/guestfs-actions.pod:4720
 #, no-wrap
 msgid ""
 " char *guestfs_sh (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_sh (guestfs_h *g,\n"
@@ -11696,19 +12198,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4583 ../fish/guestfish-actions.pod:3540
+#: ../src/guestfs-actions.pod:4723 ../fish/guestfish-actions.pod:3656
 msgid ""
 "This call runs a command from the guest filesystem via the guest's "
 "C</bin/sh>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This call runs a command from the guest filesystem via the guest's "
 "C</bin/sh>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4586
+#: ../src/guestfs-actions.pod:4726
 msgid "This is like C<guestfs_command>, but passes the command to:"
 msgstr ""
 
 # type: verbatim
 msgid "This is like C<guestfs_command>, but passes the command to:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4588 ../fish/guestfish-actions.pod:3545
+#: ../src/guestfs-actions.pod:4728 ../fish/guestfish-actions.pod:3661
 #, no-wrap
 msgid ""
 " /bin/sh -c \"command\"\n"
 #, no-wrap
 msgid ""
 " /bin/sh -c \"command\"\n"
@@ -11716,24 +12218,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4590 ../fish/guestfish-actions.pod:3547
+#: ../src/guestfs-actions.pod:4730 ../fish/guestfish-actions.pod:3663
 msgid ""
 "Depending on the guest's shell, this usually results in wildcards being "
 "expanded, shell expressions being interpolated and so on."
 msgstr ""
 
 # type: textblock
 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:4594
+#: ../src/guestfs-actions.pod:4734
 msgid "All the provisos about C<guestfs_command> apply to this call."
 msgstr ""
 
 # type: =head2
 msgid "All the provisos about C<guestfs_command> apply to this call."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4599
+#: ../src/guestfs-actions.pod:4739
 msgid "guestfs_sh_lines"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_sh_lines"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4601
+#: ../src/guestfs-actions.pod:4741
 #, no-wrap
 msgid ""
 " char **guestfs_sh_lines (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_sh_lines (guestfs_h *g,\n"
@@ -11742,24 +12244,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4604
+#: ../src/guestfs-actions.pod:4744
 msgid ""
 "This is the same as C<guestfs_sh>, but splits the result into a list of "
 "lines."
 msgstr ""
 
 # type: textblock
 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:4607
+#: ../src/guestfs-actions.pod:4747
 msgid "See also: C<guestfs_command_lines>"
 msgstr ""
 
 # type: =head2
 msgid "See also: C<guestfs_command_lines>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4613
+#: ../src/guestfs-actions.pod:4753
 msgid "guestfs_sleep"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_sleep"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4615
+#: ../src/guestfs-actions.pod:4755
 #, no-wrap
 msgid ""
 " int guestfs_sleep (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_sleep (guestfs_h *g,\n"
@@ -11768,17 +12270,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4618 ../fish/guestfish-actions.pod:3566
+#: ../src/guestfs-actions.pod:4758 ../fish/guestfish-actions.pod:3682
 msgid "Sleep for C<secs> seconds."
 msgstr ""
 
 # type: =head2
 msgid "Sleep for C<secs> seconds."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4622 ../src/guestfs-structs.pod:109
+#: ../src/guestfs-actions.pod:4762 ../src/guestfs-structs.pod:109
 msgid "guestfs_stat"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_stat"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4624
+#: ../src/guestfs-actions.pod:4764
 #, no-wrap
 msgid ""
 " struct guestfs_stat *guestfs_stat (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " struct guestfs_stat *guestfs_stat (guestfs_h *g,\n"
@@ -11787,17 +12289,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4629 ../fish/guestfish-actions.pod:3574
+#: ../src/guestfs-actions.pod:4769 ../fish/guestfish-actions.pod:3690
 msgid "This is the same as the C<stat(2)> system call."
 msgstr ""
 
 # type: =head2
 msgid "This is the same as the C<stat(2)> system call."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4635 ../src/guestfs-structs.pod:135
+#: ../src/guestfs-actions.pod:4775 ../src/guestfs-structs.pod:135
 msgid "guestfs_statvfs"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_statvfs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4637
+#: ../src/guestfs-actions.pod:4777
 #, no-wrap
 msgid ""
 " struct guestfs_statvfs *guestfs_statvfs (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " struct guestfs_statvfs *guestfs_statvfs (guestfs_h *g,\n"
@@ -11806,7 +12308,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4640 ../fish/guestfish-actions.pod:3580
+#: ../src/guestfs-actions.pod:4780 ../fish/guestfish-actions.pod:3696
 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 "
 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 "
@@ -11814,24 +12316,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4644 ../fish/guestfish-actions.pod:3584
+#: ../src/guestfs-actions.pod:4784 ../fish/guestfish-actions.pod:3700
 msgid "This is the same as the C<statvfs(2)> system call."
 msgstr ""
 
 # type: textblock
 msgid "This is the same as the C<statvfs(2)> system call."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4646
+#: ../src/guestfs-actions.pod:4786
 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
 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:4650
+#: ../src/guestfs-actions.pod:4790
 msgid "guestfs_strings"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_strings"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4652
+#: ../src/guestfs-actions.pod:4792
 #, no-wrap
 msgid ""
 " char **guestfs_strings (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_strings (guestfs_h *g,\n"
@@ -11840,19 +12342,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4655 ../fish/guestfish-actions.pod:3590
+#: ../src/guestfs-actions.pod:4795 ../fish/guestfish-actions.pod:3706
 msgid ""
 "This runs the L<strings(1)> command on a file and returns the list of "
 "printable strings found."
 msgstr ""
 
 # type: =head2
 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:4665
+#: ../src/guestfs-actions.pod:4805
 msgid "guestfs_strings_e"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_strings_e"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4667
+#: ../src/guestfs-actions.pod:4807
 #, no-wrap
 msgid ""
 " char **guestfs_strings_e (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_strings_e (guestfs_h *g,\n"
@@ -11862,93 +12364,93 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4671
+#: ../src/guestfs-actions.pod:4811
 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
 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:4675 ../fish/guestfish-actions.pod:3604
+#: ../src/guestfs-actions.pod:4815 ../fish/guestfish-actions.pod:3720
 msgid "Allowed encodings are:"
 msgstr ""
 
 # type: =item
 msgid "Allowed encodings are:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4679 ../fish/guestfish-actions.pod:3608
+#: ../src/guestfs-actions.pod:4819 ../fish/guestfish-actions.pod:3724
 msgid "s"
 msgstr ""
 
 # type: textblock
 msgid "s"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4681
+#: ../src/guestfs-actions.pod:4821
 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 ""
 
 # type: =item
 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 ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4684 ../fish/guestfish-actions.pod:3613
+#: ../src/guestfs-actions.pod:4824 ../fish/guestfish-actions.pod:3729
 msgid "S"
 msgstr ""
 
 # type: textblock
 msgid "S"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4686 ../fish/guestfish-actions.pod:3615
+#: ../src/guestfs-actions.pod:4826 ../fish/guestfish-actions.pod:3731
 msgid "Single 8-bit-byte characters."
 msgstr ""
 
 # type: =item
 msgid "Single 8-bit-byte characters."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4688 ../fish/guestfish-actions.pod:3617
+#: ../src/guestfs-actions.pod:4828 ../fish/guestfish-actions.pod:3733
 msgid "b"
 msgstr ""
 
 # type: textblock
 msgid "b"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4690 ../fish/guestfish-actions.pod:3619
+#: ../src/guestfs-actions.pod:4830 ../fish/guestfish-actions.pod:3735
 msgid "16-bit big endian strings such as those encoded in UTF-16BE or UCS-2BE."
 msgstr ""
 
 # type: =item
 msgid "16-bit big endian strings such as those encoded in UTF-16BE or UCS-2BE."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4693 ../fish/guestfish-actions.pod:3622
+#: ../src/guestfs-actions.pod:4833 ../fish/guestfish-actions.pod:3738
 msgid "l (lower case letter L)"
 msgstr ""
 
 # type: textblock
 msgid "l (lower case letter L)"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4695 ../fish/guestfish-actions.pod:3624
+#: ../src/guestfs-actions.pod:4835 ../fish/guestfish-actions.pod:3740
 msgid ""
 "16-bit little endian such as UTF-16LE and UCS-2LE.  This is useful for "
 "examining binaries in Windows guests."
 msgstr ""
 
 # type: =item
 msgid ""
 "16-bit little endian such as UTF-16LE and UCS-2LE.  This is useful for "
 "examining binaries in Windows guests."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4698 ../fish/guestfish-actions.pod:3627
+#: ../src/guestfs-actions.pod:4838 ../fish/guestfish-actions.pod:3743
 msgid "B"
 msgstr ""
 
 # type: textblock
 msgid "B"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4700 ../fish/guestfish-actions.pod:3629
+#: ../src/guestfs-actions.pod:4840 ../fish/guestfish-actions.pod:3745
 msgid "32-bit big endian such as UCS-4BE."
 msgstr ""
 
 # type: =item
 msgid "32-bit big endian such as UCS-4BE."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:4702 ../fish/guestfish-actions.pod:3631
+#: ../src/guestfs-actions.pod:4842 ../fish/guestfish-actions.pod:3747
 msgid "L"
 msgstr ""
 
 # type: textblock
 msgid "L"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4704 ../fish/guestfish-actions.pod:3633
+#: ../src/guestfs-actions.pod:4844 ../fish/guestfish-actions.pod:3749
 msgid "32-bit little endian such as UCS-4LE."
 msgstr ""
 
 # type: textblock
 msgid "32-bit little endian such as UCS-4LE."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4708 ../fish/guestfish-actions.pod:3637
+#: ../src/guestfs-actions.pod:4848 ../fish/guestfish-actions.pod:3753
 msgid "The returned strings are transcoded to UTF-8."
 msgstr ""
 
 # type: =head2
 msgid "The returned strings are transcoded to UTF-8."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4717
+#: ../src/guestfs-actions.pod:4857
 msgid "guestfs_swapoff_device"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_swapoff_device"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4719
+#: ../src/guestfs-actions.pod:4859
 #, no-wrap
 msgid ""
 " int guestfs_swapoff_device (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_swapoff_device (guestfs_h *g,\n"
@@ -11957,19 +12459,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4722
+#: ../src/guestfs-actions.pod:4862
 msgid ""
 "This command disables the libguestfs appliance swap device or partition "
 "named C<device>.  See C<guestfs_swapon_device>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command disables the libguestfs appliance swap device or partition "
 "named C<device>.  See C<guestfs_swapon_device>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4728
+#: ../src/guestfs-actions.pod:4868
 msgid "guestfs_swapoff_file"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_swapoff_file"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4730
+#: ../src/guestfs-actions.pod:4870
 #, no-wrap
 msgid ""
 " int guestfs_swapoff_file (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_swapoff_file (guestfs_h *g,\n"
@@ -11978,17 +12480,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4733 ../fish/guestfish-actions.pod:3654
+#: ../src/guestfs-actions.pod:4873 ../fish/guestfish-actions.pod:3770
 msgid "This command disables the libguestfs appliance swap on file."
 msgstr ""
 
 # type: =head2
 msgid "This command disables the libguestfs appliance swap on file."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4737
+#: ../src/guestfs-actions.pod:4877
 msgid "guestfs_swapoff_label"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_swapoff_label"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4739
+#: ../src/guestfs-actions.pod:4879
 #, no-wrap
 msgid ""
 " int guestfs_swapoff_label (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_swapoff_label (guestfs_h *g,\n"
@@ -11997,19 +12499,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4742 ../fish/guestfish-actions.pod:3660
+#: ../src/guestfs-actions.pod:4882 ../fish/guestfish-actions.pod:3776
 msgid ""
 "This command disables the libguestfs appliance swap on labeled swap "
 "partition."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command disables the libguestfs appliance swap on labeled swap "
 "partition."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4747
+#: ../src/guestfs-actions.pod:4887
 msgid "guestfs_swapoff_uuid"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_swapoff_uuid"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4749
+#: ../src/guestfs-actions.pod:4889
 #, no-wrap
 msgid ""
 " int guestfs_swapoff_uuid (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_swapoff_uuid (guestfs_h *g,\n"
@@ -12018,19 +12520,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4752 ../fish/guestfish-actions.pod:3667
+#: ../src/guestfs-actions.pod:4892 ../fish/guestfish-actions.pod:3783
 msgid ""
 "This command disables the libguestfs appliance swap partition with the given "
 "UUID."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command disables the libguestfs appliance swap partition with the given "
 "UUID."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4757
+#: ../src/guestfs-actions.pod:4897
 msgid "guestfs_swapon_device"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_swapon_device"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4759
+#: ../src/guestfs-actions.pod:4899
 #, no-wrap
 msgid ""
 " int guestfs_swapon_device (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_swapon_device (guestfs_h *g,\n"
@@ -12039,7 +12541,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4762
+#: ../src/guestfs-actions.pod:4902
 msgid ""
 "This command enables the libguestfs appliance to use the swap device or "
 "partition named C<device>.  The increased memory is made available for all "
 msgid ""
 "This command enables the libguestfs appliance to use the swap device or "
 "partition named C<device>.  The increased memory is made available for all "
@@ -12047,7 +12549,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4767 ../fish/guestfish-actions.pod:3679
+#: ../src/guestfs-actions.pod:4907 ../fish/guestfish-actions.pod:3795
 msgid ""
 "Note that you should not swap to existing guest swap partitions unless you "
 "know what you are doing.  They may contain hibernation information, or other "
 msgid ""
 "Note that you should not swap to existing guest swap partitions unless you "
 "know what you are doing.  They may contain hibernation information, or other "
@@ -12057,12 +12559,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4776
+#: ../src/guestfs-actions.pod:4916
 msgid "guestfs_swapon_file"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_swapon_file"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4778
+#: ../src/guestfs-actions.pod:4918
 #, no-wrap
 msgid ""
 " int guestfs_swapon_file (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_swapon_file (guestfs_h *g,\n"
@@ -12071,19 +12573,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4781
+#: ../src/guestfs-actions.pod:4921
 msgid ""
 "This command enables swap to a file.  See C<guestfs_swapon_device> for other "
 "notes."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command enables swap to a file.  See C<guestfs_swapon_device> for other "
 "notes."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4786
+#: ../src/guestfs-actions.pod:4926
 msgid "guestfs_swapon_label"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_swapon_label"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4788
+#: ../src/guestfs-actions.pod:4928
 #, no-wrap
 msgid ""
 " int guestfs_swapon_label (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_swapon_label (guestfs_h *g,\n"
@@ -12092,19 +12594,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4791
+#: ../src/guestfs-actions.pod:4931
 msgid ""
 "This command enables swap to a labeled swap partition.  See "
 "C<guestfs_swapon_device> for other notes."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command enables swap to a labeled swap partition.  See "
 "C<guestfs_swapon_device> for other notes."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4796
+#: ../src/guestfs-actions.pod:4936
 msgid "guestfs_swapon_uuid"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_swapon_uuid"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4798
+#: ../src/guestfs-actions.pod:4938
 #, no-wrap
 msgid ""
 " int guestfs_swapon_uuid (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_swapon_uuid (guestfs_h *g,\n"
@@ -12113,19 +12615,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4801
+#: ../src/guestfs-actions.pod:4941
 msgid ""
 "This command enables swap to a swap partition with the given UUID.  See "
 "C<guestfs_swapon_device> for other notes."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command enables swap to a swap partition with the given UUID.  See "
 "C<guestfs_swapon_device> for other notes."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4806
+#: ../src/guestfs-actions.pod:4946
 msgid "guestfs_sync"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_sync"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4808
+#: ../src/guestfs-actions.pod:4948
 #, no-wrap
 msgid ""
 " int guestfs_sync (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_sync (guestfs_h *g);\n"
@@ -12133,26 +12635,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4810 ../fish/guestfish-actions.pod:3711
+#: ../src/guestfs-actions.pod:4950 ../fish/guestfish-actions.pod:3827
 msgid ""
 "This syncs the disk, so that any writes are flushed through to the "
 "underlying disk image."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This syncs the disk, so that any writes are flushed through to the "
 "underlying disk image."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4813 ../fish/guestfish-actions.pod:3714
+#: ../src/guestfs-actions.pod:4953 ../fish/guestfish-actions.pod:3830
 msgid ""
 "You should always call this if you have modified a disk image, before "
 "closing the handle."
 msgstr ""
 
 # type: =head2
 msgid ""
 "You should always call this if you have modified a disk image, before "
 "closing the handle."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4818
+#: ../src/guestfs-actions.pod:4958
 msgid "guestfs_tail"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_tail"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4820
+#: ../src/guestfs-actions.pod:4960
 #, no-wrap
 msgid ""
 " char **guestfs_tail (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_tail (guestfs_h *g,\n"
@@ -12161,17 +12663,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4823 ../fish/guestfish-actions.pod:3721
+#: ../src/guestfs-actions.pod:4963 ../fish/guestfish-actions.pod:3837
 msgid "This command returns up to the last 10 lines of a file as a list of strings."
 msgstr ""
 
 # type: =head2
 msgid "This command returns up to the last 10 lines of a file as a list of strings."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4833
+#: ../src/guestfs-actions.pod:4973
 msgid "guestfs_tail_n"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_tail_n"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4835
+#: ../src/guestfs-actions.pod:4975
 #, no-wrap
 msgid ""
 " char **guestfs_tail_n (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_tail_n (guestfs_h *g,\n"
@@ -12181,26 +12683,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4839 ../fish/guestfish-actions.pod:3731
+#: ../src/guestfs-actions.pod:4979 ../fish/guestfish-actions.pod:3847
 msgid ""
 "If the parameter C<nrlines> is a positive number, this returns the last "
 "C<nrlines> lines of the file C<path>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "If the parameter C<nrlines> is a positive number, this returns the last "
 "C<nrlines> lines of the file C<path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4842 ../fish/guestfish-actions.pod:3734
+#: ../src/guestfs-actions.pod:4982 ../fish/guestfish-actions.pod:3850
 msgid ""
 "If the parameter C<nrlines> is a negative number, this returns lines from "
 "the file C<path>, starting with the C<-nrlines>th line."
 msgstr ""
 
 # type: =head2
 msgid ""
 "If the parameter C<nrlines> is a negative number, this returns lines from "
 "the file C<path>, starting with the C<-nrlines>th line."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4854
+#: ../src/guestfs-actions.pod:4994
 msgid "guestfs_tar_in"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_tar_in"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4856
+#: ../src/guestfs-actions.pod:4996
 #, no-wrap
 msgid ""
 " int guestfs_tar_in (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_tar_in (guestfs_h *g,\n"
@@ -12210,24 +12712,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4860 ../fish/guestfish-actions.pod:3746
+#: ../src/guestfs-actions.pod:5000 ../fish/guestfish-actions.pod:3862
 msgid ""
 "This command uploads and unpacks local file C<tarfile> (an I<uncompressed> "
 "tar file) into C<directory>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command uploads and unpacks local file C<tarfile> (an I<uncompressed> "
 "tar file) into C<directory>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4863
+#: ../src/guestfs-actions.pod:5003
 msgid "To upload a compressed tarball, use C<guestfs_tgz_in> or C<guestfs_txz_in>."
 msgstr ""
 
 # type: =head2
 msgid "To upload a compressed tarball, use C<guestfs_tgz_in> or C<guestfs_txz_in>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4868
+#: ../src/guestfs-actions.pod:5008
 msgid "guestfs_tar_out"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_tar_out"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4870
+#: ../src/guestfs-actions.pod:5010
 #, no-wrap
 msgid ""
 " int guestfs_tar_out (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_tar_out (guestfs_h *g,\n"
@@ -12237,26 +12739,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4874 ../fish/guestfish-actions.pod:3758
+#: ../src/guestfs-actions.pod:5014 ../fish/guestfish-actions.pod:3874
 msgid ""
 "This command packs the contents of C<directory> and downloads it to local "
 "file C<tarfile>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command packs the contents of C<directory> and downloads it to local "
 "file C<tarfile>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4877
+#: ../src/guestfs-actions.pod:5017
 msgid ""
 "To download a compressed tarball, use C<guestfs_tgz_out> or "
 "C<guestfs_txz_out>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "To download a compressed tarball, use C<guestfs_tgz_out> or "
 "C<guestfs_txz_out>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4882
+#: ../src/guestfs-actions.pod:5022
 msgid "guestfs_tgz_in"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_tgz_in"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4884
+#: ../src/guestfs-actions.pod:5024
 #, no-wrap
 msgid ""
 " int guestfs_tgz_in (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_tgz_in (guestfs_h *g,\n"
@@ -12266,24 +12768,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4888 ../fish/guestfish-actions.pod:3770
+#: ../src/guestfs-actions.pod:5028 ../fish/guestfish-actions.pod:3886
 msgid ""
 "This command uploads and unpacks local file C<tarball> (a I<gzip compressed> "
 "tar file) into C<directory>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command uploads and unpacks local file C<tarball> (a I<gzip compressed> "
 "tar file) into C<directory>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4891
+#: ../src/guestfs-actions.pod:5031
 msgid "To upload an uncompressed tarball, use C<guestfs_tar_in>."
 msgstr ""
 
 # type: =head2
 msgid "To upload an uncompressed tarball, use C<guestfs_tar_in>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4895
+#: ../src/guestfs-actions.pod:5035
 msgid "guestfs_tgz_out"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_tgz_out"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4897
+#: ../src/guestfs-actions.pod:5037
 #, no-wrap
 msgid ""
 " int guestfs_tgz_out (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_tgz_out (guestfs_h *g,\n"
@@ -12293,24 +12795,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4901 ../fish/guestfish-actions.pod:3781
+#: ../src/guestfs-actions.pod:5041 ../fish/guestfish-actions.pod:3897
 msgid ""
 "This command packs the contents of C<directory> and downloads it to local "
 "file C<tarball>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command packs the contents of C<directory> and downloads it to local "
 "file C<tarball>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4904
+#: ../src/guestfs-actions.pod:5044
 msgid "To download an uncompressed tarball, use C<guestfs_tar_out>."
 msgstr ""
 
 # type: =head2
 msgid "To download an uncompressed tarball, use C<guestfs_tar_out>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4908
+#: ../src/guestfs-actions.pod:5048
 msgid "guestfs_touch"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_touch"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4910
+#: ../src/guestfs-actions.pod:5050
 #, no-wrap
 msgid ""
 " int guestfs_touch (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_touch (guestfs_h *g,\n"
@@ -12319,7 +12821,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4913 ../fish/guestfish-actions.pod:3792
+#: ../src/guestfs-actions.pod:5053 ../fish/guestfish-actions.pod:3908
 msgid ""
 "Touch acts like the L<touch(1)> command.  It can be used to update the "
 "timestamps on a file, or, if the file does not exist, to create a new "
 msgid ""
 "Touch acts like the L<touch(1)> command.  It can be used to update the "
 "timestamps on a file, or, if the file does not exist, to create a new "
@@ -12327,19 +12829,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4917 ../fish/guestfish-actions.pod:3796
+#: ../src/guestfs-actions.pod:5057 ../fish/guestfish-actions.pod:3912
 msgid ""
 "This command only works on regular files, and will fail on other file types "
 "such as directories, symbolic links, block special etc."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command only works on regular files, and will fail on other file types "
 "such as directories, symbolic links, block special etc."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4922
+#: ../src/guestfs-actions.pod:5062
 msgid "guestfs_truncate"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_truncate"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4924
+#: ../src/guestfs-actions.pod:5064
 #, no-wrap
 msgid ""
 " int guestfs_truncate (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_truncate (guestfs_h *g,\n"
@@ -12348,19 +12850,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4927 ../fish/guestfish-actions.pod:3803
+#: ../src/guestfs-actions.pod:5067 ../fish/guestfish-actions.pod:3919
 msgid ""
 "This command truncates C<path> to a zero-length file.  The file must exist "
 "already."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command truncates C<path> to a zero-length file.  The file must exist "
 "already."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4932
+#: ../src/guestfs-actions.pod:5072
 msgid "guestfs_truncate_size"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_truncate_size"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4934
+#: ../src/guestfs-actions.pod:5074
 #, no-wrap
 msgid ""
 " int guestfs_truncate_size (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_truncate_size (guestfs_h *g,\n"
@@ -12370,14 +12872,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4938 ../fish/guestfish-actions.pod:3810
+#: ../src/guestfs-actions.pod:5078 ../fish/guestfish-actions.pod:3926
 msgid ""
 "This command truncates C<path> to size C<size> bytes.  The file must exist "
 "already."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command truncates C<path> to size C<size> bytes.  The file must exist "
 "already."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4941
+#: ../src/guestfs-actions.pod:5081
 msgid ""
 "If the current file size is less than C<size> then the file is extended to "
 "the required size with zero bytes.  This creates a sparse file (ie. disk "
 msgid ""
 "If the current file size is less than C<size> then the file is extended to "
 "the required size with zero bytes.  This creates a sparse file (ie. disk "
@@ -12386,12 +12888,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4949
+#: ../src/guestfs-actions.pod:5089
 msgid "guestfs_tune2fs_l"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_tune2fs_l"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4951
+#: ../src/guestfs-actions.pod:5091
 #, no-wrap
 msgid ""
 " char **guestfs_tune2fs_l (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_tune2fs_l (guestfs_h *g,\n"
@@ -12400,14 +12902,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4954 ../fish/guestfish-actions.pod:3823
+#: ../src/guestfs-actions.pod:5094 ../fish/guestfish-actions.pod:3939
 msgid ""
 "This returns the contents of the ext2, ext3 or ext4 filesystem superblock on "
 "C<device>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This returns the contents of the ext2, ext3 or ext4 filesystem superblock on "
 "C<device>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4957 ../fish/guestfish-actions.pod:3826
+#: ../src/guestfs-actions.pod:5097 ../fish/guestfish-actions.pod:3942
 msgid ""
 "It is the same as running C<tune2fs -l device>.  See L<tune2fs(8)> manpage "
 "for more details.  The list of fields returned isn't clearly defined, and "
 msgid ""
 "It is the same as running C<tune2fs -l device>.  See L<tune2fs(8)> manpage "
 "for more details.  The list of fields returned isn't clearly defined, and "
@@ -12416,12 +12918,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4968
+#: ../src/guestfs-actions.pod:5108
 msgid "guestfs_txz_in"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_txz_in"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4970
+#: ../src/guestfs-actions.pod:5110
 #, no-wrap
 msgid ""
 " int guestfs_txz_in (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_txz_in (guestfs_h *g,\n"
@@ -12431,19 +12933,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4974 ../fish/guestfish-actions.pod:3835
+#: ../src/guestfs-actions.pod:5114 ../fish/guestfish-actions.pod:3951
 msgid ""
 "This command uploads and unpacks local file C<tarball> (an I<xz compressed> "
 "tar file) into C<directory>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command uploads and unpacks local file C<tarball> (an I<xz compressed> "
 "tar file) into C<directory>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4979
+#: ../src/guestfs-actions.pod:5119
 msgid "guestfs_txz_out"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_txz_out"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4981
+#: ../src/guestfs-actions.pod:5121
 #, no-wrap
 msgid ""
 " int guestfs_txz_out (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_txz_out (guestfs_h *g,\n"
@@ -12453,19 +12955,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4985 ../fish/guestfish-actions.pod:3844
+#: ../src/guestfs-actions.pod:5125 ../fish/guestfish-actions.pod:3960
 msgid ""
 "This command packs the contents of C<directory> and downloads it to local "
 "file C<tarball> (as an xz compressed tar archive)."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command packs the contents of C<directory> and downloads it to local "
 "file C<tarball> (as an xz compressed tar archive)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:4990
+#: ../src/guestfs-actions.pod:5130
 msgid "guestfs_umask"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_umask"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:4992
+#: ../src/guestfs-actions.pod:5132
 #, no-wrap
 msgid ""
 " int guestfs_umask (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_umask (guestfs_h *g,\n"
@@ -12474,14 +12976,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4995 ../fish/guestfish-actions.pod:3853
+#: ../src/guestfs-actions.pod:5135 ../fish/guestfish-actions.pod:3969
 msgid ""
 "This function sets the mask used for creating new files and device nodes to "
 "C<mask & 0777>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This function sets the mask used for creating new files and device nodes to "
 "C<mask & 0777>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:4998 ../fish/guestfish-actions.pod:3856
+#: ../src/guestfs-actions.pod:5138 ../fish/guestfish-actions.pod:3972
 msgid ""
 "Typical umask values would be C<022> which creates new files with "
 "permissions like \"-rw-r--r--\" or \"-rwxr-xr-x\", and C<002> which creates "
 msgid ""
 "Typical umask values would be C<022> which creates new files with "
 "permissions like \"-rw-r--r--\" or \"-rwxr-xr-x\", and C<002> which creates "
@@ -12489,7 +12991,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5003 ../fish/guestfish-actions.pod:3861
+#: ../src/guestfs-actions.pod:5143 ../fish/guestfish-actions.pod:3977
 msgid ""
 "The default umask is C<022>.  This is important because it means that "
 "directories and device nodes will be created with C<0644> or C<0755> mode "
 msgid ""
 "The default umask is C<022>.  This is important because it means that "
 "directories and device nodes will be created with C<0644> or C<0755> mode "
@@ -12497,24 +12999,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5007
+#: ../src/guestfs-actions.pod:5147
 msgid ""
 "See also C<guestfs_get_umask>, L<umask(2)>, C<guestfs_mknod>, "
 "C<guestfs_mkdir>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "See also C<guestfs_get_umask>, L<umask(2)>, C<guestfs_mknod>, "
 "C<guestfs_mkdir>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5010 ../fish/guestfish-actions.pod:3868
+#: ../src/guestfs-actions.pod:5150 ../fish/guestfish-actions.pod:3984
 msgid "This call returns the previous umask."
 msgstr ""
 
 # type: =head2
 msgid "This call returns the previous umask."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5014
+#: ../src/guestfs-actions.pod:5154
 msgid "guestfs_umount"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_umount"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5016
+#: ../src/guestfs-actions.pod:5156
 #, no-wrap
 msgid ""
 " int guestfs_umount (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_umount (guestfs_h *g,\n"
@@ -12523,19 +13025,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5019 ../fish/guestfish-actions.pod:3874
+#: ../src/guestfs-actions.pod:5159 ../fish/guestfish-actions.pod:3992
 msgid ""
 "This unmounts the given filesystem.  The filesystem may be specified either "
 "by its mountpoint (path) or the device which contains the filesystem."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This unmounts the given filesystem.  The filesystem may be specified either "
 "by its mountpoint (path) or the device which contains the filesystem."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5025
+#: ../src/guestfs-actions.pod:5165
 msgid "guestfs_umount_all"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_umount_all"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5027
+#: ../src/guestfs-actions.pod:5167
 #, no-wrap
 msgid ""
 " int guestfs_umount_all (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_umount_all (guestfs_h *g);\n"
@@ -12543,22 +13045,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5029 ../fish/guestfish-actions.pod:3882
+#: ../src/guestfs-actions.pod:5169 ../fish/guestfish-actions.pod:4002
 msgid "This unmounts all mounted filesystems."
 msgstr ""
 
 # type: textblock
 msgid "This unmounts all mounted filesystems."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5031 ../fish/guestfish-actions.pod:3884
+#: ../src/guestfs-actions.pod:5171 ../fish/guestfish-actions.pod:4004
 msgid "Some internal mounts are not unmounted by this call."
 msgstr ""
 
 # type: =head2
 msgid "Some internal mounts are not unmounted by this call."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5035
+#: ../src/guestfs-actions.pod:5175
 msgid "guestfs_upload"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_upload"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5037
+#: ../src/guestfs-actions.pod:5177
 #, no-wrap
 msgid ""
 " int guestfs_upload (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_upload (guestfs_h *g,\n"
@@ -12568,22 +13070,61 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5041 ../fish/guestfish-actions.pod:3890
+#: ../src/guestfs-actions.pod:5181 ../src/guestfs-actions.pod:5197 ../fish/guestfish-actions.pod:4010 ../fish/guestfish-actions.pod:4023
 msgid "Upload local file C<filename> to C<remotefilename> on the filesystem."
 msgstr ""
 
 # type: textblock
 msgid "Upload local file C<filename> to C<remotefilename> on the filesystem."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5046
+#: ../src/guestfs-actions.pod:5186
 msgid "See also C<guestfs_download>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_download>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5050
+#: ../src/guestfs-actions.pod:5190
+msgid "guestfs_upload_offset"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs-actions.pod:5192
+#, no-wrap
+msgid ""
+" int guestfs_upload_offset (guestfs_h *g,\n"
+"\t\tconst char *filename,\n"
+"\t\tconst char *remotefilename,\n"
+"\t\tint64_t offset);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:5200 ../fish/guestfish-actions.pod:4026
+msgid ""
+"C<remotefilename> is overwritten starting at the byte C<offset> specified.  "
+"The intention is to overwrite parts of existing files or devices, although "
+"if a non-existant file is specified then it is created with a \"hole\" "
+"before C<offset>.  The size of the data written is implicit in the size of "
+"the source C<filename>."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:5207
+msgid ""
+"Note that there is no limit on the amount of data that can be uploaded with "
+"this call, unlike with C<guestfs_pwrite>, and this call always writes the "
+"full amount unless an error occurs."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs-actions.pod:5212
+msgid "See also C<guestfs_upload>, C<guestfs_pwrite>."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs-actions.pod:5216
 msgid "guestfs_utimens"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_utimens"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5052
+#: ../src/guestfs-actions.pod:5218
 #, no-wrap
 msgid ""
 " int guestfs_utimens (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_utimens (guestfs_h *g,\n"
@@ -12596,26 +13137,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5059 ../fish/guestfish-actions.pod:3903
+#: ../src/guestfs-actions.pod:5225 ../fish/guestfish-actions.pod:4046
 msgid "This command sets the timestamps of a file with nanosecond precision."
 msgstr ""
 
 # type: textblock
 msgid "This command sets the timestamps of a file with nanosecond precision."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5062 ../fish/guestfish-actions.pod:3906
+#: ../src/guestfs-actions.pod:5228 ../fish/guestfish-actions.pod:4049
 msgid ""
 "C<atsecs, atnsecs> are the last access time (atime) in secs and nanoseconds "
 "from the epoch."
 msgstr ""
 
 # type: textblock
 msgid ""
 "C<atsecs, atnsecs> are the last access time (atime) in secs and nanoseconds "
 "from the epoch."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5065 ../fish/guestfish-actions.pod:3909
+#: ../src/guestfs-actions.pod:5231 ../fish/guestfish-actions.pod:4052
 msgid ""
 "C<mtsecs, mtnsecs> are the last modification time (mtime) in secs and "
 "nanoseconds from the epoch."
 msgstr ""
 
 # type: textblock
 msgid ""
 "C<mtsecs, mtnsecs> are the last modification time (mtime) in secs and "
 "nanoseconds from the epoch."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5068 ../fish/guestfish-actions.pod:3912
+#: ../src/guestfs-actions.pod:5234 ../fish/guestfish-actions.pod:4055
 msgid ""
 "If the C<*nsecs> field contains the special value C<-1> then the "
 "corresponding timestamp is set to the current time.  (The C<*secs> field is "
 msgid ""
 "If the C<*nsecs> field contains the special value C<-1> then the "
 "corresponding timestamp is set to the current time.  (The C<*secs> field is "
@@ -12623,7 +13164,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5072 ../fish/guestfish-actions.pod:3916
+#: ../src/guestfs-actions.pod:5238 ../fish/guestfish-actions.pod:4059
 msgid ""
 "If the C<*nsecs> field contains the special value C<-2> then the "
 "corresponding timestamp is left unchanged.  (The C<*secs> field is ignored "
 msgid ""
 "If the C<*nsecs> field contains the special value C<-2> then the "
 "corresponding timestamp is left unchanged.  (The C<*secs> field is ignored "
@@ -12631,12 +13172,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5078 ../src/guestfs-structs.pod:175
+#: ../src/guestfs-actions.pod:5244 ../src/guestfs-structs.pod:175
 msgid "guestfs_version"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_version"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5080
+#: ../src/guestfs-actions.pod:5246
 #, no-wrap
 msgid ""
 " struct guestfs_version *guestfs_version (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " struct guestfs_version *guestfs_version (guestfs_h *g);\n"
@@ -12644,12 +13185,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5082 ../fish/guestfish-actions.pod:3924
+#: ../src/guestfs-actions.pod:5248 ../fish/guestfish-actions.pod:4067
 msgid "Return the libguestfs version number that the program is linked against."
 msgstr ""
 
 # type: textblock
 msgid "Return the libguestfs version number that the program is linked against."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5085 ../fish/guestfish-actions.pod:3927
+#: ../src/guestfs-actions.pod:5251 ../fish/guestfish-actions.pod:4070
 msgid ""
 "Note that because of dynamic linking this is not necessarily the version of "
 "libguestfs that you compiled against.  You can compile the program, and then "
 msgid ""
 "Note that because of dynamic linking this is not necessarily the version of "
 "libguestfs that you compiled against.  You can compile the program, and then "
@@ -12658,7 +13199,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5090 ../fish/guestfish-actions.pod:3932
+#: ../src/guestfs-actions.pod:5256 ../fish/guestfish-actions.pod:4075
 msgid ""
 "This call was added in version C<1.0.58>.  In previous versions of "
 "libguestfs there was no way to get the version number.  From C code you can "
 msgid ""
 "This call was added in version C<1.0.58>.  In previous versions of "
 "libguestfs there was no way to get the version number.  From C code you can "
@@ -12667,7 +13208,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5096 ../fish/guestfish-actions.pod:3938
+#: ../src/guestfs-actions.pod:5262 ../fish/guestfish-actions.pod:4081
 msgid ""
 "The call returns a structure with four elements.  The first three (C<major>, "
 "C<minor> and C<release>) are numbers and correspond to the usual version "
 msgid ""
 "The call returns a structure with four elements.  The first three (C<major>, "
 "C<minor> and C<release>) are numbers and correspond to the usual version "
@@ -12676,17 +13217,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5102 ../fish/guestfish-actions.pod:3944
+#: ../src/guestfs-actions.pod:5268 ../fish/guestfish-actions.pod:4087
 msgid "To construct the original version string: C<$major.$minor.$release$extra>"
 msgstr ""
 
 # type: textblock
 msgid "To construct the original version string: C<$major.$minor.$release$extra>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5105 ../fish/guestfish-actions.pod:3947
+#: ../src/guestfs-actions.pod:5271 ../fish/guestfish-actions.pod:4090
 msgid "See also: L<guestfs(3)/LIBGUESTFS VERSION NUMBERS>."
 msgstr ""
 
 # type: textblock
 msgid "See also: L<guestfs(3)/LIBGUESTFS VERSION NUMBERS>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5107
+#: ../src/guestfs-actions.pod:5273
 msgid ""
 "I<Note:> Don't use this call to test for availability of features.  In "
 "enterprise distributions we backport features from later versions into "
 msgid ""
 "I<Note:> Don't use this call to test for availability of features.  In "
 "enterprise distributions we backport features from later versions into "
@@ -12695,19 +13236,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5113
+#: ../src/guestfs-actions.pod:5279
 msgid ""
 "This function returns a C<struct guestfs_version *>, or NULL if there was an "
 "error.  I<The caller must call C<guestfs_free_version> after use>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This function returns a C<struct guestfs_version *>, or NULL if there was an "
 "error.  I<The caller must call C<guestfs_free_version> after use>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5117
+#: ../src/guestfs-actions.pod:5283
 msgid "guestfs_vfs_label"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_vfs_label"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5119
+#: ../src/guestfs-actions.pod:5285
 #, no-wrap
 msgid ""
 " char *guestfs_vfs_label (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_vfs_label (guestfs_h *g,\n"
@@ -12716,27 +13257,27 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5122 ../fish/guestfish-actions.pod:3959
+#: ../src/guestfs-actions.pod:5288 ../fish/guestfish-actions.pod:4102
 msgid "This returns the filesystem label of the filesystem on C<device>."
 msgstr ""
 
 # type: textblock
 msgid "This returns the filesystem label of the filesystem on C<device>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5125 ../fish/guestfish-actions.pod:3962
+#: ../src/guestfs-actions.pod:5291 ../fish/guestfish-actions.pod:4105
 msgid "If the filesystem is unlabeled, this returns the empty string."
 msgstr ""
 
 # type: textblock
 msgid "If the filesystem is unlabeled, this returns the empty string."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5127
+#: ../src/guestfs-actions.pod:5293
 msgid "To find a filesystem from the label, use C<guestfs_findfs_label>."
 msgstr ""
 
 # type: =head2
 msgid "To find a filesystem from the label, use C<guestfs_findfs_label>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5132
+#: ../src/guestfs-actions.pod:5298
 msgid "guestfs_vfs_type"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_vfs_type"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5134
+#: ../src/guestfs-actions.pod:5300
 #, no-wrap
 msgid ""
 " char *guestfs_vfs_type (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_vfs_type (guestfs_h *g,\n"
@@ -12745,14 +13286,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5137 ../fish/guestfish-actions.pod:3970
+#: ../src/guestfs-actions.pod:5303 ../fish/guestfish-actions.pod:4113
 msgid ""
 "This command gets the filesystem type corresponding to the filesystem on "
 "C<device>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This command gets the filesystem type corresponding to the filesystem on "
 "C<device>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5140 ../fish/guestfish-actions.pod:3973
+#: ../src/guestfs-actions.pod:5306 ../fish/guestfish-actions.pod:4116
 msgid ""
 "For most filesystems, the result is the name of the Linux VFS module which "
 "would be used to mount this filesystem if you mounted it without specifying "
 msgid ""
 "For most filesystems, the result is the name of the Linux VFS module which "
 "would be used to mount this filesystem if you mounted it without specifying "
@@ -12760,12 +13301,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5148
+#: ../src/guestfs-actions.pod:5314
 msgid "guestfs_vfs_uuid"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_vfs_uuid"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5150
+#: ../src/guestfs-actions.pod:5316
 #, no-wrap
 msgid ""
 " char *guestfs_vfs_uuid (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_vfs_uuid (guestfs_h *g,\n"
@@ -12774,27 +13315,27 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5153 ../fish/guestfish-actions.pod:3982
+#: ../src/guestfs-actions.pod:5319 ../fish/guestfish-actions.pod:4125
 msgid "This returns the filesystem UUID of the filesystem on C<device>."
 msgstr ""
 
 # type: textblock
 msgid "This returns the filesystem UUID of the filesystem on C<device>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5156 ../fish/guestfish-actions.pod:3985
+#: ../src/guestfs-actions.pod:5322 ../fish/guestfish-actions.pod:4128
 msgid "If the filesystem does not have a UUID, this returns the empty string."
 msgstr ""
 
 # type: textblock
 msgid "If the filesystem does not have a UUID, this returns the empty string."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5158
+#: ../src/guestfs-actions.pod:5324
 msgid "To find a filesystem from the UUID, use C<guestfs_findfs_uuid>."
 msgstr ""
 
 # type: =head2
 msgid "To find a filesystem from the UUID, use C<guestfs_findfs_uuid>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5163
+#: ../src/guestfs-actions.pod:5329
 msgid "guestfs_vg_activate"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_vg_activate"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5165
+#: ../src/guestfs-actions.pod:5331
 #, no-wrap
 msgid ""
 " int guestfs_vg_activate (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_vg_activate (guestfs_h *g,\n"
@@ -12804,7 +13345,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5169 ../fish/guestfish-actions.pod:3993
+#: ../src/guestfs-actions.pod:5335 ../fish/guestfish-actions.pod:4136
 msgid ""
 "This command activates or (if C<activate> is false) deactivates all logical "
 "volumes in the listed volume groups C<volgroups>.  If activated, then they "
 msgid ""
 "This command activates or (if C<activate> is false) deactivates all logical "
 "volumes in the listed volume groups C<volgroups>.  If activated, then they "
@@ -12813,24 +13354,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5175 ../fish/guestfish-actions.pod:3999
+#: ../src/guestfs-actions.pod:5341 ../fish/guestfish-actions.pod:4142
 msgid "This command is the same as running C<vgchange -a y|n volgroups...>"
 msgstr ""
 
 # type: textblock
 msgid "This command is the same as running C<vgchange -a y|n volgroups...>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5177 ../fish/guestfish-actions.pod:4001
+#: ../src/guestfs-actions.pod:5343 ../fish/guestfish-actions.pod:4144
 msgid ""
 "Note that if C<volgroups> is an empty list then B<all> volume groups are "
 "activated or deactivated."
 msgstr ""
 
 # type: =head2
 msgid ""
 "Note that if C<volgroups> is an empty list then B<all> volume groups are "
 "activated or deactivated."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5182
+#: ../src/guestfs-actions.pod:5348
 msgid "guestfs_vg_activate_all"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_vg_activate_all"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5184
+#: ../src/guestfs-actions.pod:5350
 #, no-wrap
 msgid ""
 " int guestfs_vg_activate_all (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_vg_activate_all (guestfs_h *g,\n"
@@ -12839,7 +13380,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5187 ../fish/guestfish-actions.pod:4008
+#: ../src/guestfs-actions.pod:5353 ../fish/guestfish-actions.pod:4151
 msgid ""
 "This command activates or (if C<activate> is false) deactivates all logical "
 "volumes in all volume groups.  If activated, then they are made known to the "
 msgid ""
 "This command activates or (if C<activate> is false) deactivates all logical "
 "volumes in all volume groups.  If activated, then they are made known to the "
@@ -12848,17 +13389,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5193 ../fish/guestfish-actions.pod:4014
+#: ../src/guestfs-actions.pod:5359 ../fish/guestfish-actions.pod:4157
 msgid "This command is the same as running C<vgchange -a y|n>"
 msgstr ""
 
 # type: =head2
 msgid "This command is the same as running C<vgchange -a y|n>"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5197
+#: ../src/guestfs-actions.pod:5363
 msgid "guestfs_vgcreate"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_vgcreate"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5199
+#: ../src/guestfs-actions.pod:5365
 #, no-wrap
 msgid ""
 " int guestfs_vgcreate (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_vgcreate (guestfs_h *g,\n"
@@ -12868,19 +13409,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5203 ../fish/guestfish-actions.pod:4020
+#: ../src/guestfs-actions.pod:5369 ../fish/guestfish-actions.pod:4163
 msgid ""
 "This creates an LVM volume group called C<volgroup> from the non-empty list "
 "of physical volumes C<physvols>."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This creates an LVM volume group called C<volgroup> from the non-empty list "
 "of physical volumes C<physvols>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5208
+#: ../src/guestfs-actions.pod:5374
 msgid "guestfs_vglvuuids"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_vglvuuids"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5210
+#: ../src/guestfs-actions.pod:5376
 #, no-wrap
 msgid ""
 " char **guestfs_vglvuuids (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_vglvuuids (guestfs_h *g,\n"
@@ -12889,31 +13430,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5213 ../fish/guestfish-actions.pod:4027
+#: ../src/guestfs-actions.pod:5379 ../fish/guestfish-actions.pod:4170
 msgid ""
 "Given a VG called C<vgname>, this returns the UUIDs of all the logical "
 "volumes created in this volume group."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Given a VG called C<vgname>, this returns the UUIDs of all the logical "
 "volumes created in this volume group."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5216
+#: ../src/guestfs-actions.pod:5382
 msgid ""
 "You can use this along with C<guestfs_lvs> and C<guestfs_lvuuid> calls to "
 "associate logical volumes and volume groups."
 msgstr ""
 
 # type: textblock
 msgid ""
 "You can use this along with C<guestfs_lvs> and C<guestfs_lvuuid> calls to "
 "associate logical volumes and volume groups."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5219
+#: ../src/guestfs-actions.pod:5385
 msgid "See also C<guestfs_vgpvuuids>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_vgpvuuids>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5225
+#: ../src/guestfs-actions.pod:5391
 msgid "guestfs_vgpvuuids"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_vgpvuuids"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5227
+#: ../src/guestfs-actions.pod:5393
 #, no-wrap
 msgid ""
 " char **guestfs_vgpvuuids (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_vgpvuuids (guestfs_h *g,\n"
@@ -12922,31 +13463,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5230 ../fish/guestfish-actions.pod:4039
+#: ../src/guestfs-actions.pod:5396 ../fish/guestfish-actions.pod:4182
 msgid ""
 "Given a VG called C<vgname>, this returns the UUIDs of all the physical "
 "volumes that this volume group resides on."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Given a VG called C<vgname>, this returns the UUIDs of all the physical "
 "volumes that this volume group resides on."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5233
+#: ../src/guestfs-actions.pod:5399
 msgid ""
 "You can use this along with C<guestfs_pvs> and C<guestfs_pvuuid> calls to "
 "associate physical volumes and volume groups."
 msgstr ""
 
 # type: textblock
 msgid ""
 "You can use this along with C<guestfs_pvs> and C<guestfs_pvuuid> calls to "
 "associate physical volumes and volume groups."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5236
+#: ../src/guestfs-actions.pod:5402
 msgid "See also C<guestfs_vglvuuids>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_vglvuuids>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5242
+#: ../src/guestfs-actions.pod:5408
 msgid "guestfs_vgremove"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_vgremove"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5244
+#: ../src/guestfs-actions.pod:5410
 #, no-wrap
 msgid ""
 " int guestfs_vgremove (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_vgremove (guestfs_h *g,\n"
@@ -12955,22 +13496,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5247 ../fish/guestfish-actions.pod:4051
+#: ../src/guestfs-actions.pod:5413 ../fish/guestfish-actions.pod:4194
 msgid "Remove an LVM volume group C<vgname>, (for example C<VG>)."
 msgstr ""
 
 # type: textblock
 msgid "Remove an LVM volume group C<vgname>, (for example C<VG>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5249 ../fish/guestfish-actions.pod:4053
+#: ../src/guestfs-actions.pod:5415 ../fish/guestfish-actions.pod:4196
 msgid "This also forcibly removes all logical volumes in the volume group (if any)."
 msgstr ""
 
 # type: =head2
 msgid "This also forcibly removes all logical volumes in the volume group (if any)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5254
+#: ../src/guestfs-actions.pod:5420
 msgid "guestfs_vgrename"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_vgrename"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5256
+#: ../src/guestfs-actions.pod:5422
 #, no-wrap
 msgid ""
 " int guestfs_vgrename (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_vgrename (guestfs_h *g,\n"
@@ -12980,17 +13521,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5260 ../fish/guestfish-actions.pod:4060
+#: ../src/guestfs-actions.pod:5426 ../fish/guestfish-actions.pod:4203
 msgid "Rename a volume group C<volgroup> with the new name C<newvolgroup>."
 msgstr ""
 
 # type: =head2
 msgid "Rename a volume group C<volgroup> with the new name C<newvolgroup>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5264
+#: ../src/guestfs-actions.pod:5430
 msgid "guestfs_vgs"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_vgs"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5266
+#: ../src/guestfs-actions.pod:5432
 #, no-wrap
 msgid ""
 " char **guestfs_vgs (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " char **guestfs_vgs (guestfs_h *g);\n"
@@ -12998,31 +13539,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5268 ../fish/guestfish-actions.pod:4066
+#: ../src/guestfs-actions.pod:5434 ../fish/guestfish-actions.pod:4209
 msgid ""
 "List all the volumes groups detected.  This is the equivalent of the "
 "L<vgs(8)> command."
 msgstr ""
 
 # type: textblock
 msgid ""
 "List all the volumes groups detected.  This is the equivalent of the "
 "L<vgs(8)> command."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5271 ../fish/guestfish-actions.pod:4069
+#: ../src/guestfs-actions.pod:5437 ../fish/guestfish-actions.pod:4212
 msgid ""
 "This returns a list of just the volume group names that were detected "
 "(eg. C<VolGroup00>)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This returns a list of just the volume group names that were detected "
 "(eg. C<VolGroup00>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5274
+#: ../src/guestfs-actions.pod:5440
 msgid "See also C<guestfs_vgs_full>."
 msgstr ""
 
 # type: =head2
 msgid "See also C<guestfs_vgs_full>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5280
+#: ../src/guestfs-actions.pod:5446
 msgid "guestfs_vgs_full"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_vgs_full"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5282
+#: ../src/guestfs-actions.pod:5448
 #, no-wrap
 msgid ""
 " struct guestfs_lvm_vg_list *guestfs_vgs_full (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " struct guestfs_lvm_vg_list *guestfs_vgs_full (guestfs_h *g);\n"
@@ -13030,14 +13571,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5284 ../fish/guestfish-actions.pod:4078
+#: ../src/guestfs-actions.pod:5450 ../fish/guestfish-actions.pod:4221
 msgid ""
 "List all the volumes groups detected.  This is the equivalent of the "
 "L<vgs(8)> command.  The \"full\" version includes all fields."
 msgstr ""
 
 # type: textblock
 msgid ""
 "List all the volumes groups detected.  This is the equivalent of the "
 "L<vgs(8)> command.  The \"full\" version includes all fields."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5287
+#: ../src/guestfs-actions.pod:5453
 msgid ""
 "This function returns a C<struct guestfs_lvm_vg_list *> (see "
 "E<lt>guestfs-structs.hE<gt>), or NULL if there was an error.  I<The caller "
 msgid ""
 "This function returns a C<struct guestfs_lvm_vg_list *> (see "
 "E<lt>guestfs-structs.hE<gt>), or NULL if there was an error.  I<The caller "
@@ -13045,12 +13586,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5292
+#: ../src/guestfs-actions.pod:5458
 msgid "guestfs_vgscan"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_vgscan"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5294
+#: ../src/guestfs-actions.pod:5460
 #, no-wrap
 msgid ""
 " int guestfs_vgscan (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_vgscan (guestfs_h *g);\n"
@@ -13058,19 +13599,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5296 ../fish/guestfish-actions.pod:4085
+#: ../src/guestfs-actions.pod:5462 ../fish/guestfish-actions.pod:4228
 msgid ""
 "This rescans all block devices and rebuilds the list of LVM physical "
 "volumes, volume groups and logical volumes."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This rescans all block devices and rebuilds the list of LVM physical "
 "volumes, volume groups and logical volumes."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5301
+#: ../src/guestfs-actions.pod:5467
 msgid "guestfs_vguuid"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_vguuid"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5303
+#: ../src/guestfs-actions.pod:5469
 #, no-wrap
 msgid ""
 " char *guestfs_vguuid (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_vguuid (guestfs_h *g,\n"
@@ -13079,17 +13620,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5306 ../fish/guestfish-actions.pod:4092
+#: ../src/guestfs-actions.pod:5472 ../fish/guestfish-actions.pod:4235
 msgid "This command returns the UUID of the LVM VG named C<vgname>."
 msgstr ""
 
 # type: =head2
 msgid "This command returns the UUID of the LVM VG named C<vgname>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5311
+#: ../src/guestfs-actions.pod:5477
 msgid "guestfs_wait_ready"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_wait_ready"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5313
+#: ../src/guestfs-actions.pod:5479
 #, no-wrap
 msgid ""
 " int guestfs_wait_ready (guestfs_h *g);\n"
 #, no-wrap
 msgid ""
 " int guestfs_wait_ready (guestfs_h *g);\n"
@@ -13097,12 +13638,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5315
+#: ../src/guestfs-actions.pod:5481
 msgid "This function is a no op."
 msgstr ""
 
 # type: textblock
 msgid "This function is a no op."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5317
+#: ../src/guestfs-actions.pod:5483
 msgid ""
 "In versions of the API E<lt> 1.0.71 you had to call this function just after "
 "calling C<guestfs_launch> to wait for the launch to complete.  However this "
 msgid ""
 "In versions of the API E<lt> 1.0.71 you had to call this function just after "
 "calling C<guestfs_launch> to wait for the launch to complete.  However this "
@@ -13110,19 +13651,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5322
+#: ../src/guestfs-actions.pod:5488
 msgid ""
 "If you see any calls to this function in code then you can just remove them, "
 "unless you want to retain compatibility with older versions of the API."
 msgstr ""
 
 # type: =head2
 msgid ""
 "If you see any calls to this function in code then you can just remove them, "
 "unless you want to retain compatibility with older versions of the API."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5328
+#: ../src/guestfs-actions.pod:5494
 msgid "guestfs_wc_c"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_wc_c"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5330
+#: ../src/guestfs-actions.pod:5496
 #, no-wrap
 msgid ""
 " int guestfs_wc_c (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_wc_c (guestfs_h *g,\n"
@@ -13131,19 +13672,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5333 ../fish/guestfish-actions.pod:4098
+#: ../src/guestfs-actions.pod:5499 ../fish/guestfish-actions.pod:4241
 msgid ""
 "This command counts the characters in a file, using the C<wc -c> external "
 "command."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command counts the characters in a file, using the C<wc -c> external "
 "command."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5338
+#: ../src/guestfs-actions.pod:5504
 msgid "guestfs_wc_l"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_wc_l"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5340
+#: ../src/guestfs-actions.pod:5506
 #, no-wrap
 msgid ""
 " int guestfs_wc_l (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_wc_l (guestfs_h *g,\n"
@@ -13152,19 +13693,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5343 ../fish/guestfish-actions.pod:4105
+#: ../src/guestfs-actions.pod:5509 ../fish/guestfish-actions.pod:4248
 msgid ""
 "This command counts the lines in a file, using the C<wc -l> external "
 "command."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command counts the lines in a file, using the C<wc -l> external "
 "command."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5348
+#: ../src/guestfs-actions.pod:5514
 msgid "guestfs_wc_w"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_wc_w"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5350
+#: ../src/guestfs-actions.pod:5516
 #, no-wrap
 msgid ""
 " int guestfs_wc_w (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_wc_w (guestfs_h *g,\n"
@@ -13173,19 +13714,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5353 ../fish/guestfish-actions.pod:4112
+#: ../src/guestfs-actions.pod:5519 ../fish/guestfish-actions.pod:4255
 msgid ""
 "This command counts the words in a file, using the C<wc -w> external "
 "command."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command counts the words in a file, using the C<wc -w> external "
 "command."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5358
+#: ../src/guestfs-actions.pod:5524
 msgid "guestfs_write"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_write"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5360
+#: ../src/guestfs-actions.pod:5526
 #, no-wrap
 msgid ""
 " int guestfs_write (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_write (guestfs_h *g,\n"
@@ -13196,19 +13737,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5365 ../fish/guestfish-actions.pod:4119
+#: ../src/guestfs-actions.pod:5531 ../fish/guestfish-actions.pod:4262
 msgid ""
 "This call creates a file called C<path>.  The content of the file is the "
 "string C<content> (which can contain any 8 bit data)."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This call creates a file called C<path>.  The content of the file is the "
 "string C<content> (which can contain any 8 bit data)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5373
+#: ../src/guestfs-actions.pod:5539
 msgid "guestfs_write_file"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_write_file"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5375
+#: ../src/guestfs-actions.pod:5541
 #, no-wrap
 msgid ""
 " int guestfs_write_file (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_write_file (guestfs_h *g,\n"
@@ -13219,38 +13760,38 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5380 ../fish/guestfish-actions.pod:4129
+#: ../src/guestfs-actions.pod:5546 ../fish/guestfish-actions.pod:4272
 msgid ""
 "This call creates a file called C<path>.  The contents of the file is the "
 "string C<content> (which can contain any 8 bit data), with length C<size>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This call creates a file called C<path>.  The contents of the file is the "
 "string C<content> (which can contain any 8 bit data), with length C<size>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5384 ../fish/guestfish-actions.pod:4133
+#: ../src/guestfs-actions.pod:5550 ../fish/guestfish-actions.pod:4276
 msgid ""
 "As a special case, if C<size> is C<0> then the length is calculated using "
 "C<strlen> (so in this case the content cannot contain embedded ASCII NULs)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "As a special case, if C<size> is C<0> then the length is calculated using "
 "C<strlen> (so in this case the content cannot contain embedded ASCII NULs)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5388 ../fish/guestfish-actions.pod:4137
+#: ../src/guestfs-actions.pod:5554 ../fish/guestfish-actions.pod:4280
 msgid ""
 "I<NB.> Owing to a bug, writing content containing ASCII NUL characters does "
 "I<not> work, even if the length is specified."
 msgstr ""
 
 # type: textblock
 msgid ""
 "I<NB.> Owing to a bug, writing content containing ASCII NUL characters does "
 "I<not> work, even if the length is specified."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5396 ../fish/guestfish-actions.pod:4143
+#: ../src/guestfs-actions.pod:5562 ../fish/guestfish-actions.pod:4286
 msgid "This function is deprecated.  In new code, use the C<write> call instead."
 msgstr ""
 
 # type: =head2
 msgid "This function is deprecated.  In new code, use the C<write> call instead."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5403
+#: ../src/guestfs-actions.pod:5569
 msgid "guestfs_zegrep"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_zegrep"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5405
+#: ../src/guestfs-actions.pod:5571
 #, no-wrap
 msgid ""
 " char **guestfs_zegrep (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_zegrep (guestfs_h *g,\n"
@@ -13260,17 +13801,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5409 ../fish/guestfish-actions.pod:4154
+#: ../src/guestfs-actions.pod:5575 ../fish/guestfish-actions.pod:4297
 msgid "This calls the external C<zegrep> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
 msgid "This calls the external C<zegrep> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5419
+#: ../src/guestfs-actions.pod:5585
 msgid "guestfs_zegrepi"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_zegrepi"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5421
+#: ../src/guestfs-actions.pod:5587
 #, no-wrap
 msgid ""
 " char **guestfs_zegrepi (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_zegrepi (guestfs_h *g,\n"
@@ -13280,17 +13821,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5425 ../fish/guestfish-actions.pod:4164
+#: ../src/guestfs-actions.pod:5591 ../fish/guestfish-actions.pod:4307
 msgid "This calls the external C<zegrep -i> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
 msgid "This calls the external C<zegrep -i> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5435
+#: ../src/guestfs-actions.pod:5601
 msgid "guestfs_zero"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_zero"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5437
+#: ../src/guestfs-actions.pod:5603
 #, no-wrap
 msgid ""
 " int guestfs_zero (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_zero (guestfs_h *g,\n"
@@ -13299,12 +13840,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5440 ../fish/guestfish-actions.pod:4174
+#: ../src/guestfs-actions.pod:5606 ../fish/guestfish-actions.pod:4317
 msgid "This command writes zeroes over the first few blocks of C<device>."
 msgstr ""
 
 # type: textblock
 msgid "This command writes zeroes over the first few blocks of C<device>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5442 ../fish/guestfish-actions.pod:4176
+#: ../src/guestfs-actions.pod:5608 ../fish/guestfish-actions.pod:4319
 msgid ""
 "How many blocks are zeroed isn't specified (but it's I<not> enough to "
 "securely wipe the device).  It should be sufficient to remove any partition "
 msgid ""
 "How many blocks are zeroed isn't specified (but it's I<not> enough to "
 "securely wipe the device).  It should be sufficient to remove any partition "
@@ -13312,17 +13853,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5446
+#: ../src/guestfs-actions.pod:5612
 msgid "See also: C<guestfs_zero_device>, C<guestfs_scrub_device>."
 msgstr ""
 
 # type: =head2
 msgid "See also: C<guestfs_zero_device>, C<guestfs_scrub_device>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5455
+#: ../src/guestfs-actions.pod:5621
 msgid "guestfs_zero_device"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_zero_device"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5457
+#: ../src/guestfs-actions.pod:5623
 #, no-wrap
 msgid ""
 " int guestfs_zero_device (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_zero_device (guestfs_h *g,\n"
@@ -13331,19 +13872,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5460
+#: ../src/guestfs-actions.pod:5626
 msgid ""
 "This command writes zeroes over the entire C<device>.  Compare with "
 "C<guestfs_zero> which just zeroes the first few blocks of a device."
 msgstr ""
 
 # type: =head2
 msgid ""
 "This command writes zeroes over the entire C<device>.  Compare with "
 "C<guestfs_zero> which just zeroes the first few blocks of a device."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5474
+#: ../src/guestfs-actions.pod:5640
 msgid "guestfs_zerofree"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_zerofree"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5476
+#: ../src/guestfs-actions.pod:5642
 #, no-wrap
 msgid ""
 " int guestfs_zerofree (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " int guestfs_zerofree (guestfs_h *g,\n"
@@ -13352,7 +13893,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5479 ../fish/guestfish-actions.pod:4197
+#: ../src/guestfs-actions.pod:5645 ../fish/guestfish-actions.pod:4340
 msgid ""
 "This runs the I<zerofree> program on C<device>.  This program claims to zero "
 "unused inodes and disk blocks on an ext2/3 filesystem, thus making it "
 msgid ""
 "This runs the I<zerofree> program on C<device>.  This program claims to zero "
 "unused inodes and disk blocks on an ext2/3 filesystem, thus making it "
@@ -13360,24 +13901,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5484 ../fish/guestfish-actions.pod:4202
+#: ../src/guestfs-actions.pod:5650 ../fish/guestfish-actions.pod:4345
 msgid "You should B<not> run this program if the filesystem is mounted."
 msgstr ""
 
 # type: textblock
 msgid "You should B<not> run this program if the filesystem is mounted."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5487 ../fish/guestfish-actions.pod:4205
+#: ../src/guestfs-actions.pod:5653 ../fish/guestfish-actions.pod:4348
 msgid ""
 "It is possible that using this program can damage the filesystem or data on "
 "the filesystem."
 msgstr ""
 
 # type: =head2
 msgid ""
 "It is possible that using this program can damage the filesystem or data on "
 "the filesystem."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5492
+#: ../src/guestfs-actions.pod:5658
 msgid "guestfs_zfgrep"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_zfgrep"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5494
+#: ../src/guestfs-actions.pod:5660
 #, no-wrap
 msgid ""
 " char **guestfs_zfgrep (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_zfgrep (guestfs_h *g,\n"
@@ -13387,17 +13928,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5498 ../fish/guestfish-actions.pod:4212
+#: ../src/guestfs-actions.pod:5664 ../fish/guestfish-actions.pod:4355
 msgid "This calls the external C<zfgrep> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
 msgid "This calls the external C<zfgrep> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5508
+#: ../src/guestfs-actions.pod:5674
 msgid "guestfs_zfgrepi"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_zfgrepi"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5510
+#: ../src/guestfs-actions.pod:5676
 #, no-wrap
 msgid ""
 " char **guestfs_zfgrepi (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_zfgrepi (guestfs_h *g,\n"
@@ -13407,17 +13948,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5514 ../fish/guestfish-actions.pod:4222
+#: ../src/guestfs-actions.pod:5680 ../fish/guestfish-actions.pod:4365
 msgid "This calls the external C<zfgrep -i> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
 msgid "This calls the external C<zfgrep -i> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5524
+#: ../src/guestfs-actions.pod:5690
 msgid "guestfs_zfile"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_zfile"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5526
+#: ../src/guestfs-actions.pod:5692
 #, no-wrap
 msgid ""
 " char *guestfs_zfile (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char *guestfs_zfile (guestfs_h *g,\n"
@@ -13427,34 +13968,34 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5530 ../fish/guestfish-actions.pod:4232
+#: ../src/guestfs-actions.pod:5696 ../fish/guestfish-actions.pod:4375
 msgid "This command runs C<file> after first decompressing C<path> using C<method>."
 msgstr ""
 
 # type: textblock
 msgid "This command runs C<file> after first decompressing C<path> using C<method>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5533 ../fish/guestfish-actions.pod:4235
+#: ../src/guestfs-actions.pod:5699 ../fish/guestfish-actions.pod:4378
 msgid "C<method> must be one of C<gzip>, C<compress> or C<bzip2>."
 msgstr ""
 
 # type: textblock
 msgid "C<method> must be one of C<gzip>, C<compress> or C<bzip2>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5535
+#: ../src/guestfs-actions.pod:5701
 msgid ""
 "Since 1.0.63, use C<guestfs_file> instead which can now process compressed "
 "files."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Since 1.0.63, use C<guestfs_file> instead which can now process compressed "
 "files."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5541 ../fish/guestfish-actions.pod:4240
+#: ../src/guestfs-actions.pod:5707 ../fish/guestfish-actions.pod:4383
 msgid "This function is deprecated.  In new code, use the C<file> call instead."
 msgstr ""
 
 # type: =head2
 msgid "This function is deprecated.  In new code, use the C<file> call instead."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5548
+#: ../src/guestfs-actions.pod:5714
 msgid "guestfs_zgrep"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_zgrep"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5550
+#: ../src/guestfs-actions.pod:5716
 #, no-wrap
 msgid ""
 " char **guestfs_zgrep (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_zgrep (guestfs_h *g,\n"
@@ -13464,17 +14005,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5554 ../fish/guestfish-actions.pod:4251
+#: ../src/guestfs-actions.pod:5720 ../fish/guestfish-actions.pod:4394
 msgid "This calls the external C<zgrep> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
 msgid "This calls the external C<zgrep> program and returns the matching lines."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs-actions.pod:5564
+#: ../src/guestfs-actions.pod:5730
 msgid "guestfs_zgrepi"
 msgstr ""
 
 # type: verbatim
 msgid "guestfs_zgrepi"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs-actions.pod:5566
+#: ../src/guestfs-actions.pod:5732
 #, no-wrap
 msgid ""
 " char **guestfs_zgrepi (guestfs_h *g,\n"
 #, no-wrap
 msgid ""
 " char **guestfs_zgrepi (guestfs_h *g,\n"
@@ -13484,7 +14025,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:5570 ../fish/guestfish-actions.pod:4261
+#: ../src/guestfs-actions.pod:5736 ../fish/guestfish-actions.pod:4404
 msgid "This calls the external C<zgrep -i> program and returns the matching lines."
 msgstr ""
 
 msgid "This calls the external C<zgrep -i> program and returns the matching lines."
 msgstr ""
 
@@ -14190,7 +14731,7 @@ msgid ""
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:23 ../fuse/guestmount.pod:11 ../tools/virt-edit.pl:45 ../tools/virt-rescue.pl:41 ../tools/virt-tar.pl:60 ../tools/virt-win-reg.pl:52
+#: ../fish/guestfish.pod:23 ../fuse/guestmount.pod:11 ../tools/virt-edit.pl:45 ../tools/virt-win-reg.pl:52 ../tools/virt-tar.pl:60 ../tools/virt-rescue.pl:41
 msgid "WARNING"
 msgstr ""
 
 msgid "WARNING"
 msgstr ""
 
@@ -14203,18 +14744,35 @@ msgid ""
 "live."
 msgstr ""
 
 "live."
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish.pod:32
+msgid ""
+"Guestfish is a shell and command-line tool for examining and modifying "
+"virtual machine filesystems.  It uses libguestfs and exposes all of the "
+"functionality of the guestfs API, see L<guestfs(3)>."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:36
+msgid ""
+"Guestfish gives you structured access to the libguestfs API, from shell "
+"scripts or the command line or interactively.  If you want to rescue a "
+"broken virtual machine image, you should look at the L<virt-rescue(1)> "
+"command."
+msgstr ""
+
 # type: =head1
 # type: =head1
-#: ../fish/guestfish.pod:30 ../fish/guestfish.pod:729 ../fuse/guestmount.pod:35 ../tools/virt-cat.pl:51 ../tools/virt-edit.pl:59 ../tools/virt-resize.pl:66 ../tools/virt-tar.pl:46
+#: ../fish/guestfish.pod:41 ../fish/guestfish.pod:800 ../fuse/guestmount.pod:35 ../tools/virt-edit.pl:59 ../tools/virt-resize.pl:66 ../tools/virt-cat.pl:51 ../tools/virt-tar.pl:46
 msgid "EXAMPLES"
 msgstr ""
 
 # type: =head2
 msgid "EXAMPLES"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:32
+#: ../fish/guestfish.pod:43
 msgid "As an interactive shell"
 msgstr ""
 
 # type: verbatim
 msgid "As an interactive shell"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:34
+#: ../fish/guestfish.pod:45
 #, no-wrap
 msgid ""
 " $ guestfish\n"
 #, no-wrap
 msgid ""
 " $ guestfish\n"
@@ -14222,7 +14780,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:36
+#: ../fish/guestfish.pod:47
 #, no-wrap
 msgid ""
 " Welcome to guestfish, the libguestfs filesystem interactive shell for\n"
 #, no-wrap
 msgid ""
 " Welcome to guestfish, the libguestfs filesystem interactive shell for\n"
@@ -14231,7 +14789,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:39
+#: ../fish/guestfish.pod:50
 #, no-wrap
 msgid ""
 " Type: 'help' for a list of commands\n"
 #, no-wrap
 msgid ""
 " Type: 'help' for a list of commands\n"
@@ -14241,25 +14799,36 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:43
+#: ../fish/guestfish.pod:54
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" ><fs> man\n"
+" ><fs> add-ro disk.img\n"
+" ><fs> run\n"
+" ><fs> list-filesystems\n"
+" /dev/sda1: ext4\n"
+" /dev/vg_guest/lv_root: ext4\n"
+" /dev/vg_guest/lv_swap: swap\n"
+" ><fs> mount /dev/vg_guest/lv_root /\n"
+" ><fs> cat /etc/fstab\n"
+" # /etc/fstab\n"
+" # Created by anaconda\n"
+" [...]\n"
+" ><fs> exit\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:45
+#: ../fish/guestfish.pod:67
 msgid "From shell scripts"
 msgstr ""
 
 # type: textblock
 msgid "From shell scripts"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:47
-msgid "Create a new C</etc/motd> file in a guest:"
+#: ../fish/guestfish.pod:69
+msgid "Create a new C</etc/motd> file in a guest or disk image:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:49
+#: ../fish/guestfish.pod:71
 #, no-wrap
 msgid ""
 " guestfish <<_EOF_\n"
 #, no-wrap
 msgid ""
 " guestfish <<_EOF_\n"
@@ -14272,12 +14841,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:56
-msgid "List the LVM logical volumes in a guest:"
+#: ../fish/guestfish.pod:78
+msgid "List the LVM logical volumes in a disk image:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:58
+#: ../fish/guestfish.pod:80
 #, no-wrap
 msgid ""
 " guestfish -a disk.img --ro <<_EOF_\n"
 #, no-wrap
 msgid ""
 " guestfish -a disk.img --ro <<_EOF_\n"
@@ -14287,18 +14856,34 @@ msgid ""
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish.pod:85
+msgid "List all the filesystems in a disk image:"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish.pod:87
+#, no-wrap
+msgid ""
+" guestfish -a disk.img --ro <<_EOF_\n"
+" run\n"
+" list-filesystems\n"
+" _EOF_\n"
+"\n"
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish.pod:63
+#: ../fish/guestfish.pod:92
 msgid "On one command line"
 msgstr ""
 
 # type: textblock
 msgid "On one command line"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:65
+#: ../fish/guestfish.pod:94
 msgid "Update C</etc/resolv.conf> in a guest:"
 msgstr ""
 
 # type: verbatim
 msgid "Update C</etc/resolv.conf> in a guest:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:67
+#: ../fish/guestfish.pod:96
 #, no-wrap
 msgid ""
 " guestfish \\\n"
 #, no-wrap
 msgid ""
 " guestfish \\\n"
@@ -14308,12 +14893,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:71
+#: ../fish/guestfish.pod:100
 msgid "Edit C</boot/grub/grub.conf> interactively:"
 msgstr ""
 
 # type: verbatim
 msgid "Edit C</boot/grub/grub.conf> interactively:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:73
+#: ../fish/guestfish.pod:102
 #, no-wrap
 msgid ""
 " guestfish --add disk.img \\\n"
 #, no-wrap
 msgid ""
 " guestfish --add disk.img \\\n"
@@ -14324,19 +14909,19 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:78
+#: ../fish/guestfish.pod:107
 msgid "Mount disks automatically"
 msgstr ""
 
 # type: textblock
 msgid "Mount disks automatically"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:80
+#: ../fish/guestfish.pod:109
 msgid ""
 "Use the I<-i> option to automatically mount the disks from a virtual "
 "machine:"
 msgstr ""
 
 # type: verbatim
 msgid ""
 "Use the I<-i> option to automatically mount the disks from a virtual "
 "machine:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:83
+#: ../fish/guestfish.pod:112
 #, no-wrap
 msgid ""
 " guestfish --ro -a disk.img -i cat /etc/group\n"
 #, no-wrap
 msgid ""
 " guestfish --ro -a disk.img -i cat /etc/group\n"
@@ -14344,25 +14929,38 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:85
+#: ../fish/guestfish.pod:114
 #, no-wrap
 msgid ""
 " guestfish --ro -d libvirt-domain -i cat /etc/group\n"
 "\n"
 msgstr ""
 
 #, no-wrap
 msgid ""
 " guestfish --ro -d libvirt-domain -i cat /etc/group\n"
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish.pod:116
+msgid "Another way to edit C</boot/grub/grub.conf> interactively is:"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish.pod:118
+#, no-wrap
+msgid ""
+" guestfish -a disk.img -i edit /boot/grub/grub.conf\n"
+"\n"
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish.pod:87
+#: ../fish/guestfish.pod:120
 msgid "As a script interpreter"
 msgstr ""
 
 # type: textblock
 msgid "As a script interpreter"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:89
+#: ../fish/guestfish.pod:122
 msgid "Create a 100MB disk containing an ext2-formatted partition:"
 msgstr ""
 
 # type: verbatim
 msgid "Create a 100MB disk containing an ext2-formatted partition:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:91
+#: ../fish/guestfish.pod:124
 #, no-wrap
 msgid ""
 " #!/usr/bin/guestfish -f\n"
 #, no-wrap
 msgid ""
 " #!/usr/bin/guestfish -f\n"
@@ -14374,19 +14972,19 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:97
+#: ../fish/guestfish.pod:130
 msgid "Start with a prepared disk"
 msgstr ""
 
 # type: textblock
 msgid "Start with a prepared disk"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:99
+#: ../fish/guestfish.pod:132
 msgid ""
 "An alternate way to create a 100MB disk called C<test1.img> containing a "
 "single ext2-formatted partition:"
 msgstr ""
 
 # type: verbatim
 msgid ""
 "An alternate way to create a 100MB disk called C<test1.img> containing a "
 "single ext2-formatted partition:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:102
+#: ../fish/guestfish.pod:135
 #, no-wrap
 msgid ""
 " guestfish -N fs\n"
 #, no-wrap
 msgid ""
 " guestfish -N fs\n"
@@ -14394,12 +14992,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:104
+#: ../fish/guestfish.pod:137
 msgid "To list what is available do:"
 msgstr ""
 
 # type: verbatim
 msgid "To list what is available do:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:106 ../fish/guestfish.pod:720
+#: ../fish/guestfish.pod:139 ../fish/guestfish.pod:791
 #, no-wrap
 msgid ""
 " guestfish -N help | less\n"
 #, no-wrap
 msgid ""
 " guestfish -N help | less\n"
@@ -14407,102 +15005,92 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:108
+#: ../fish/guestfish.pod:141
 msgid "Remote control"
 msgstr ""
 
 # type: verbatim
 msgid "Remote control"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:110
+#: ../fish/guestfish.pod:143
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" eval `guestfish --listen --ro`\n"
-" guestfish --remote add disk.img\n"
+" eval `guestfish --listen`\n"
+" guestfish --remote add-ro disk.img\n"
 " guestfish --remote run\n"
 " guestfish --remote lvs\n"
 "\n"
 msgstr ""
 
 " guestfish --remote run\n"
 " guestfish --remote lvs\n"
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish.pod:117
-msgid ""
-"Guestfish is a shell and command-line tool for examining and modifying "
-"virtual machine filesystems.  It uses libguestfs and exposes all of the "
-"functionality of the guestfs API, see L<guestfs(3)>."
-msgstr ""
-
-# type: textblock
-#: ../fish/guestfish.pod:121
-msgid ""
-"Guestfish gives you structured access to the libguestfs API, from shell "
-"scripts or the command line or interactively.  If you want to rescue a "
-"broken virtual machine image, you should look at the L<virt-rescue(1)> "
-"command."
-msgstr ""
-
 # type: =head1
 # type: =head1
-#: ../fish/guestfish.pod:126 ../test-tool/libguestfs-test-tool.pod:37 ../fuse/guestmount.pod:70 ../inspector/virt-inspector.pl:75 ../tools/virt-cat.pl:80 ../tools/virt-df.pl:71 ../tools/virt-edit.pl:73 ../tools/virt-list-filesystems.pl:50 ../tools/virt-list-partitions.pl:51 ../tools/virt-ls.pl:79 ../tools/virt-make-fs.pl:153 ../tools/virt-rescue.pl:103 ../tools/virt-resize.pl:233 ../tools/virt-tar.pl:99 ../tools/virt-win-reg.pl:172
+#: ../fish/guestfish.pod:148 ../test-tool/libguestfs-test-tool.pod:37 ../fuse/guestmount.pod:70 ../inspector/virt-inspector.pl:75 ../tools/virt-edit.pl:73 ../tools/virt-win-reg.pl:172 ../tools/virt-df.pl:71 ../tools/virt-ls.pl:79 ../tools/virt-resize.pl:257 ../tools/virt-list-filesystems.pl:50 ../tools/virt-cat.pl:80 ../tools/virt-tar.pl:99 ../tools/virt-rescue.pl:103 ../tools/virt-make-fs.pl:153 ../tools/virt-list-partitions.pl:51
 msgid "OPTIONS"
 msgstr ""
 
 # type: =item
 msgid "OPTIONS"
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:130 ../fuse/guestmount.pod:94 ../inspector/virt-inspector.pl:83 ../tools/virt-cat.pl:88 ../tools/virt-df.pl:79 ../tools/virt-edit.pl:81 ../tools/virt-list-filesystems.pl:58 ../tools/virt-list-partitions.pl:59 ../tools/virt-ls.pl:87 ../tools/virt-make-fs.pl:161 ../tools/virt-rescue.pl:111 ../tools/virt-resize.pl:241 ../tools/virt-tar.pl:107 ../tools/virt-win-reg.pl:180
+#: ../fish/guestfish.pod:152 ../fuse/guestmount.pod:94 ../inspector/virt-inspector.pl:83 ../tools/virt-edit.pl:81 ../tools/virt-win-reg.pl:180 ../tools/virt-df.pl:79 ../tools/virt-ls.pl:87 ../tools/virt-resize.pl:265 ../tools/virt-list-filesystems.pl:58 ../tools/virt-cat.pl:88 ../tools/virt-tar.pl:107 ../tools/virt-rescue.pl:111 ../tools/virt-make-fs.pl:161 ../tools/virt-list-partitions.pl:59
 msgid "B<--help>"
 msgstr ""
 
 # type: textblock
 msgid "B<--help>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:132
+#: ../fish/guestfish.pod:154
 msgid "Displays general help on options."
 msgstr ""
 
 # type: =item
 msgid "Displays general help on options."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:134
+#: ../fish/guestfish.pod:156
 msgid "B<-h> | B<--cmd-help>"
 msgstr ""
 
 # type: textblock
 msgid "B<-h> | B<--cmd-help>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:136
+#: ../fish/guestfish.pod:158
 msgid "Lists all available guestfish commands."
 msgstr ""
 
 # type: =item
 msgid "Lists all available guestfish commands."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:138
+#: ../fish/guestfish.pod:160
 msgid "B<-h cmd> | B<--cmd-help cmd>"
 msgstr ""
 
 # type: textblock
 msgid "B<-h cmd> | B<--cmd-help cmd>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:140
+#: ../fish/guestfish.pod:162
 msgid "Displays detailed help on a single command C<cmd>."
 msgstr ""
 
 # type: =item
 msgid "Displays detailed help on a single command C<cmd>."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:142 ../fuse/guestmount.pod:74
+#: ../fish/guestfish.pod:164 ../fuse/guestmount.pod:74
 msgid "B<-a image> | B<--add image>"
 msgstr ""
 
 # type: textblock
 msgid "B<-a image> | B<--add image>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:144
+#: ../fish/guestfish.pod:166
 msgid "Add a block device or virtual machine image to the shell."
 msgstr ""
 
 msgid "Add a block device or virtual machine image to the shell."
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish.pod:168
+msgid ""
+"The format of the disk image is auto-detected.  To override this and force a "
+"particular format use the I<--format=..> option."
+msgstr ""
+
 # type: =item
 # type: =item
-#: ../fish/guestfish.pod:146
+#: ../fish/guestfish.pod:171
 msgid "B<-c URI> | B<--connect URI>"
 msgstr ""
 
 # type: textblock
 msgid "B<-c URI> | B<--connect URI>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:148
+#: ../fish/guestfish.pod:173
 msgid ""
 "When used in conjunction with the I<-d> option, this specifies the libvirt "
 "URI to use.  The default is to use the default libvirt connection."
 msgstr ""
 
 # type: =item
 msgid ""
 "When used in conjunction with the I<-d> option, this specifies the libvirt "
 "URI to use.  The default is to use the default libvirt connection."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:152
+#: ../fish/guestfish.pod:177
 msgid "B<-d libvirt-domain> | B<--domain libvirt-domain>"
 msgstr ""
 
 # type: textblock
 msgid "B<-d libvirt-domain> | B<--domain libvirt-domain>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:154
+#: ../fish/guestfish.pod:179
 msgid ""
 "Add disks from the named libvirt domain.  If the I<--ro> option is also "
 "used, then any libvirt domain can be used.  However in write mode, only "
 msgid ""
 "Add disks from the named libvirt domain.  If the I<--ro> option is also "
 "used, then any libvirt domain can be used.  However in write mode, only "
@@ -14510,12 +15098,12 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:158
+#: ../fish/guestfish.pod:183
 msgid "B<-D> | B<--no-dest-paths>"
 msgstr ""
 
 # type: textblock
 msgid "B<-D> | B<--no-dest-paths>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:160
+#: ../fish/guestfish.pod:185
 msgid ""
 "Don't tab-complete paths on the guest filesystem.  It is useful to be able "
 "to hit the tab key to complete paths on the guest filesystem, but this "
 msgid ""
 "Don't tab-complete paths on the guest filesystem.  It is useful to be able "
 "to hit the tab key to complete paths on the guest filesystem, but this "
@@ -14524,17 +15112,31 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:165
+#: ../fish/guestfish.pod:190
+msgid "B<--echo-keys>"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:192
+msgid ""
+"When prompting for keys and passphrases, guestfish normally turns echoing "
+"off so you cannot see what you are typing.  If you are not worried about "
+"Tempest attacks and there is no one else in the room you can specify this "
+"flag to see what you are typing."
+msgstr ""
+
+# type: =item
+#: ../fish/guestfish.pod:197
 msgid "B<-f file> | B<--file file>"
 msgstr ""
 
 # type: textblock
 msgid "B<-f file> | B<--file file>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:167
+#: ../fish/guestfish.pod:199
 msgid "Read commands from C<file>.  To write pure guestfish scripts, use:"
 msgstr ""
 
 # type: verbatim
 msgid "Read commands from C<file>.  To write pure guestfish scripts, use:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:170
+#: ../fish/guestfish.pod:202
 #, no-wrap
 msgid ""
 " #!/usr/bin/guestfish -f\n"
 #, no-wrap
 msgid ""
 " #!/usr/bin/guestfish -f\n"
@@ -14542,38 +15144,93 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:172
-msgid "B<-i> | B<--inspector>"
+#: ../fish/guestfish.pod:204
+msgid "B<--format=raw|qcow2|..> | B<--format>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:174
+#: ../fish/guestfish.pod:206
 msgid ""
 msgid ""
-"Using L<virt-inspector(1)> code, inspect the disks looking for an operating "
-"system and mount filesystems as they would be mounted on the real virtual "
-"machine."
+"The default for the I<-a> option is to auto-detect the format of the disk "
+"image.  Using this forces the disk format for I<-a> options which follow on "
+"the command line.  Using I<--format> with no argument switches back to "
+"auto-detection for subsequent I<-a> options."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:178
-msgid "Typical usage is either:"
+#: ../fish/guestfish.pod:211 ../fish/guestfish.pod:504
+msgid "For example:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:180
+#: ../fish/guestfish.pod:213
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" guestfish -d myguest -i\n"
+" guestfish --format=raw -a disk.img\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:182
+#: ../fish/guestfish.pod:215
+msgid "forces raw format (no auto-detection) for C<disk.img>."
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish.pod:217
+#, no-wrap
+msgid ""
+" guestfish --format=raw -a disk.img --format -a another.img\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:219
+msgid ""
+"forces raw format (no auto-detection) for C<disk.img> and reverts to "
+"auto-detection for C<another.img>."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:222
+msgid ""
+"If you have untrusted raw-format guest disk images, you should use this "
+"option to specify the disk format.  This avoids a possible security problem "
+"with malicious guests (CVE-2010-3851).  See also L</add-drive-opts>."
+msgstr ""
+
+# type: =item
+#: ../fish/guestfish.pod:227
+msgid "B<-i> | B<--inspector>"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:229
+msgid ""
+"Using L<virt-inspector(1)> code, inspect the disks looking for an operating "
+"system and mount filesystems as they would be mounted on the real virtual "
+"machine."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:233
+msgid "Typical usage is either:"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish.pod:235
+#, no-wrap
+msgid ""
+" guestfish -d myguest -i\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:237
 msgid "(for an inactive libvirt domain called I<myguest>), or:"
 msgstr ""
 
 # type: verbatim
 msgid "(for an inactive libvirt domain called I<myguest>), or:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:184
+#: ../fish/guestfish.pod:239
 #, no-wrap
 msgid ""
 " guestfish --ro -d myguest -i\n"
 #, no-wrap
 msgid ""
 " guestfish --ro -d myguest -i\n"
@@ -14581,12 +15238,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:186
+#: ../fish/guestfish.pod:241
 msgid "(for active domains, readonly), or specify the block device directly:"
 msgstr ""
 
 # type: verbatim
 msgid "(for active domains, readonly), or specify the block device directly:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:188
+#: ../fish/guestfish.pod:243
 #, no-wrap
 msgid ""
 " guestfish -a /dev/Guests/MyGuest -i\n"
 #, no-wrap
 msgid ""
 " guestfish -a /dev/Guests/MyGuest -i\n"
@@ -14594,14 +15251,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:190
+#: ../fish/guestfish.pod:245
 msgid ""
 "Note that the command line syntax changed slightly over older versions of "
 "guestfish.  You can still use the old syntax:"
 msgstr ""
 
 # type: verbatim
 msgid ""
 "Note that the command line syntax changed slightly over older versions of "
 "guestfish.  You can still use the old syntax:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:193
+#: ../fish/guestfish.pod:248
 #, no-wrap
 msgid ""
 " guestfish [--ro] -i disk.img\n"
 #, no-wrap
 msgid ""
 " guestfish [--ro] -i disk.img\n"
@@ -14609,7 +15266,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:195
+#: ../fish/guestfish.pod:250
 #, no-wrap
 msgid ""
 " guestfish [--ro] -i libvirt-domain\n"
 #, no-wrap
 msgid ""
 " guestfish [--ro] -i libvirt-domain\n"
@@ -14617,58 +15274,58 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:197
+#: ../fish/guestfish.pod:252
 msgid "B<--keys-from-stdin>"
 msgstr ""
 
 # type: textblock
 msgid "B<--keys-from-stdin>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:199
+#: ../fish/guestfish.pod:254
 msgid ""
 "Read key or passphrase parameters from stdin.  The default is to try to read "
 "passphrases from the user by opening C</dev/tty>."
 msgstr ""
 
 # type: =item
 msgid ""
 "Read key or passphrase parameters from stdin.  The default is to try to read "
 "passphrases from the user by opening C</dev/tty>."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:202
+#: ../fish/guestfish.pod:257
 msgid "B<--listen>"
 msgstr ""
 
 # type: textblock
 msgid "B<--listen>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:204
+#: ../fish/guestfish.pod:259
 msgid ""
 "Fork into the background and listen for remote commands.  See section "
 "L</REMOTE CONTROL GUESTFISH OVER A SOCKET> below."
 msgstr ""
 
 # type: =item
 msgid ""
 "Fork into the background and listen for remote commands.  See section "
 "L</REMOTE CONTROL GUESTFISH OVER A SOCKET> below."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:207
+#: ../fish/guestfish.pod:262
 msgid "B<-m dev[:mountpoint]> | B<--mount dev[:mountpoint]>"
 msgstr ""
 
 # type: textblock
 msgid "B<-m dev[:mountpoint]> | B<--mount dev[:mountpoint]>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:209
+#: ../fish/guestfish.pod:264
 msgid "Mount the named partition or logical volume on the given mountpoint."
 msgstr ""
 
 # type: textblock
 msgid "Mount the named partition or logical volume on the given mountpoint."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:211
+#: ../fish/guestfish.pod:266
 msgid "If the mountpoint is omitted, it defaults to C</>."
 msgstr ""
 
 # type: textblock
 msgid "If the mountpoint is omitted, it defaults to C</>."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:213
+#: ../fish/guestfish.pod:268
 msgid "You have to mount something on C</> before most commands will work."
 msgstr ""
 
 # type: textblock
 msgid "You have to mount something on C</> before most commands will work."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:215
+#: ../fish/guestfish.pod:270
 msgid ""
 "If any I<-m> or I<--mount> options are given, the guest is automatically "
 "launched."
 msgstr ""
 
 # type: textblock
 msgid ""
 "If any I<-m> or I<--mount> options are given, the guest is automatically "
 "launched."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:218
+#: ../fish/guestfish.pod:273
 msgid ""
 "If you don't know what filesystems a disk image contains, you can either run "
 "guestfish without this option, then list the partitions and LVs available "
 msgid ""
 "If you don't know what filesystems a disk image contains, you can either run "
 "guestfish without this option, then list the partitions and LVs available "
@@ -14677,24 +15334,24 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:223 ../fuse/guestmount.pod:106
+#: ../fish/guestfish.pod:278 ../fuse/guestmount.pod:106
 msgid "B<-n> | B<--no-sync>"
 msgstr ""
 
 # type: textblock
 msgid "B<-n> | B<--no-sync>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:225
+#: ../fish/guestfish.pod:280
 msgid ""
 "Disable autosync.  This is enabled by default.  See the discussion of "
 "autosync in the L<guestfs(3)> manpage."
 msgstr ""
 
 # type: =item
 msgid ""
 "Disable autosync.  This is enabled by default.  See the discussion of "
 "autosync in the L<guestfs(3)> manpage."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:228
+#: ../fish/guestfish.pod:283
 msgid "B<-N type> | B<--new type> | B<-N help>"
 msgstr ""
 
 # type: textblock
 msgid "B<-N type> | B<--new type> | B<-N help>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:230
+#: ../fish/guestfish.pod:285
 msgid ""
 "Prepare a fresh disk image formatted as \"type\".  This is an alternative to "
 "the I<-a> option: whereas I<-a> adds an existing disk, I<-N> creates a "
 msgid ""
 "Prepare a fresh disk image formatted as \"type\".  This is an alternative to "
 "the I<-a> option: whereas I<-a> adds an existing disk, I<-N> creates a "
@@ -14703,58 +15360,58 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:235
+#: ../fish/guestfish.pod:290
 msgid "B<--progress-bars>"
 msgstr ""
 
 # type: textblock
 msgid "B<--progress-bars>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:237
+#: ../fish/guestfish.pod:292
 msgid "Enable progress bars, even when guestfish is used non-interactively."
 msgstr ""
 
 # type: textblock
 msgid "Enable progress bars, even when guestfish is used non-interactively."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:239
+#: ../fish/guestfish.pod:294
 msgid ""
 "Progress bars are enabled by default when guestfish is used as an "
 "interactive shell."
 msgstr ""
 
 # type: =item
 msgid ""
 "Progress bars are enabled by default when guestfish is used as an "
 "interactive shell."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:242
+#: ../fish/guestfish.pod:297
 msgid "B<--no-progress-bars>"
 msgstr ""
 
 # type: textblock
 msgid "B<--no-progress-bars>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:244
+#: ../fish/guestfish.pod:299
 msgid "Disable progress bars."
 msgstr ""
 
 # type: =item
 msgid "Disable progress bars."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:246
+#: ../fish/guestfish.pod:301
 msgid "B<--remote[=pid]>"
 msgstr ""
 
 # type: textblock
 msgid "B<--remote[=pid]>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:248
+#: ../fish/guestfish.pod:303
 msgid ""
 "Send remote commands to C<$GUESTFISH_PID> or C<pid>.  See section L</REMOTE "
 "CONTROL GUESTFISH OVER A SOCKET> below."
 msgstr ""
 
 # type: =item
 msgid ""
 "Send remote commands to C<$GUESTFISH_PID> or C<pid>.  See section L</REMOTE "
 "CONTROL GUESTFISH OVER A SOCKET> below."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:251 ../fuse/guestmount.pod:148
+#: ../fish/guestfish.pod:306 ../fuse/guestmount.pod:148
 msgid "B<-r> | B<--ro>"
 msgstr ""
 
 # type: textblock
 msgid "B<-r> | B<--ro>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:253
+#: ../fish/guestfish.pod:308
 msgid ""
 "This changes the I<-a> and I<-m> options so that disks are added and mounts "
 "are done read-only (see L<guestfs(3)/guestfs_mount_ro>)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This changes the I<-a> and I<-m> options so that disks are added and mounts "
 "are done read-only (see L<guestfs(3)/guestfs_mount_ro>)."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:256 ../tools/virt-rescue.pl:162
+#: ../fish/guestfish.pod:311 ../tools/virt-rescue.pl:179
 msgid ""
 "The option must always be used if the disk image or virtual machine might be "
 "running, and is generally recommended in cases where you don't need write "
 msgid ""
 "The option must always be used if the disk image or virtual machine might be "
 "running, and is generally recommended in cases where you don't need write "
@@ -14762,73 +15419,73 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:260
+#: ../fish/guestfish.pod:315
 msgid ""
 "Note that prepared disk images created with I<-N> are not affected by the "
 "I<--ro> option."
 msgstr ""
 
 # type: =item
 msgid ""
 "Note that prepared disk images created with I<-N> are not affected by the "
 "I<--ro> option."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:263 ../fuse/guestmount.pod:158 ../tools/virt-rescue.pl:170
+#: ../fish/guestfish.pod:318 ../fuse/guestmount.pod:158 ../tools/virt-rescue.pl:187
 msgid "B<--selinux>"
 msgstr ""
 
 # type: textblock
 msgid "B<--selinux>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:265
+#: ../fish/guestfish.pod:320
 msgid "Enable SELinux support for the guest.  See L<guestfs(3)/SELINUX>."
 msgstr ""
 
 # type: =item
 msgid "Enable SELinux support for the guest.  See L<guestfs(3)/SELINUX>."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:267 ../fuse/guestmount.pod:168
+#: ../fish/guestfish.pod:322 ../fuse/guestmount.pod:168
 msgid "B<-v> | B<--verbose>"
 msgstr ""
 
 # type: textblock
 msgid "B<-v> | B<--verbose>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:269
+#: ../fish/guestfish.pod:324
 msgid ""
 "Enable very verbose messages.  This is particularly useful if you find a "
 "bug."
 msgstr ""
 
 # type: =item
 msgid ""
 "Enable very verbose messages.  This is particularly useful if you find a "
 "bug."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:272 ../fuse/guestmount.pod:172
+#: ../fish/guestfish.pod:327 ../fuse/guestmount.pod:172
 msgid "B<-V> | B<--version>"
 msgstr ""
 
 # type: textblock
 msgid "B<-V> | B<--version>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:274
+#: ../fish/guestfish.pod:329
 msgid "Display the guestfish / libguestfs version number and exit."
 msgstr ""
 
 # type: =item
 msgid "Display the guestfish / libguestfs version number and exit."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:276
+#: ../fish/guestfish.pod:331
 msgid "B<-x>"
 msgstr ""
 
 # type: textblock
 msgid "B<-x>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:278
+#: ../fish/guestfish.pod:333
 msgid "Echo each command before executing it."
 msgstr ""
 
 # type: =head1
 msgid "Echo each command before executing it."
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:282
+#: ../fish/guestfish.pod:337
 msgid "COMMANDS ON COMMAND LINE"
 msgstr ""
 
 # type: textblock
 msgid "COMMANDS ON COMMAND LINE"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:284
+#: ../fish/guestfish.pod:339
 msgid "Any additional (non-option) arguments are treated as commands to execute."
 msgstr ""
 
 # type: textblock
 msgid "Any additional (non-option) arguments are treated as commands to execute."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:287
+#: ../fish/guestfish.pod:342
 msgid ""
 "Commands to execute should be separated by a colon (C<:>), where the colon "
 "is a separate parameter.  Thus:"
 msgstr ""
 
 # type: verbatim
 msgid ""
 "Commands to execute should be separated by a colon (C<:>), where the colon "
 "is a separate parameter.  Thus:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:290
+#: ../fish/guestfish.pod:345
 #, no-wrap
 msgid ""
 " guestfish cmd [args...] : cmd [args...] : cmd [args...] ...\n"
 #, no-wrap
 msgid ""
 " guestfish cmd [args...] : cmd [args...] : cmd [args...] ...\n"
@@ -14836,7 +15493,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:292
+#: ../fish/guestfish.pod:347
 msgid ""
 "If there are no additional arguments, then we enter a shell, either an "
 "interactive shell with a prompt (if the input is a terminal) or a "
 msgid ""
 "If there are no additional arguments, then we enter a shell, either an "
 "interactive shell with a prompt (if the input is a terminal) or a "
@@ -14844,7 +15501,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:296
+#: ../fish/guestfish.pod:351
 msgid ""
 "In either command line mode or non-interactive shell, the first command that "
 "gives an error causes the whole shell to exit.  In interactive mode (with a "
 msgid ""
 "In either command line mode or non-interactive shell, the first command that "
 "gives an error causes the whole shell to exit.  In interactive mode (with a "
@@ -14852,12 +15509,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:301
+#: ../fish/guestfish.pod:356
 msgid "USING launch (OR run)"
 msgstr ""
 
 # type: textblock
 msgid "USING launch (OR run)"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:303
+#: ../fish/guestfish.pod:358
 msgid ""
 "As with L<guestfs(3)>, you must first configure your guest by adding disks, "
 "then launch it, then mount any disks you need, and finally issue "
 msgid ""
 "As with L<guestfs(3)>, you must first configure your guest by adding disks, "
 "then launch it, then mount any disks you need, and finally issue "
@@ -14865,54 +15522,54 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:311
+#: ../fish/guestfish.pod:366
 msgid "add or -a/--add"
 msgstr ""
 
 # type: textblock
 msgid "add or -a/--add"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:315
+#: ../fish/guestfish.pod:370
 msgid "launch (aka run)"
 msgstr ""
 
 # type: textblock
 msgid "launch (aka run)"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:319
+#: ../fish/guestfish.pod:374
 msgid "mount or -m/--mount"
 msgstr ""
 
 # type: textblock
 msgid "mount or -m/--mount"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:323
+#: ../fish/guestfish.pod:378
 msgid "any other commands"
 msgstr ""
 
 # type: textblock
 msgid "any other commands"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:327
+#: ../fish/guestfish.pod:382
 msgid ""
 "C<run> is a synonym for C<launch>.  You must C<launch> (or C<run>)  your "
 "guest before mounting or performing any other commands."
 msgstr ""
 
 # type: textblock
 msgid ""
 "C<run> is a synonym for C<launch>.  You must C<launch> (or C<run>)  your "
 "guest before mounting or performing any other commands."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:330
+#: ../fish/guestfish.pod:385
 msgid ""
 msgid ""
-"The only exception is that if the I<-m> or I<--mount> option was given, the "
-"guest is automatically run for you (simply because guestfish can't mount the "
-"disks you asked for without doing this)."
+"The only exception is that if any of the I<-i>, I<-m>, I<--mount>, I<-N> or "
+"I<--new> options were given then C<run> is done automatically, simply "
+"because guestfish can't perform the action you asked for without doing this."
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:334
+#: ../fish/guestfish.pod:390
 msgid "QUOTING"
 msgstr ""
 
 # type: textblock
 msgid "QUOTING"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:336
+#: ../fish/guestfish.pod:392
 msgid ""
 "You can quote ordinary parameters using either single or double quotes.  For "
 "example:"
 msgstr ""
 
 # type: verbatim
 msgid ""
 "You can quote ordinary parameters using either single or double quotes.  For "
 "example:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:339
+#: ../fish/guestfish.pod:395
 #, no-wrap
 msgid ""
 " add \"file with a space.img\"\n"
 #, no-wrap
 msgid ""
 " add \"file with a space.img\"\n"
@@ -14920,7 +15577,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:341
+#: ../fish/guestfish.pod:397
 #, no-wrap
 msgid ""
 " rm '/file name'\n"
 #, no-wrap
 msgid ""
 " rm '/file name'\n"
@@ -14928,7 +15585,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:343
+#: ../fish/guestfish.pod:399
 #, no-wrap
 msgid ""
 " rm '/\"'\n"
 #, no-wrap
 msgid ""
 " rm '/\"'\n"
@@ -14936,7 +15593,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:345
+#: ../fish/guestfish.pod:401
 msgid ""
 "A few commands require a list of strings to be passed.  For these, use a "
 "whitespace-separated list, enclosed in quotes.  Strings containing "
 msgid ""
 "A few commands require a list of strings to be passed.  For these, use a "
 "whitespace-separated list, enclosed in quotes.  Strings containing "
@@ -14945,7 +15602,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:350
+#: ../fish/guestfish.pod:406
 #, no-wrap
 msgid ""
 " vgcreate VG \"/dev/sda1 /dev/sdb1\"\n"
 #, no-wrap
 msgid ""
 " vgcreate VG \"/dev/sda1 /dev/sdb1\"\n"
@@ -14955,194 +15612,232 @@ msgid ""
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:354
+#: ../fish/guestfish.pod:410
+msgid "OPTIONAL ARGUMENTS"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:412
+msgid ""
+"Some commands take optional arguments.  These arguments appear in this "
+"documentation as C<[argname:..]>.  You can use them as in these examples:"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish.pod:416
+#, no-wrap
+msgid ""
+" add-drive-opts filename\n"
+"\n"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish.pod:418
+#, no-wrap
+msgid ""
+" add-drive-opts filename readonly:true\n"
+"\n"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish.pod:420
+#, no-wrap
+msgid ""
+" add-drive-opts filename format:qcow2 readonly:false\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:422
+msgid ""
+"Each optional argument can appear at most once.  All optional arguments must "
+"appear after the required ones."
+msgstr ""
+
+# type: =head1
+#: ../fish/guestfish.pod:425
 msgid "NUMBERS"
 msgstr ""
 
 # type: textblock
 msgid "NUMBERS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:356
+#: ../fish/guestfish.pod:427
 msgid "This section applies to all commands which can take integers as parameters."
 msgstr ""
 
 # type: =head2
 msgid "This section applies to all commands which can take integers as parameters."
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:359
+#: ../fish/guestfish.pod:430
 msgid "SIZE SUFFIX"
 msgstr ""
 
 # type: textblock
 msgid "SIZE SUFFIX"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:361
+#: ../fish/guestfish.pod:432
 msgid ""
 "When the command takes a parameter measured in bytes, you can use one of the "
 "following suffixes to specify kilobytes, megabytes and larger sizes:"
 msgstr ""
 
 # type: =item
 msgid ""
 "When the command takes a parameter measured in bytes, you can use one of the "
 "following suffixes to specify kilobytes, megabytes and larger sizes:"
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:367
+#: ../fish/guestfish.pod:438
 msgid "B<k> or B<K> or B<KiB>"
 msgstr ""
 
 # type: textblock
 msgid "B<k> or B<K> or B<KiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:369
+#: ../fish/guestfish.pod:440
 msgid "The size in kilobytes (multiplied by 1024)."
 msgstr ""
 
 # type: =item
 msgid "The size in kilobytes (multiplied by 1024)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:371
+#: ../fish/guestfish.pod:442
 msgid "B<KB>"
 msgstr ""
 
 # type: textblock
 msgid "B<KB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:373
+#: ../fish/guestfish.pod:444
 msgid "The size in SI 1000 byte units."
 msgstr ""
 
 # type: =item
 msgid "The size in SI 1000 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:375
+#: ../fish/guestfish.pod:446
 msgid "B<M> or B<MiB>"
 msgstr ""
 
 # type: textblock
 msgid "B<M> or B<MiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:377
+#: ../fish/guestfish.pod:448
 msgid "The size in megabytes (multiplied by 1048576)."
 msgstr ""
 
 # type: =item
 msgid "The size in megabytes (multiplied by 1048576)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:379
+#: ../fish/guestfish.pod:450
 msgid "B<MB>"
 msgstr ""
 
 # type: textblock
 msgid "B<MB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:381
+#: ../fish/guestfish.pod:452
 msgid "The size in SI 1000000 byte units."
 msgstr ""
 
 # type: =item
 msgid "The size in SI 1000000 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:383
+#: ../fish/guestfish.pod:454
 msgid "B<G> or B<GiB>"
 msgstr ""
 
 # type: textblock
 msgid "B<G> or B<GiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:385
+#: ../fish/guestfish.pod:456
 msgid "The size in gigabytes (multiplied by 2**30)."
 msgstr ""
 
 # type: =item
 msgid "The size in gigabytes (multiplied by 2**30)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:387
+#: ../fish/guestfish.pod:458
 msgid "B<GB>"
 msgstr ""
 
 # type: textblock
 msgid "B<GB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:389
+#: ../fish/guestfish.pod:460
 msgid "The size in SI 10**9 byte units."
 msgstr ""
 
 # type: =item
 msgid "The size in SI 10**9 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:391
+#: ../fish/guestfish.pod:462
 msgid "B<T> or B<TiB>"
 msgstr ""
 
 # type: textblock
 msgid "B<T> or B<TiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:393
+#: ../fish/guestfish.pod:464
 msgid "The size in terabytes (multiplied by 2**40)."
 msgstr ""
 
 # type: =item
 msgid "The size in terabytes (multiplied by 2**40)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:395
+#: ../fish/guestfish.pod:466
 msgid "B<TB>"
 msgstr ""
 
 # type: textblock
 msgid "B<TB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:397
+#: ../fish/guestfish.pod:468
 msgid "The size in SI 10**12 byte units."
 msgstr ""
 
 # type: =item
 msgid "The size in SI 10**12 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:399
+#: ../fish/guestfish.pod:470
 msgid "B<P> or B<PiB>"
 msgstr ""
 
 # type: textblock
 msgid "B<P> or B<PiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:401
+#: ../fish/guestfish.pod:472
 msgid "The size in petabytes (multiplied by 2**50)."
 msgstr ""
 
 # type: =item
 msgid "The size in petabytes (multiplied by 2**50)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:403
+#: ../fish/guestfish.pod:474
 msgid "B<PB>"
 msgstr ""
 
 # type: textblock
 msgid "B<PB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:405
+#: ../fish/guestfish.pod:476
 msgid "The size in SI 10**15 byte units."
 msgstr ""
 
 # type: =item
 msgid "The size in SI 10**15 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:407
+#: ../fish/guestfish.pod:478
 msgid "B<E> or B<EiB>"
 msgstr ""
 
 # type: textblock
 msgid "B<E> or B<EiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:409
+#: ../fish/guestfish.pod:480
 msgid "The size in exabytes (multiplied by 2**60)."
 msgstr ""
 
 # type: =item
 msgid "The size in exabytes (multiplied by 2**60)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:411
+#: ../fish/guestfish.pod:482
 msgid "B<EB>"
 msgstr ""
 
 # type: textblock
 msgid "B<EB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:413
+#: ../fish/guestfish.pod:484
 msgid "The size in SI 10**18 byte units."
 msgstr ""
 
 # type: =item
 msgid "The size in SI 10**18 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:415
+#: ../fish/guestfish.pod:486
 msgid "B<Z> or B<ZiB>"
 msgstr ""
 
 # type: textblock
 msgid "B<Z> or B<ZiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:417
+#: ../fish/guestfish.pod:488
 msgid "The size in zettabytes (multiplied by 2**70)."
 msgstr ""
 
 # type: =item
 msgid "The size in zettabytes (multiplied by 2**70)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:419
+#: ../fish/guestfish.pod:490
 msgid "B<ZB>"
 msgstr ""
 
 # type: textblock
 msgid "B<ZB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:421
+#: ../fish/guestfish.pod:492
 msgid "The size in SI 10**21 byte units."
 msgstr ""
 
 # type: =item
 msgid "The size in SI 10**21 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:423
+#: ../fish/guestfish.pod:494
 msgid "B<Y> or B<YiB>"
 msgstr ""
 
 # type: textblock
 msgid "B<Y> or B<YiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:425
+#: ../fish/guestfish.pod:496
 msgid "The size in yottabytes (multiplied by 2**80)."
 msgstr ""
 
 # type: =item
 msgid "The size in yottabytes (multiplied by 2**80)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:427
+#: ../fish/guestfish.pod:498
 msgid "B<YB>"
 msgstr ""
 
 # type: textblock
 msgid "B<YB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:429
+#: ../fish/guestfish.pod:500
 msgid "The size in SI 10**24 byte units."
 msgstr ""
 
 msgid "The size in SI 10**24 byte units."
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish.pod:433
-msgid "For example:"
-msgstr ""
-
 # type: verbatim
 # type: verbatim
-#: ../fish/guestfish.pod:435
+#: ../fish/guestfish.pod:506
 #, no-wrap
 msgid ""
 " truncate-size /file 1G\n"
 #, no-wrap
 msgid ""
 " truncate-size /file 1G\n"
@@ -15150,12 +15845,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:437
+#: ../fish/guestfish.pod:508
 msgid "would truncate the file to 1 gigabyte."
 msgstr ""
 
 # type: textblock
 msgid "would truncate the file to 1 gigabyte."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:439
+#: ../fish/guestfish.pod:510
 msgid ""
 "Be careful because a few commands take sizes in kilobytes or megabytes "
 "(eg. the parameter to L</memsize> is specified in megabytes already).  "
 msgid ""
 "Be careful because a few commands take sizes in kilobytes or megabytes "
 "(eg. the parameter to L</memsize> is specified in megabytes already).  "
@@ -15163,19 +15858,19 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:443
+#: ../fish/guestfish.pod:514
 msgid "OCTAL AND HEXADECIMAL NUMBERS"
 msgstr ""
 
 # type: textblock
 msgid "OCTAL AND HEXADECIMAL NUMBERS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:445
+#: ../fish/guestfish.pod:516
 msgid ""
 "For specifying the radix (base) use the C convention: C<0> to prefix an "
 "octal number or C<0x> to prefix a hexadecimal number.  For example:"
 msgstr ""
 
 # type: verbatim
 msgid ""
 "For specifying the radix (base) use the C convention: C<0> to prefix an "
 "octal number or C<0x> to prefix a hexadecimal number.  For example:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:448
+#: ../fish/guestfish.pod:519
 #, no-wrap
 msgid ""
 " 1234      decimal number 1234\n"
 #, no-wrap
 msgid ""
 " 1234      decimal number 1234\n"
@@ -15185,7 +15880,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:452
+#: ../fish/guestfish.pod:523
 msgid ""
 "When using the C<chmod> command, you almost always want to specify an octal "
 "number for the mode, and you must prefix it with C<0> (unlike the Unix "
 msgid ""
 "When using the C<chmod> command, you almost always want to specify an octal "
 "number for the mode, and you must prefix it with C<0> (unlike the Unix "
@@ -15193,7 +15888,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:456
+#: ../fish/guestfish.pod:527
 #, no-wrap
 msgid ""
 " chmod 0777 /public  # OK\n"
 #, no-wrap
 msgid ""
 " chmod 0777 /public  # OK\n"
@@ -15202,7 +15897,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:459
+#: ../fish/guestfish.pod:530
 msgid ""
 "Commands that return numbers usually print them in decimal, but some "
 "commands print numbers in other radices (eg. C<umask> prints the mode in "
 msgid ""
 "Commands that return numbers usually print them in decimal, but some "
 "commands print numbers in other radices (eg. C<umask> prints the mode in "
@@ -15210,12 +15905,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:463
+#: ../fish/guestfish.pod:534
 msgid "WILDCARDS AND GLOBBING"
 msgstr ""
 
 # type: textblock
 msgid "WILDCARDS AND GLOBBING"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:465
+#: ../fish/guestfish.pod:536
 msgid ""
 "Neither guestfish nor the underlying guestfs API performs wildcard expansion "
 "(globbing) by default.  So for example the following will not do what you "
 msgid ""
 "Neither guestfish nor the underlying guestfs API performs wildcard expansion "
 "(globbing) by default.  So for example the following will not do what you "
@@ -15223,7 +15918,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:469
+#: ../fish/guestfish.pod:540
 #, no-wrap
 msgid ""
 " rm-rf /home/*\n"
 #, no-wrap
 msgid ""
 " rm-rf /home/*\n"
@@ -15231,19 +15926,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:471
+#: ../fish/guestfish.pod:542
 msgid ""
 msgid ""
-"Assuming you don't have a directory literally called C</home/*> then the "
+"Assuming you don't have a directory called literally C</home/*> then the "
 "above command will return an error."
 msgstr ""
 
 # type: textblock
 "above command will return an error."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:474
+#: ../fish/guestfish.pod:545
 msgid "To perform wildcard expansion, use the C<glob> command."
 msgstr ""
 
 # type: verbatim
 msgid "To perform wildcard expansion, use the C<glob> command."
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:476
+#: ../fish/guestfish.pod:547
 #, no-wrap
 msgid ""
 " glob rm-rf /home/*\n"
 #, no-wrap
 msgid ""
 " glob rm-rf /home/*\n"
@@ -15251,14 +15946,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:478
+#: ../fish/guestfish.pod:549
 msgid ""
 "runs C<rm-rf> on each path that matches (ie. potentially running the command "
 "many times), equivalent to:"
 msgstr ""
 
 # type: verbatim
 msgid ""
 "runs C<rm-rf> on each path that matches (ie. potentially running the command "
 "many times), equivalent to:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:481
+#: ../fish/guestfish.pod:552
 #, no-wrap
 msgid ""
 " rm-rf /home/jim\n"
 #, no-wrap
 msgid ""
 " rm-rf /home/jim\n"
@@ -15268,24 +15963,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:485
+#: ../fish/guestfish.pod:556
 msgid "C<glob> only works on simple guest paths and not on device names."
 msgstr ""
 
 # type: textblock
 msgid "C<glob> only works on simple guest paths and not on device names."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:487
+#: ../fish/guestfish.pod:558
 msgid ""
 "If you have several parameters, each containing a wildcard, then glob will "
 msgid ""
 "If you have several parameters, each containing a wildcard, then glob will "
-"perform a cartesian product."
+"perform a Cartesian product."
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:490
+#: ../fish/guestfish.pod:561
 msgid "COMMENTS"
 msgstr ""
 
 # type: textblock
 msgid "COMMENTS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:492
+#: ../fish/guestfish.pod:563
 msgid ""
 "Any line which starts with a I<#> character is treated as a comment and "
 "ignored.  The I<#> can optionally be preceeded by whitespace, but B<not> by "
 msgid ""
 "Any line which starts with a I<#> character is treated as a comment and "
 "ignored.  The I<#> can optionally be preceeded by whitespace, but B<not> by "
@@ -15293,7 +15988,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:496
+#: ../fish/guestfish.pod:567
 #, no-wrap
 msgid ""
 " # this is a comment\n"
 #, no-wrap
 msgid ""
 " # this is a comment\n"
@@ -15303,24 +15998,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:500
+#: ../fish/guestfish.pod:571
 msgid "Blank lines are also ignored."
 msgstr ""
 
 # type: =head1
 msgid "Blank lines are also ignored."
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:502
+#: ../fish/guestfish.pod:573
 msgid "RUNNING COMMANDS LOCALLY"
 msgstr ""
 
 # type: textblock
 msgid "RUNNING COMMANDS LOCALLY"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:504
+#: ../fish/guestfish.pod:575
 msgid ""
 "Any line which starts with a I<!> character is treated as a command sent to "
 "the local shell (C</bin/sh> or whatever L<system(3)> uses).  For example:"
 msgstr ""
 
 # type: verbatim
 msgid ""
 "Any line which starts with a I<!> character is treated as a command sent to "
 "the local shell (C</bin/sh> or whatever L<system(3)> uses).  For example:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:508
+#: ../fish/guestfish.pod:579
 #, no-wrap
 msgid ""
 " !mkdir local\n"
 #, no-wrap
 msgid ""
 " !mkdir local\n"
@@ -15329,7 +16024,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:511
+#: ../fish/guestfish.pod:582
 msgid ""
 "will create a directory C<local> on the host, and then export the contents "
 "of C</remote> on the mounted filesystem to C<local/remote-data.tar.gz>.  "
 msgid ""
 "will create a directory C<local> on the host, and then export the contents "
 "of C</remote> on the mounted filesystem to C<local/remote-data.tar.gz>.  "
@@ -15337,19 +16032,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:515
+#: ../fish/guestfish.pod:586
 msgid ""
 "To change the local directory, use the C<lcd> command.  C<!cd> will have no "
 "effect, due to the way that subprocesses work in Unix."
 msgstr ""
 
 # type: =head1
 msgid ""
 "To change the local directory, use the C<lcd> command.  C<!cd> will have no "
 "effect, due to the way that subprocesses work in Unix."
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:518
+#: ../fish/guestfish.pod:589
 msgid "PIPES"
 msgstr ""
 
 # type: textblock
 msgid "PIPES"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:520
+#: ../fish/guestfish.pod:591
 msgid ""
 "Use C<command E<lt>spaceE<gt> | command> to pipe the output of the first "
 "command (a guestfish command) to the second command (any host command).  For "
 msgid ""
 "Use C<command E<lt>spaceE<gt> | command> to pipe the output of the first "
 "command (a guestfish command) to the second command (any host command).  For "
@@ -15357,7 +16052,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:524
+#: ../fish/guestfish.pod:595
 #, no-wrap
 msgid ""
 " cat /etc/passwd | awk -F: '$3 == 0 { print }'\n"
 #, no-wrap
 msgid ""
 " cat /etc/passwd | awk -F: '$3 == 0 { print }'\n"
@@ -15365,7 +16060,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:526
+#: ../fish/guestfish.pod:597
 msgid ""
 "(where C<cat> is the guestfish cat command, but C<awk> is the host awk "
 "program).  The above command would list all accounts in the guest filesystem "
 msgid ""
 "(where C<cat> is the guestfish cat command, but C<awk> is the host awk "
 "program).  The above command would list all accounts in the guest filesystem "
@@ -15373,7 +16068,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:531
+#: ../fish/guestfish.pod:602
 #, no-wrap
 msgid ""
 " hexdump /bin/ls | head\n"
 #, no-wrap
 msgid ""
 " hexdump /bin/ls | head\n"
@@ -15383,7 +16078,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:535
+#: ../fish/guestfish.pod:606
 msgid ""
 "The space before the pipe symbol is required, any space after the pipe "
 "symbol is optional.  Everything after the pipe symbol is just passed "
 msgid ""
 "The space before the pipe symbol is required, any space after the pipe "
 "symbol is optional.  Everything after the pipe symbol is just passed "
@@ -15392,14 +16087,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:540
+#: ../fish/guestfish.pod:611
 msgid ""
 "To use a literal argument which begins with a pipe symbol, you have to quote "
 "it, eg:"
 msgstr ""
 
 # type: verbatim
 msgid ""
 "To use a literal argument which begins with a pipe symbol, you have to quote "
 "it, eg:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:543
+#: ../fish/guestfish.pod:614
 #, no-wrap
 msgid ""
 " echo \"|\"\n"
 #, no-wrap
 msgid ""
 " echo \"|\"\n"
@@ -15407,12 +16102,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:545
+#: ../fish/guestfish.pod:616
 msgid "HOME DIRECTORIES"
 msgstr ""
 
 # type: textblock
 msgid "HOME DIRECTORIES"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:547
+#: ../fish/guestfish.pod:618
 msgid ""
 "If a parameter starts with the character C<~> then the tilde may be expanded "
 "as a home directory path (either C<~> for the current user's home directory, "
 msgid ""
 "If a parameter starts with the character C<~> then the tilde may be expanded "
 "as a home directory path (either C<~> for the current user's home directory, "
@@ -15420,21 +16115,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:551
+#: ../fish/guestfish.pod:622
 msgid ""
 "Note that home directory expansion happens for users known I<on the host>, "
 "not in the guest filesystem."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Note that home directory expansion happens for users known I<on the host>, "
 "not in the guest filesystem."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:554
+#: ../fish/guestfish.pod:625
 msgid ""
 "To use a literal argument which begins with a tilde, you have to quote it, "
 "eg:"
 msgstr ""
 
 # type: verbatim
 msgid ""
 "To use a literal argument which begins with a tilde, you have to quote it, "
 "eg:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:557
+#: ../fish/guestfish.pod:628
 #, no-wrap
 msgid ""
 " echo \"~\"\n"
 #, no-wrap
 msgid ""
 " echo \"~\"\n"
@@ -15442,7 +16137,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:561
+#: ../fish/guestfish.pod:632
 msgid ""
 "Libguestfs has some support for Linux guests encrypted according to the "
 "Linux Unified Key Setup (LUKS) standard, which includes nearly all whole "
 msgid ""
 "Libguestfs has some support for Linux guests encrypted according to the "
 "Linux Unified Key Setup (LUKS) standard, which includes nearly all whole "
@@ -15451,12 +16146,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:566
+#: ../fish/guestfish.pod:637
 msgid "Identify encrypted block devices and partitions using L</vfs-type>:"
 msgstr ""
 
 # type: verbatim
 msgid "Identify encrypted block devices and partitions using L</vfs-type>:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:568
+#: ../fish/guestfish.pod:639
 #, no-wrap
 msgid ""
 " ><fs> vfs-type /dev/sda2\n"
 #, no-wrap
 msgid ""
 " ><fs> vfs-type /dev/sda2\n"
@@ -15465,14 +16160,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:571
+#: ../fish/guestfish.pod:642
 msgid ""
 "Then open those devices using L</luks-open>.  This creates a device-mapper "
 "device called C</dev/mapper/luksdev>."
 msgstr ""
 
 # type: verbatim
 msgid ""
 "Then open those devices using L</luks-open>.  This creates a device-mapper "
 "device called C</dev/mapper/luksdev>."
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:574
+#: ../fish/guestfish.pod:645
 #, no-wrap
 msgid ""
 " ><fs> luks-open /dev/sda2 luksdev\n"
 #, no-wrap
 msgid ""
 " ><fs> luks-open /dev/sda2 luksdev\n"
@@ -15481,28 +16176,28 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:577
+#: ../fish/guestfish.pod:648
 msgid ""
 "Finally you have to tell LVM to scan for volume groups on the newly created "
 "mapper device:"
 msgstr ""
 
 # type: verbatim
 msgid ""
 "Finally you have to tell LVM to scan for volume groups on the newly created "
 "mapper device:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:580
+#: ../fish/guestfish.pod:651
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" ><fs> vgscan\n"
-" ><fs> vg-activate-all true\n"
+" vgscan\n"
+" vg-activate-all true\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:583
+#: ../fish/guestfish.pod:654
 msgid "The logical volume(s) can now be mounted in the usual way."
 msgstr ""
 
 # type: textblock
 msgid "The logical volume(s) can now be mounted in the usual way."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:585
+#: ../fish/guestfish.pod:656
 msgid ""
 "Before closing a LUKS device you must unmount any logical volumes on it and "
 "deactivate the volume groups by calling C<vg-activate false VG> on each "
 msgid ""
 "Before closing a LUKS device you must unmount any logical volumes on it and "
 "deactivate the volume groups by calling C<vg-activate false VG> on each "
@@ -15510,28 +16205,28 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:589
+#: ../fish/guestfish.pod:660
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" ><fs> vg-activate false /dev/VG\n"
-" ><fs> luks-close /dev/mapper/luksdev\n"
+" vg-activate false /dev/VG\n"
+" luks-close /dev/mapper/luksdev\n"
 "\n"
 msgstr ""
 
 # type: =head1
 "\n"
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:592
+#: ../fish/guestfish.pod:663
 msgid "WINDOWS PATHS"
 msgstr ""
 
 # type: textblock
 msgid "WINDOWS PATHS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:594
+#: ../fish/guestfish.pod:665
 msgid ""
 "If a path is prefixed with C<win:> then you can use Windows-style paths "
 "(with some limitations).  The following commands are equivalent:"
 msgstr ""
 
 # type: verbatim
 msgid ""
 "If a path is prefixed with C<win:> then you can use Windows-style paths "
 "(with some limitations).  The following commands are equivalent:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:597
+#: ../fish/guestfish.pod:668
 #, no-wrap
 msgid ""
 " file /WINDOWS/system32/config/system.LOG\n"
 #, no-wrap
 msgid ""
 " file /WINDOWS/system32/config/system.LOG\n"
@@ -15539,7 +16234,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:599
+#: ../fish/guestfish.pod:670
 #, no-wrap
 msgid ""
 " file win:/windows/system32/config/system.log\n"
 #, no-wrap
 msgid ""
 " file win:/windows/system32/config/system.log\n"
@@ -15547,7 +16242,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:601
+#: ../fish/guestfish.pod:672
 #, no-wrap
 msgid ""
 " file win:\\windows\\system32\\config\\system.log\n"
 #, no-wrap
 msgid ""
 " file win:\\windows\\system32\\config\\system.log\n"
@@ -15555,7 +16250,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:603
+#: ../fish/guestfish.pod:674
 #, no-wrap
 msgid ""
 " file WIN:C:\\Windows\\SYSTEM32\\conFIG\\SYSTEM.LOG\n"
 #, no-wrap
 msgid ""
 " file WIN:C:\\Windows\\SYSTEM32\\conFIG\\SYSTEM.LOG\n"
@@ -15563,7 +16258,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:605
+#: ../fish/guestfish.pod:676
 msgid ""
 "This syntax implicitly calls C<case-sensitive-path> (q.v.) so it also "
 "handles case insensitivity like Windows would.  This only works in argument "
 msgid ""
 "This syntax implicitly calls C<case-sensitive-path> (q.v.) so it also "
 "handles case insensitivity like Windows would.  This only works in argument "
@@ -15571,12 +16266,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:609
+#: ../fish/guestfish.pod:680
 msgid "UPLOADING AND DOWNLOADING FILES"
 msgstr ""
 
 # type: textblock
 msgid "UPLOADING AND DOWNLOADING FILES"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:611
+#: ../fish/guestfish.pod:682
 msgid ""
 "For commands such as C<upload>, C<download>, C<tar-in>, C<tar-out> and "
 "others which upload from or download to a local file, you can use the "
 msgid ""
 "For commands such as C<upload>, C<download>, C<tar-in>, C<tar-out> and "
 "others which upload from or download to a local file, you can use the "
@@ -15584,7 +16279,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:615
+#: ../fish/guestfish.pod:686
 #, no-wrap
 msgid ""
 " upload - /foo\n"
 #, no-wrap
 msgid ""
 " upload - /foo\n"
@@ -15592,12 +16287,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:617
+#: ../fish/guestfish.pod:688
 msgid "reads stdin and creates from that a file C</foo> in the disk image, and:"
 msgstr ""
 
 # type: verbatim
 msgid "reads stdin and creates from that a file C</foo> in the disk image, and:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:620
+#: ../fish/guestfish.pod:691
 #, no-wrap
 msgid ""
 " tar-out /etc - | tar tf -\n"
 #, no-wrap
 msgid ""
 " tar-out /etc - | tar tf -\n"
@@ -15605,14 +16300,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:622
+#: ../fish/guestfish.pod:693
 msgid ""
 "writes the tarball to stdout and then pipes that into the external \"tar\" "
 "command (see L</PIPES>)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "writes the tarball to stdout and then pipes that into the external \"tar\" "
 "command (see L</PIPES>)."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:625
+#: ../fish/guestfish.pod:696
 msgid ""
 "When using C<-> to read from stdin, the input is read up to the end of "
 "stdin.  You can also use a special \"heredoc\"-like syntax to read up to "
 msgid ""
 "When using C<-> to read from stdin, the input is read up to the end of "
 "stdin.  You can also use a special \"heredoc\"-like syntax to read up to "
@@ -15620,7 +16315,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:629
+#: ../fish/guestfish.pod:700
 #, no-wrap
 msgid ""
 " upload -<<END /foo\n"
 #, no-wrap
 msgid ""
 " upload -<<END /foo\n"
@@ -15632,7 +16327,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:635
+#: ../fish/guestfish.pod:706
 msgid ""
 "Any string of characters can be used instead of C<END>.  The end marker must "
 "appear on a line of its own, without any preceeding or following characters "
 msgid ""
 "Any string of characters can be used instead of C<END>.  The end marker must "
 "appear on a line of its own, without any preceeding or following characters "
@@ -15640,19 +16335,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:639
+#: ../fish/guestfish.pod:710
 msgid ""
 "Note that the C<-E<lt>E<lt>> syntax only applies to parameters used to "
 "upload local files (so-called \"FileIn\" parameters in the generator)."
 msgstr ""
 
 # type: =head1
 msgid ""
 "Note that the C<-E<lt>E<lt>> syntax only applies to parameters used to "
 "upload local files (so-called \"FileIn\" parameters in the generator)."
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:642
+#: ../fish/guestfish.pod:713
 msgid "EXIT ON ERROR BEHAVIOUR"
 msgstr ""
 
 # type: textblock
 msgid "EXIT ON ERROR BEHAVIOUR"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:644
+#: ../fish/guestfish.pod:715
 msgid ""
 "By default, guestfish will ignore any errors when in interactive mode "
 "(ie. taking commands from a human over a tty), and will exit on the first "
 msgid ""
 "By default, guestfish will ignore any errors when in interactive mode "
 "(ie. taking commands from a human over a tty), and will exit on the first "
@@ -15660,19 +16355,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:649
+#: ../fish/guestfish.pod:720
 msgid ""
 "If you prefix a command with a I<-> character, then that command will not "
 "cause guestfish to exit, even if that (one) command returns an error."
 msgstr ""
 
 # type: =head1
 msgid ""
 "If you prefix a command with a I<-> character, then that command will not "
 "cause guestfish to exit, even if that (one) command returns an error."
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:653
+#: ../fish/guestfish.pod:724
 msgid "REMOTE CONTROL GUESTFISH OVER A SOCKET"
 msgstr ""
 
 # type: textblock
 msgid "REMOTE CONTROL GUESTFISH OVER A SOCKET"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:655
+#: ../fish/guestfish.pod:726
 msgid ""
 "Guestfish can be remote-controlled over a socket.  This is useful "
 "particularly in shell scripts where you want to make several different "
 msgid ""
 "Guestfish can be remote-controlled over a socket.  This is useful "
 "particularly in shell scripts where you want to make several different "
@@ -15681,12 +16376,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:660
+#: ../fish/guestfish.pod:731
 msgid "Start a guestfish server process using:"
 msgstr ""
 
 # type: verbatim
 msgid "Start a guestfish server process using:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:662
+#: ../fish/guestfish.pod:733
 #, no-wrap
 msgid ""
 " eval `guestfish --listen`\n"
 #, no-wrap
 msgid ""
 " eval `guestfish --listen`\n"
@@ -15694,12 +16389,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:664
+#: ../fish/guestfish.pod:735
 msgid "and then send it commands by doing:"
 msgstr ""
 
 # type: verbatim
 msgid "and then send it commands by doing:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:666
+#: ../fish/guestfish.pod:737
 #, no-wrap
 msgid ""
 " guestfish --remote cmd [...]\n"
 #, no-wrap
 msgid ""
 " guestfish --remote cmd [...]\n"
@@ -15707,12 +16402,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:668
+#: ../fish/guestfish.pod:739
 msgid "To cause the server to exit, send it the exit command:"
 msgstr ""
 
 # type: verbatim
 msgid "To cause the server to exit, send it the exit command:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:670
+#: ../fish/guestfish.pod:741
 #, no-wrap
 msgid ""
 " guestfish --remote exit\n"
 #, no-wrap
 msgid ""
 " guestfish --remote exit\n"
@@ -15720,7 +16415,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:672
+#: ../fish/guestfish.pod:743
 msgid ""
 "Note that the server will normally exit if there is an error in a command.  "
 "You can change this in the usual way.  See section L</EXIT ON ERROR "
 msgid ""
 "Note that the server will normally exit if there is an error in a command.  "
 "You can change this in the usual way.  See section L</EXIT ON ERROR "
@@ -15728,12 +16423,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:676
+#: ../fish/guestfish.pod:747
 msgid "CONTROLLING MULTIPLE GUESTFISH PROCESSES"
 msgstr ""
 
 # type: textblock
 msgid "CONTROLLING MULTIPLE GUESTFISH PROCESSES"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:678
+#: ../fish/guestfish.pod:749
 msgid ""
 "The C<eval> statement sets the environment variable C<$GUESTFISH_PID>, which "
 "is how the I<--remote> option knows where to send the commands.  You can "
 msgid ""
 "The C<eval> statement sets the environment variable C<$GUESTFISH_PID>, which "
 "is how the I<--remote> option knows where to send the commands.  You can "
@@ -15741,7 +16436,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:682
+#: ../fish/guestfish.pod:753
 #, no-wrap
 msgid ""
 " eval `guestfish --listen`\n"
 #, no-wrap
 msgid ""
 " eval `guestfish --listen`\n"
@@ -15755,12 +16450,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:690
+#: ../fish/guestfish.pod:761
 msgid "REMOTE CONTROL DETAILS"
 msgstr ""
 
 # type: textblock
 msgid "REMOTE CONTROL DETAILS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:692
+#: ../fish/guestfish.pod:763
 msgid ""
 "Remote control happens over a Unix domain socket called "
 "C</tmp/.guestfish-$UID/socket-$PID>, where C<$UID> is the effective user ID "
 msgid ""
 "Remote control happens over a Unix domain socket called "
 "C</tmp/.guestfish-$UID/socket-$PID>, where C<$UID> is the effective user ID "
@@ -15768,17 +16463,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:696
+#: ../fish/guestfish.pod:767
 msgid "Guestfish client and server versions must match exactly."
 msgstr ""
 
 # type: =head1
 msgid "Guestfish client and server versions must match exactly."
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:698
+#: ../fish/guestfish.pod:769
 msgid "PREPARED DISK IMAGES"
 msgstr ""
 
 # type: textblock
 msgid "PREPARED DISK IMAGES"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:700
+#: ../fish/guestfish.pod:771
 msgid ""
 "Use the I<-N type> or I<--new type> parameter to select one of a set of "
 "preformatted disk images that guestfish can make for you to save typing.  "
 msgid ""
 "Use the I<-N type> or I<--new type> parameter to select one of a set of "
 "preformatted disk images that guestfish can make for you to save typing.  "
@@ -15788,7 +16483,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:706
+#: ../fish/guestfish.pod:777
 msgid ""
 "The new disk is called C<test1.img> for the first I<-N>, C<test2.img> for "
 "the second and so on.  Existing files in the current directory are "
 msgid ""
 "The new disk is called C<test1.img> for the first I<-N>, C<test2.img> for "
 "the second and so on.  Existing files in the current directory are "
@@ -15796,7 +16491,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:710
+#: ../fish/guestfish.pod:781
 msgid ""
 "The type briefly describes how the disk should be sized, partitioned, how "
 "filesystem(s) should be created, and how content should be added.  "
 msgid ""
 "The type briefly describes how the disk should be sized, partitioned, how "
 "filesystem(s) should be created, and how content should be added.  "
@@ -15808,31 +16503,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:718
+#: ../fish/guestfish.pod:789
 msgid "To list the available types and any extra parameters they take, run:"
 msgstr ""
 
 # type: textblock
 msgid "To list the available types and any extra parameters they take, run:"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:722
+#: ../fish/guestfish.pod:793
 msgid ""
 "Note that the prepared filesystem is not mounted.  You would usually have to "
 "use the C<mount /dev/sda1 /> command or add the I<-m /dev/sda1> option."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Note that the prepared filesystem is not mounted.  You would usually have to "
 "use the C<mount /dev/sda1 /> command or add the I<-m /dev/sda1> option."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:726
+#: ../fish/guestfish.pod:797
 msgid ""
 "If any I<-N> or I<--new> options are given, the guest is automatically "
 "launched."
 msgstr ""
 
 # type: textblock
 msgid ""
 "If any I<-N> or I<--new> options are given, the guest is automatically "
 "launched."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:731
+#: ../fish/guestfish.pod:802
 msgid "Create a 100MB disk with an ext4-formatted partition:"
 msgstr ""
 
 # type: verbatim
 msgid "Create a 100MB disk with an ext4-formatted partition:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:733
+#: ../fish/guestfish.pod:804
 #, no-wrap
 msgid ""
 " guestfish -N fs:ext4\n"
 #, no-wrap
 msgid ""
 " guestfish -N fs:ext4\n"
@@ -15840,12 +16535,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:735
+#: ../fish/guestfish.pod:806
 msgid "Create a 32MB disk with a VFAT-formatted partition, and mount it:"
 msgstr ""
 
 # type: verbatim
 msgid "Create a 32MB disk with a VFAT-formatted partition, and mount it:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:737
+#: ../fish/guestfish.pod:808
 #, no-wrap
 msgid ""
 " guestfish -N fs:vfat:32M -m /dev/sda1\n"
 #, no-wrap
 msgid ""
 " guestfish -N fs:vfat:32M -m /dev/sda1\n"
@@ -15853,12 +16548,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:739
+#: ../fish/guestfish.pod:810
 msgid "Create a blank 200MB disk:"
 msgstr ""
 
 # type: verbatim
 msgid "Create a blank 200MB disk:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:741
+#: ../fish/guestfish.pod:812
 #, no-wrap
 msgid ""
 " guestfish -N disk:200M\n"
 #, no-wrap
 msgid ""
 " guestfish -N disk:200M\n"
@@ -15866,19 +16561,19 @@ msgid ""
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:743
+#: ../fish/guestfish.pod:814
 msgid "PROGRESS BARS"
 msgstr ""
 
 # type: textblock
 msgid "PROGRESS BARS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:745
+#: ../fish/guestfish.pod:816
 msgid ""
 "Some (not all) long-running commands send progress notification messages as "
 "they are running.  Guestfish turns these messages into progress bars."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Some (not all) long-running commands send progress notification messages as "
 "they are running.  Guestfish turns these messages into progress bars."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:749
+#: ../fish/guestfish.pod:820
 msgid ""
 "When a command that supports progress bars takes longer than two seconds to "
 "run, and if progress bars are enabled, then you will see one appearing below "
 msgid ""
 "When a command that supports progress bars takes longer than two seconds to "
 "run, and if progress bars are enabled, then you will see one appearing below "
@@ -15886,7 +16581,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:753
+#: ../fish/guestfish.pod:824
 #, no-wrap
 msgid ""
 " ><fs> copy-size /large-file /another-file 2048M\n"
 #, no-wrap
 msgid ""
 " ><fs> copy-size /large-file /another-file 2048M\n"
@@ -15895,7 +16590,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:756
+#: ../fish/guestfish.pod:827
 msgid ""
 "The spinner on the left hand side moves round once for every progress "
 "notification received from the backend.  This is a (reasonably) golden "
 msgid ""
 "The spinner on the left hand side moves round once for every progress "
 "notification received from the backend.  This is a (reasonably) golden "
@@ -15906,7 +16601,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:763
+#: ../fish/guestfish.pod:834
 msgid ""
 "Progress bars are enabled by default when guestfish is used interactively.  "
 "You can enable them even for non-interactive modes using I<--progress-bars>, "
 msgid ""
 "Progress bars are enabled by default when guestfish is used interactively.  "
 "You can enable them even for non-interactive modes using I<--progress-bars>, "
@@ -15914,5981 +16609,6332 @@ msgid ""
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:768
+#: ../fish/guestfish.pod:839
 msgid "GUESTFISH COMMANDS"
 msgstr ""
 
 # type: textblock
 msgid "GUESTFISH COMMANDS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:770
+#: ../fish/guestfish.pod:841
 msgid ""
 "The commands in this section are guestfish convenience commands, in other "
 "words, they are not part of the L<guestfs(3)> API."
 msgstr ""
 
 # type: =head2
 msgid ""
 "The commands in this section are guestfish convenience commands, in other "
 "words, they are not part of the L<guestfs(3)> API."
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:773
-msgid "alloc | allocate"
+#: ../fish/guestfish.pod:844
+msgid "help"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:775
+#: ../fish/guestfish.pod:846
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" alloc filename size\n"
+" help\n"
+" help cmd\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:777
+#: ../fish/guestfish.pod:849
 msgid ""
 msgid ""
-"This creates an empty (zeroed) file of the given size, and then adds so it "
-"can be further examined."
+"Without any parameter, this lists all commands.  With a C<cmd> parameter, "
+"this displays detailed help for a command."
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish.pod:852
+msgid "quit | exit"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:780 ../fish/guestfish.pod:903
-msgid "For more advanced image creation, see L<qemu-img(1)> utility."
+#: ../fish/guestfish.pod:854
+msgid "This exits guestfish.  You can also use C<^D> key."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:782 ../fish/guestfish.pod:905
-msgid "Size can be specified using standard suffixes, eg. C<1M>."
+#: ../fish/guestfish.pod:856
+msgid "@FISH_COMMANDS@"
 msgstr ""
 
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish.pod:784
-msgid "copy-in"
+# type: =head1
+#: ../fish/guestfish.pod:858
+msgid "COMMANDS"
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish.pod:786
-#, no-wrap
-msgid ""
-" copy-in local [local ...] /remotedir\n"
-"\n"
+# type: =head1
+#: ../fish/guestfish.pod:862 ../test-tool/libguestfs-test-tool.pod:83
+msgid "EXIT CODE"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:788
+#: ../fish/guestfish.pod:864
 msgid ""
 msgid ""
-"C<copy-in> copies local files or directories recursively into the disk "
-"image, placing them in the directory called C</remotedir> (which must "
-"exist).  This guestfish meta-command turns into a sequence of L</tar-in> and "
-"other commands as necessary."
+"guestfish returns 0 if the commands completed without error, or 1 if there "
+"was an error."
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish.pod:793
-msgid ""
-"Multiple local files and directories can be specified, but the last "
-"parameter must always be a remote directory.  Wildcards cannot be used."
+# type: =item
+#: ../fish/guestfish.pod:871
+msgid "EDITOR"
 msgstr ""
 
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish.pod:797
-msgid "copy-out"
+# type: textblock
+#: ../fish/guestfish.pod:873
+msgid ""
+"The C<edit> command uses C<$EDITOR> as the editor.  If not set, it uses "
+"C<vi>."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish.pod:799
-#, no-wrap
+# type: =item
+#: ../fish/guestfish.pod:876
+msgid "GUESTFISH_PID"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:878
 msgid ""
 msgid ""
-" copy-out remote [remote ...] localdir\n"
-"\n"
+"Used with the I<--remote> option to specify the remote guestfish process to "
+"control.  See section L</REMOTE CONTROL GUESTFISH OVER A SOCKET>."
+msgstr ""
+
+# type: =item
+#: ../fish/guestfish.pod:882
+msgid "HEXEDITOR"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:801
+#: ../fish/guestfish.pod:884
 msgid ""
 msgid ""
-"C<copy-out> copies remote files or directories recursively out of the disk "
-"image, placing them on the host disk in a local directory called C<localdir> "
-"(which must exist).  This guestfish meta-command turns into a sequence of "
-"L</download>, L</tar-out> and other commands as necessary."
+"The L</hexedit> command uses C<$HEXEDITOR> as the external hex editor.  If "
+"not specified, the external L<hexedit(1)> program is used."
+msgstr ""
+
+# type: =item
+#: ../fish/guestfish.pod:888
+msgid "HOME"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:807
+#: ../fish/guestfish.pod:890
 msgid ""
 msgid ""
-"Multiple remote files and directories can be specified, but the last "
-"parameter must always be a local directory.  To download to the current "
-"directory, use C<.> as in:"
+"If compiled with GNU readline support, various files in the home directory "
+"can be used.  See L</FILES>."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish.pod:811
-#, no-wrap
+# type: textblock
+#: ../fish/guestfish.pod:899
 msgid ""
 msgid ""
-" copy-out /home .\n"
-"\n"
+"Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages.  This has the same "
+"effect as using the B<-v> option."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:813
+#: ../fish/guestfish.pod:911
 msgid ""
 msgid ""
-"Wildcards cannot be used in the ordinary command, but you can use them with "
-"the help of L</glob> like this:"
+"Set the path that guestfish uses to search for kernel and initrd.img.  See "
+"the discussion of paths in L<guestfs(3)>."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish.pod:816
-#, no-wrap
+# type: textblock
+#: ../fish/guestfish.pod:922
+msgid "Set C<LIBGUESTFS_TRACE=1> to enable command traces."
+msgstr ""
+
+# type: =item
+#: ../fish/guestfish.pod:924
+msgid "PAGER"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:926
 msgid ""
 msgid ""
-" glob copy-out /home/* .\n"
-"\n"
+"The C<more> command uses C<$PAGER> as the pager.  If not set, it uses "
+"C<more>."
 msgstr ""
 
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish.pod:818
-msgid "echo"
+# type: =head1
+#: ../fish/guestfish.pod:941 ../test-tool/libguestfs-test-tool.pod:88
+msgid "FILES"
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish.pod:820
-#, no-wrap
+# type: =item
+#: ../fish/guestfish.pod:945
+msgid "$HOME/.guestfish"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:947
 msgid ""
 msgid ""
-" echo [params ...]\n"
-"\n"
+"If compiled with GNU readline support, then the command history is saved in "
+"this file."
+msgstr ""
+
+# type: =item
+#: ../fish/guestfish.pod:950
+msgid "$HOME/.inputrc"
+msgstr ""
+
+# type: =item
+#: ../fish/guestfish.pod:952
+msgid "/etc/inputrc"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:822
-msgid "This echos the parameters to the terminal."
+#: ../fish/guestfish.pod:954
+msgid ""
+"If compiled with GNU readline support, then these files can be used to "
+"configure readline.  For further information, please see "
+"L<readline(3)/INITIALIZATION FILE>."
 msgstr ""
 
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish.pod:824
-msgid "edit | vi | emacs"
+# type: textblock
+#: ../fish/guestfish.pod:958
+msgid "To write rules which only apply to guestfish, use:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:826
+#: ../fish/guestfish.pod:960
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" edit filename\n"
+" $if guestfish\n"
+" ...\n"
+" $endif\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:828
+#: ../fish/guestfish.pod:964
 msgid ""
 msgid ""
-"This is used to edit a file.  It downloads the file, edits it locally using "
-"your editor, then uploads the result."
+"Variables that you can set in inputrc that change the behaviour of guestfish "
+"in useful ways include:"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish.pod:831
-msgid ""
-"The editor is C<$EDITOR>.  However if you use the alternate commands C<vi> "
-"or C<emacs> you will get those corresponding editors."
+# type: =item
+#: ../fish/guestfish.pod:969
+msgid "completion-ignore-case (default: on)"
 msgstr ""
 
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish.pod:835
-msgid "glob"
+# type: textblock
+#: ../fish/guestfish.pod:971
+msgid ""
+"By default, guestfish will ignore case when tab-completing paths on the "
+"disk.  Use:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:837
+#: ../fish/guestfish.pod:974
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" glob command args...\n"
+" set completion-ignore-case off\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:839
+#: ../fish/guestfish.pod:976
+msgid "to make guestfish case sensitive."
+msgstr ""
+
+# type: =item
+#: ../fish/guestfish.pod:980
+msgid "test1.img"
+msgstr ""
+
+# type: =item
+#: ../fish/guestfish.pod:982
+msgid "test2.img (etc)"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:984
 msgid ""
 msgid ""
-"Expand wildcards in any paths in the args list, and run C<command> "
-"repeatedly on each matching path."
+"When using the C<-N> or C<--new> option, the prepared disk or filesystem "
+"will be created in the file C<test1.img> in the current directory.  The "
+"second use of C<-N> will use C<test2.img> and so on.  Any existing file with "
+"the same name will be overwritten."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:842
-msgid "See section WILDCARDS AND GLOBBING."
+#: ../fish/guestfish.pod:993
+msgid ""
+"L<guestfs(3)>, L<http://libguestfs.org/>, L<virt-cat(1)>, L<virt-df(1)>, "
+"L<virt-edit(1)>, L<virt-list-filesystems(1)>, L<virt-list-partitions(1)>, "
+"L<virt-ls(1)>, L<virt-make-fs(1)>, L<virt-rescue(1)>, L<virt-resize(1)>, "
+"L<virt-tar(1)>, L<virt-win-reg(1)>, L<hexedit(1)>."
 msgstr ""
 
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish.pod:844
-msgid "help"
+# type: textblock
+#: ../fish/guestfish.pod:1017 ../test-tool/libguestfs-test-tool.pod:124 ../fuse/guestmount.pod:198 ../inspector/virt-inspector.pl:903 ../tools/virt-edit.pl:370 ../tools/virt-win-reg.pl:521 ../tools/virt-df.pl:631 ../tools/virt-ls.pl:254 ../tools/virt-resize.pl:1516 ../tools/virt-list-filesystems.pl:236 ../tools/virt-cat.pl:206 ../tools/virt-tar.pl:302 ../tools/virt-rescue.pl:275 ../tools/virt-make-fs.pl:567 ../tools/virt-list-partitions.pl:273
+msgid ""
+"This program is free software; you can redistribute it and/or modify it "
+"under the terms of the GNU General Public License as published by the Free "
+"Software Foundation; either version 2 of the License, or (at your option) "
+"any later version."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish.pod:846
-#, no-wrap
+# type: textblock
+#: ../fish/guestfish.pod:1022 ../test-tool/libguestfs-test-tool.pod:129 ../fuse/guestmount.pod:203 ../inspector/virt-inspector.pl:908 ../tools/virt-edit.pl:375 ../tools/virt-win-reg.pl:526 ../tools/virt-df.pl:636 ../tools/virt-ls.pl:259 ../tools/virt-resize.pl:1521 ../tools/virt-list-filesystems.pl:241 ../tools/virt-cat.pl:211 ../tools/virt-tar.pl:307 ../tools/virt-rescue.pl:280 ../tools/virt-make-fs.pl:572 ../tools/virt-list-partitions.pl:278
 msgid ""
 msgid ""
-" help\n"
-" help cmd\n"
-"\n"
+"This program is distributed in the hope that it will be useful, but WITHOUT "
+"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or "
+"FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for "
+"more details."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:849
+#: ../fish/guestfish.pod:1027 ../test-tool/libguestfs-test-tool.pod:134 ../fuse/guestmount.pod:208 ../inspector/virt-inspector.pl:913 ../tools/virt-edit.pl:380 ../tools/virt-win-reg.pl:531 ../tools/virt-df.pl:641 ../tools/virt-ls.pl:264 ../tools/virt-resize.pl:1526 ../tools/virt-list-filesystems.pl:246 ../tools/virt-cat.pl:216 ../tools/virt-tar.pl:312 ../tools/virt-rescue.pl:285 ../tools/virt-make-fs.pl:577 ../tools/virt-list-partitions.pl:283
 msgid ""
 msgid ""
-"Without any parameter, this lists all commands.  With a C<cmd> parameter, "
-"this displays detailed help for a command."
+"You should have received a copy of the GNU General Public License along with "
+"this program; if not, write to the Free Software Foundation, Inc., 675 Mass "
+"Ave, Cambridge, MA 02139, USA."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:852
-msgid "lcd"
+#: ../fish/guestfish-actions.pod:1
+msgid "add-cdrom"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:854
+#: ../fish/guestfish-actions.pod:3
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lcd directory\n"
+" add-cdrom filename\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:856
-msgid "Change the local directory, ie. the current directory of guestfish itself."
+#: ../fish/guestfish-actions.pod:15
+msgid ""
+"This call checks for the existence of C<filename>.  This stops you from "
+"specifying other types of drive which are supported by qemu such as C<nbd:> "
+"and C<http:> URLs.  To specify those, use the general L</config> call "
+"instead."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:859
-msgid "Note that C<!cd> won't do what you might expect."
+#: ../fish/guestfish-actions.pod:22
+msgid ""
+"If you just want to add an ISO file (often you use this as an efficient way "
+"to transfer large files into the guest), then you should probably use "
+"L</add-drive-ro> instead."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:861
-msgid "man | manual"
+#: ../fish/guestfish-actions.pod:35
+msgid "add-drive"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:863
+#: ../fish/guestfish-actions.pod:37
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" man\n"
+" add-drive filename\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:865
-msgid "Opens the manual page for guestfish."
+#: ../fish/guestfish-actions.pod:39
+msgid ""
+"This function is the equivalent of calling L</add-drive-opts> with no "
+"optional parameters, so the disk is added writable, with the format being "
+"detected automatically."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:43
+msgid ""
+"Automatic detection of the format opens you up to a potential security hole "
+"when dealing with untrusted raw-format images.  See CVE-2010-3851 and "
+"RHBZ#642934.  Specifying the format closes this security hole.  Therefore "
+"you should think about replacing calls to this function with calls to "
+"L</add-drive-opts>, and specifying the format."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:867
-msgid "more | less"
+#: ../fish/guestfish-actions.pod:50
+msgid "add-drive-opts"
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish.pod:869
-#, no-wrap
-msgid ""
-" more filename\n"
-"\n"
+# type: =head2
+#: ../fish/guestfish-actions.pod:52
+msgid "add"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:871
+#: ../fish/guestfish-actions.pod:54
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" less filename\n"
+" add-drive-opts filename [readonly:..] [format:..] [iface:..]\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:873
-msgid "This is used to view a file."
+#: ../fish/guestfish-actions.pod:81
+msgid ""
+"This forces the image format.  If you omit this (or use L</add-drive> or "
+"L</add-drive-ro>) then the format is automatically detected.  Possible "
+"formats include C<raw> and C<qcow2>."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:875
+#: ../fish/guestfish-actions.pod:92
 msgid ""
 msgid ""
-"The default viewer is C<$PAGER>.  However if you use the alternate command "
-"C<less> you will get the C<less> command specifically."
+"This rarely-used option lets you emulate the behaviour of the deprecated "
+"L</add-drive-with-if> call (q.v.)"
 msgstr ""
 
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish.pod:878
-msgid "quit | exit"
+# type: textblock
+#: ../fish/guestfish-actions.pod:97
+msgid ""
+"This command has one or more optional arguments.  See L</OPTIONAL "
+"ARGUMENTS>."
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish.pod:880
-msgid "This exits guestfish.  You can also use C<^D> key."
+# type: =head2
+#: ../fish/guestfish-actions.pod:99
+msgid "add-drive-ro"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:882
-msgid "reopen"
+#: ../fish/guestfish-actions.pod:101
+msgid "add-ro"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:884
+#: ../fish/guestfish-actions.pod:103
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" reopen\n"
+" add-drive-ro filename\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:886
+#: ../fish/guestfish-actions.pod:105
 msgid ""
 msgid ""
-"Close and reopen the libguestfs handle.  It is not necessary to use this "
-"normally, because the handle is closed properly when guestfish exits.  "
-"However this is occasionally useful for testing."
+"This function is the equivalent of calling L</add-drive-opts> with the "
+"optional parameter C<GUESTFS_ADD_DRIVE_OPTS_READONLY> set to 1, so the disk "
+"is added read-only, with the format being detected automatically."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:890
-msgid "sparse"
+#: ../fish/guestfish-actions.pod:110
+msgid "add-drive-ro-with-if"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:892
+#: ../fish/guestfish-actions.pod:112
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" sparse filename size\n"
+" add-drive-ro-with-if filename iface\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:894
+#: ../fish/guestfish-actions.pod:114
 msgid ""
 msgid ""
-"This creates an empty sparse file of the given size, and then adds so it can "
-"be further examined."
+"This is the same as L</add-drive-ro> but it allows you to specify the QEMU "
+"interface emulation to use at run time."
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish.pod:897
-msgid ""
-"In all respects it works the same as the C<alloc> command, except that the "
-"image file is allocated sparsely, which means that disk blocks are not "
-"assigned to the file until they are needed.  Sparse disk files only use "
-"space when written to, but they are slower and there is a danger you could "
-"run out of real disk space during a write operation."
-msgstr ""
-
-# type: =head2
-#: ../fish/guestfish.pod:907
-msgid "supported"
+# type: =head2
+#: ../fish/guestfish-actions.pod:124
+msgid "add-drive-with-if"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:909
+#: ../fish/guestfish-actions.pod:126
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" supported\n"
+" add-drive-with-if filename iface\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:911
+#: ../fish/guestfish-actions.pod:128
 msgid ""
 msgid ""
-"This command returns a list of the optional groups known to the daemon, and "
-"indicates which ones are supported by this build of the libguestfs "
-"appliance."
+"This is the same as L</add-drive> but it allows you to specify the QEMU "
+"interface emulation to use at run time."
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish.pod:915
-msgid "See also L<guestfs(3)/AVAILABILITY>."
+# type: =head2
+#: ../fish/guestfish-actions.pod:138
+msgid "aug-clear"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish-actions.pod:140
+#, no-wrap
+msgid ""
+" aug-clear augpath\n"
+"\n"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:917
-msgid "time"
+#: ../fish/guestfish-actions.pod:145
+msgid "aug-close"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:919
+#: ../fish/guestfish-actions.pod:147
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" time command args...\n"
+" aug-close\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:921
+#: ../fish/guestfish-actions.pod:149
 msgid ""
 msgid ""
-"Run the command as usual, but print the elapsed time afterwards.  This can "
-"be useful for benchmarking operations."
+"Close the current Augeas handle and free up any resources used by it.  After "
+"calling this, you have to call L</aug-init> again before you can use any "
+"other Augeas functions."
 msgstr ""
 
 msgstr ""
 
-# type: =head1
-#: ../fish/guestfish.pod:924
-msgid "COMMANDS"
+# type: =head2
+#: ../fish/guestfish-actions.pod:154
+msgid "aug-defnode"
 msgstr ""
 
 msgstr ""
 
-# type: =head1
-#: ../fish/guestfish.pod:928 ../test-tool/libguestfs-test-tool.pod:83
-msgid "EXIT CODE"
+# type: verbatim
+#: ../fish/guestfish-actions.pod:156
+#, no-wrap
+msgid ""
+" aug-defnode name expr val\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:930
+#: ../fish/guestfish-actions.pod:161
 msgid ""
 msgid ""
-"guestfish returns 0 if the commands completed without error, or 1 if there "
-"was an error."
+"If C<expr> evaluates to an empty nodeset, a node is created, equivalent to "
+"calling L</aug-set> C<expr>, C<value>.  C<name> will be the nodeset "
+"containing that single node."
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../fish/guestfish.pod:937
-msgid "EDITOR"
+# type: =head2
+#: ../fish/guestfish-actions.pod:169
+msgid "aug-defvar"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish.pod:939
+# type: verbatim
+#: ../fish/guestfish-actions.pod:171
+#, no-wrap
 msgid ""
 msgid ""
-"The C<edit> command uses C<$EDITOR> as the editor.  If not set, it uses "
-"C<vi>."
+" aug-defvar name expr\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../fish/guestfish.pod:942
-msgid "GUESTFISH_PID"
+# type: =head2
+#: ../fish/guestfish-actions.pod:180
+msgid "aug-get"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish.pod:944
+# type: verbatim
+#: ../fish/guestfish-actions.pod:182
+#, no-wrap
 msgid ""
 msgid ""
-"Used with the I<--remote> option to specify the remote guestfish process to "
-"control.  See section L</REMOTE CONTROL GUESTFISH OVER A SOCKET>."
+" aug-get augpath\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../fish/guestfish.pod:948
-msgid "HOME"
+# type: =head2
+#: ../fish/guestfish-actions.pod:187
+msgid "aug-init"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish.pod:950
+# type: verbatim
+#: ../fish/guestfish-actions.pod:189
+#, no-wrap
 msgid ""
 msgid ""
-"If compiled with GNU readline support, various files in the home directory "
-"can be used.  See L</FILES>."
+" aug-init root flags\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:959
-msgid ""
-"Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages.  This has the same "
-"effect as using the B<-v> option."
+#: ../fish/guestfish-actions.pod:195
+msgid "You must call this before using any other L</aug-*> commands."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:971
-msgid ""
-"Set the path that guestfish uses to search for kernel and initrd.img.  See "
-"the discussion of paths in L<guestfs(3)>."
+#: ../fish/guestfish-actions.pod:230
+msgid "Do not load the tree in L</aug-init>."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:982
-msgid "Set C<LIBGUESTFS_TRACE=1> to enable command traces."
+#: ../fish/guestfish-actions.pod:234
+msgid "To close the handle, you can call L</aug-close>."
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../fish/guestfish.pod:984
-msgid "PAGER"
+# type: =head2
+#: ../fish/guestfish-actions.pod:238
+msgid "aug-insert"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish.pod:986
+# type: verbatim
+#: ../fish/guestfish-actions.pod:240
+#, no-wrap
 msgid ""
 msgid ""
-"The C<more> command uses C<$PAGER> as the pager.  If not set, it uses "
-"C<more>."
-msgstr ""
-
-# type: =head1
-#: ../fish/guestfish.pod:1001 ../test-tool/libguestfs-test-tool.pod:88
-msgid "FILES"
+" aug-insert augpath label true|false\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../fish/guestfish.pod:1005
-msgid "$HOME/.guestfish"
+# type: =head2
+#: ../fish/guestfish-actions.pod:250
+msgid "aug-load"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish.pod:1007
+# type: verbatim
+#: ../fish/guestfish-actions.pod:252
+#, no-wrap
 msgid ""
 msgid ""
-"If compiled with GNU readline support, then the command history is saved in "
-"this file."
+" aug-load\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../fish/guestfish.pod:1010
-msgid "$HOME/.inputrc"
+# type: =head2
+#: ../fish/guestfish-actions.pod:259
+msgid "aug-ls"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../fish/guestfish.pod:1012
-msgid "/etc/inputrc"
+# type: verbatim
+#: ../fish/guestfish-actions.pod:261
+#, no-wrap
+msgid ""
+" aug-ls augpath\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:1014
+#: ../fish/guestfish-actions.pod:263
 msgid ""
 msgid ""
-"If compiled with GNU readline support, then these files can be used to "
-"configure readline.  For further information, please see "
-"L<readline(3)/INITIALIZATION FILE>."
+"This is just a shortcut for listing L</aug-match> C<path/*> and sorting the "
+"resulting nodes into alphabetical order."
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish.pod:1018
-msgid "To write rules which only apply to guestfish, use:"
+# type: =head2
+#: ../fish/guestfish-actions.pod:266
+msgid "aug-match"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:1020
+#: ../fish/guestfish-actions.pod:268
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" $if guestfish\n"
-" ...\n"
-" $endif\n"
+" aug-match augpath\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish.pod:1024
-msgid ""
-"Variables that you can set in inputrc that change the behaviour of guestfish "
-"in useful ways include:"
-msgstr ""
-
-# type: =item
-#: ../fish/guestfish.pod:1029
-msgid "completion-ignore-case (default: on)"
-msgstr ""
-
-# type: textblock
-#: ../fish/guestfish.pod:1031
-msgid ""
-"By default, guestfish will ignore case when tab-completing paths on the "
-"disk.  Use:"
+# type: =head2
+#: ../fish/guestfish-actions.pod:274
+msgid "aug-mv"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:1034
+#: ../fish/guestfish-actions.pod:276
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" set completion-ignore-case off\n"
+" aug-mv src dest\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish.pod:1036
-msgid "to make guestfish case sensitive."
+# type: =head2
+#: ../fish/guestfish-actions.pod:281
+msgid "aug-rm"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../fish/guestfish.pod:1040
-msgid "test1.img"
+# type: verbatim
+#: ../fish/guestfish-actions.pod:283
+#, no-wrap
+msgid ""
+" aug-rm augpath\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../fish/guestfish.pod:1042
-msgid "test2.img (etc)"
+# type: =head2
+#: ../fish/guestfish-actions.pod:289
+msgid "aug-save"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish.pod:1044
+# type: verbatim
+#: ../fish/guestfish-actions.pod:291
+#, no-wrap
 msgid ""
 msgid ""
-"When using the C<-N> or C<--new> option, the prepared disk or filesystem "
-"will be created in the file C<test1.img> in the current directory.  The "
-"second use of C<-N> will use C<test2.img> and so on.  Any existing file with "
-"the same name will be overwritten."
+" aug-save\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:1053
+#: ../fish/guestfish-actions.pod:295
 msgid ""
 msgid ""
-"L<guestfs(3)>, L<http://libguestfs.org/>, L<virt-cat(1)>, L<virt-df(1)>, "
-"L<virt-edit(1)>, L<virt-list-filesystems(1)>, L<virt-list-partitions(1)>, "
-"L<virt-ls(1)>, L<virt-make-fs(1)>, L<virt-rescue(1)>, L<virt-resize(1)>, "
-"L<virt-tar(1)>, L<virt-win-reg(1)>."
+"The flags which were passed to L</aug-init> affect exactly how files are "
+"saved."
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish.pod:1076 ../test-tool/libguestfs-test-tool.pod:124 ../fuse/guestmount.pod:198 ../inspector/virt-inspector.pl:865 ../tools/virt-cat.pl:181 ../tools/virt-df.pl:499 ../tools/virt-edit.pl:345 ../tools/virt-list-filesystems.pl:211 ../tools/virt-list-partitions.pl:248 ../tools/virt-ls.pl:229 ../tools/virt-make-fs.pl:560 ../tools/virt-rescue.pl:249 ../tools/virt-resize.pl:1415 ../tools/virt-tar.pl:276 ../tools/virt-win-reg.pl:495
-msgid ""
-"This program is free software; you can redistribute it and/or modify it "
-"under the terms of the GNU General Public License as published by the Free "
-"Software Foundation; either version 2 of the License, or (at your option) "
-"any later version."
+# type: =head2
+#: ../fish/guestfish-actions.pod:298
+msgid "aug-set"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish.pod:1081 ../test-tool/libguestfs-test-tool.pod:129 ../fuse/guestmount.pod:203 ../inspector/virt-inspector.pl:870 ../tools/virt-cat.pl:186 ../tools/virt-df.pl:504 ../tools/virt-edit.pl:350 ../tools/virt-list-filesystems.pl:216 ../tools/virt-list-partitions.pl:253 ../tools/virt-ls.pl:234 ../tools/virt-make-fs.pl:565 ../tools/virt-rescue.pl:254 ../tools/virt-resize.pl:1420 ../tools/virt-tar.pl:281 ../tools/virt-win-reg.pl:500
+# type: verbatim
+#: ../fish/guestfish-actions.pod:300
+#, no-wrap
 msgid ""
 msgid ""
-"This program is distributed in the hope that it will be useful, but WITHOUT "
-"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or "
-"FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for "
-"more details."
+" aug-set augpath val\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:1086 ../test-tool/libguestfs-test-tool.pod:134 ../fuse/guestmount.pod:208 ../inspector/virt-inspector.pl:875 ../tools/virt-cat.pl:191 ../tools/virt-df.pl:509 ../tools/virt-edit.pl:355 ../tools/virt-list-filesystems.pl:221 ../tools/virt-list-partitions.pl:258 ../tools/virt-ls.pl:239 ../tools/virt-make-fs.pl:570 ../tools/virt-rescue.pl:259 ../tools/virt-resize.pl:1425 ../tools/virt-tar.pl:286 ../tools/virt-win-reg.pl:505
+#: ../fish/guestfish-actions.pod:304
 msgid ""
 msgid ""
-"You should have received a copy of the GNU General Public License along with "
-"this program; if not, write to the Free Software Foundation, Inc., 675 Mass "
-"Ave, Cambridge, MA 02139, USA."
+"In the Augeas API, it is possible to clear a node by setting the value to "
+"NULL.  Due to an oversight in the libguestfs API you cannot do that with "
+"this call.  Instead you must use the L</aug-clear> call."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1
-msgid "add-cdrom | cdrom"
+#: ../fish/guestfish-actions.pod:309
+msgid "available"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3
+#: ../fish/guestfish-actions.pod:311
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" add-cdrom filename\n"
+" available 'groups ...'\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:15
+#: ../fish/guestfish-actions.pod:317
 msgid ""
 msgid ""
-"This call checks for the existence of C<filename>.  This stops you from "
-"specifying other types of drive which are supported by qemu such as C<nbd:> "
-"and C<http:> URLs.  To specify those, use the general C<config> call "
-"instead."
+"The libguestfs groups, and the functions that those groups correspond to, "
+"are listed in L<guestfs(3)/AVAILABILITY>.  You can also fetch this list at "
+"runtime by calling L</available-all-groups>."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:22
+#: ../fish/guestfish-actions.pod:341
+msgid "You must call L</launch> before calling this function."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:363
 msgid ""
 msgid ""
-"If you just want to add an ISO file (often you use this as an efficient way "
-"to transfer large files into the guest), then you should probably use "
-"C<add-drive-ro> instead."
+"This call was added in version C<1.0.80>.  In previous versions of "
+"libguestfs all you could do would be to speculatively execute a command to "
+"find out if the daemon implemented it.  See also L</version>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:28
-msgid "add-drive | add"
+#: ../fish/guestfish-actions.pod:370
+msgid "available-all-groups"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:30
+#: ../fish/guestfish-actions.pod:372
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" add-drive filename\n"
+" available-all-groups\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:49 ../fish/guestfish-actions.pod:75
+#: ../fish/guestfish-actions.pod:374
 msgid ""
 msgid ""
-"C<if=...> is set at compile time by the configuration option C<./configure "
-"--with-drive-if=...>.  In the rare case where you might need to change this "
-"at run time, use C<add-drive-with-if> or C<add-drive-ro-with-if>."
+"This command returns a list of all optional groups that this daemon knows "
+"about.  Note this returns both supported and unsupported groups.  To find "
+"out which ones the daemon can actually support you have to call "
+"L</available> on each member of the returned list."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:54 ../fish/guestfish-actions.pod:80
-msgid ""
-"Note that this call checks for the existence of C<filename>.  This stops you "
-"from specifying other types of drive which are supported by qemu such as "
-"C<nbd:> and C<http:> URLs.  To specify those, use the general C<config> call "
-"instead."
+#: ../fish/guestfish-actions.pod:380
+msgid "See also L</available> and L<guestfs(3)/AVAILABILITY>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:59
-msgid "add-drive-ro | add-ro"
+#: ../fish/guestfish-actions.pod:382
+msgid "base64-in"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:61
+#: ../fish/guestfish-actions.pod:384
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" add-drive-ro filename\n"
+" base64-in (base64file|-) filename\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:389 ../fish/guestfish-actions.pod:398 ../fish/guestfish-actions.pod:622 ../fish/guestfish-actions.pod:769 ../fish/guestfish-actions.pod:816 ../fish/guestfish-actions.pod:835 ../fish/guestfish-actions.pod:1212 ../fish/guestfish-actions.pod:3868 ../fish/guestfish-actions.pod:3880 ../fish/guestfish-actions.pod:3891 ../fish/guestfish-actions.pod:3902 ../fish/guestfish-actions.pod:3954 ../fish/guestfish-actions.pod:3963 ../fish/guestfish-actions.pod:4017 ../fish/guestfish-actions.pod:4040
+msgid "Use C<-> instead of a filename to read/write from stdin/stdout."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:85
-msgid "add-drive-ro-with-if"
+#: ../fish/guestfish-actions.pod:391
+msgid "base64-out"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:87
+#: ../fish/guestfish-actions.pod:393
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" add-drive-ro-with-if filename iface\n"
+" base64-out filename (base64file|-)\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:89
-msgid ""
-"This is the same as C<add-drive-ro> but it allows you to specify the QEMU "
-"interface emulation to use at run time."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:92
-msgid "add-drive-with-if"
+#: ../fish/guestfish-actions.pod:400
+msgid "blockdev-flushbufs"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:94
+#: ../fish/guestfish-actions.pod:402
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" add-drive-with-if filename iface\n"
+" blockdev-flushbufs device\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:96
+# type: =head2
+#: ../fish/guestfish-actions.pod:409
+msgid "blockdev-getbsz"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish-actions.pod:411
+#, no-wrap
 msgid ""
 msgid ""
-"This is the same as C<add-drive> but it allows you to specify the QEMU "
-"interface emulation to use at run time."
+" blockdev-getbsz device\n"
+"\n"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:99
-msgid "aug-clear"
+#: ../fish/guestfish-actions.pod:420
+msgid "blockdev-getro"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:101
+#: ../fish/guestfish-actions.pod:422
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" aug-clear augpath\n"
+" blockdev-getro device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:106
-msgid "aug-close"
+#: ../fish/guestfish-actions.pod:429
+msgid "blockdev-getsize64"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:108
+#: ../fish/guestfish-actions.pod:431
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" aug-close\n"
+" blockdev-getsize64 device\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:110
-msgid ""
-"Close the current Augeas handle and free up any resources used by it.  After "
-"calling this, you have to call C<aug-init> again before you can use any "
-"other Augeas functions."
+#: ../fish/guestfish-actions.pod:435
+msgid "See also L</blockdev-getsz>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:115
-msgid "aug-defnode"
+#: ../fish/guestfish-actions.pod:439
+msgid "blockdev-getss"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:117
+#: ../fish/guestfish-actions.pod:441
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" aug-defnode name expr val\n"
+" blockdev-getss device\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:122
-msgid ""
-"If C<expr> evaluates to an empty nodeset, a node is created, equivalent to "
-"calling C<aug-set> C<expr>, C<value>.  C<name> will be the nodeset "
-"containing that single node."
+#: ../fish/guestfish-actions.pod:446
+msgid "(Note, this is not the size in sectors, use L</blockdev-getsz> for that)."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:130
-msgid "aug-defvar"
+#: ../fish/guestfish-actions.pod:451
+msgid "blockdev-getsz"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:132
+#: ../fish/guestfish-actions.pod:453
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" aug-defvar name expr\n"
+" blockdev-getsz device\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:458
+msgid ""
+"See also L</blockdev-getss> for the real sector size of the device, and "
+"L</blockdev-getsize64> for the more useful I<size in bytes>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:141
-msgid "aug-get"
+#: ../fish/guestfish-actions.pod:464
+msgid "blockdev-rereadpt"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:143
+#: ../fish/guestfish-actions.pod:466
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" aug-get augpath\n"
+" blockdev-rereadpt device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:148
-msgid "aug-init"
+#: ../fish/guestfish-actions.pod:472
+msgid "blockdev-setbsz"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:150
+#: ../fish/guestfish-actions.pod:474
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" aug-init root flags\n"
+" blockdev-setbsz device blocksize\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:156
-msgid "You must call this before using any other C<aug-*> commands."
-msgstr ""
-
-# type: textblock
-#: ../fish/guestfish-actions.pod:191
-msgid "Do not load the tree in C<aug-init>."
-msgstr ""
-
-# type: textblock
-#: ../fish/guestfish-actions.pod:195
-msgid "To close the handle, you can call C<aug-close>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:199
-msgid "aug-insert"
+#: ../fish/guestfish-actions.pod:483
+msgid "blockdev-setro"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:201
+#: ../fish/guestfish-actions.pod:485
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" aug-insert augpath label true|false\n"
+" blockdev-setro device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:211
-msgid "aug-load"
+#: ../fish/guestfish-actions.pod:491
+msgid "blockdev-setrw"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:213
+#: ../fish/guestfish-actions.pod:493
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" aug-load\n"
+" blockdev-setrw device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:220
-msgid "aug-ls"
+#: ../fish/guestfish-actions.pod:499
+msgid "case-sensitive-path"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:222
+#: ../fish/guestfish-actions.pod:501
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" aug-ls augpath\n"
+" case-sensitive-path path\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:224
+#: ../fish/guestfish-actions.pod:525
 msgid ""
 msgid ""
-"This is just a shortcut for listing C<aug-match> C<path/*> and sorting the "
-"resulting nodes into alphabetical order."
+"Thus L</case-sensitive-path> (\"/Windows/System32\")  might return "
+"C<\"/WINDOWS/system32\"> (the exact return value would depend on details of "
+"how the directories were originally created under Windows)."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:533
+msgid "See also L</realpath>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:227
-msgid "aug-match"
+#: ../fish/guestfish-actions.pod:535
+msgid "cat"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:229
+#: ../fish/guestfish-actions.pod:537
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" aug-match augpath\n"
+" cat path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:541
+msgid ""
+"Note that this function cannot correctly handle binary files (specifically, "
+"files containing C<\\0> character which is treated as end of string).  For "
+"those you need to use the L</read-file> or L</download> functions which have "
+"a more complex interface."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:235
-msgid "aug-mv"
+#: ../fish/guestfish-actions.pod:549
+msgid "checksum"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:237
+#: ../fish/guestfish-actions.pod:551
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" aug-mv src dest\n"
+" checksum csumtype path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish-actions.pod:242
-msgid "aug-rm"
+# type: textblock
+#: ../fish/guestfish-actions.pod:594
+msgid "To get the checksum for a device, use L</checksum-device>."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish-actions.pod:244
-#, no-wrap
-msgid ""
-" aug-rm augpath\n"
-"\n"
+# type: textblock
+#: ../fish/guestfish-actions.pod:596
+msgid "To get the checksums for many files, use L</checksums-out>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:250
-msgid "aug-save"
+#: ../fish/guestfish-actions.pod:598
+msgid "checksum-device"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:252
+#: ../fish/guestfish-actions.pod:600
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" aug-save\n"
+" checksum-device csumtype device\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:256
+#: ../fish/guestfish-actions.pod:602
 msgid ""
 msgid ""
-"The flags which were passed to C<aug-init> affect exactly how files are "
-"saved."
+"This call computes the MD5, SHAx or CRC checksum of the contents of the "
+"device named C<device>.  For the types of checksums supported see the "
+"L</checksum> command."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:259
-msgid "aug-set"
+#: ../fish/guestfish-actions.pod:606
+msgid "checksums-out"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:261
+#: ../fish/guestfish-actions.pod:608
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" aug-set augpath val\n"
+" checksums-out csumtype directory (sumsfile|-)\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:265
-msgid ""
-"In the Augeas API, it is possible to clear a node by setting the value to "
-"NULL.  Due to an oversight in the libguestfs API you cannot do that with "
-"this call.  Instead you must use the C<aug-clear> call."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:270
-msgid "available"
+#: ../fish/guestfish-actions.pod:624
+msgid "chmod"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:272
+#: ../fish/guestfish-actions.pod:626
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" available 'groups ...'\n"
+" chmod mode path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:278
-msgid ""
-"The libguestfs groups, and the functions that those groups correspond to, "
-"are listed in L<guestfs(3)/AVAILABILITY>.  You can also fetch this list at "
-"runtime by calling C<available-all-groups>."
-msgstr ""
-
-# type: textblock
-#: ../fish/guestfish-actions.pod:302
-msgid "You must call C<launch> before calling this function."
+# type: =head2
+#: ../fish/guestfish-actions.pod:637
+msgid "chown"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:324
+# type: verbatim
+#: ../fish/guestfish-actions.pod:639
+#, no-wrap
 msgid ""
 msgid ""
-"This call was added in version C<1.0.80>.  In previous versions of "
-"libguestfs all you could do would be to speculatively execute a command to "
-"find out if the daemon implemented it.  See also C<version>."
+" chown owner group path\n"
+"\n"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:331
-msgid "available-all-groups"
+#: ../fish/guestfish-actions.pod:647
+msgid "command"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:333
+#: ../fish/guestfish-actions.pod:649
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" available-all-groups\n"
+" command 'arguments ...'\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:335
+#: ../fish/guestfish-actions.pod:656
 msgid ""
 msgid ""
-"This command returns a list of all optional groups that this daemon knows "
-"about.  Note this returns both supported and unsupported groups.  To find "
-"out which ones the daemon can actually support you have to call C<available> "
-"on each member of the returned list."
-msgstr ""
-
-# type: textblock
-#: ../fish/guestfish-actions.pod:341
-msgid "See also C<available> and L<guestfs(3)/AVAILABILITY>."
+"The single parameter is an argv-style list of arguments.  The first element "
+"is the name of the program to run.  Subsequent elements are parameters.  The "
+"list must be non-empty (ie. must contain a program name).  Note that the "
+"command runs directly, and is I<not> invoked via the shell (see L</sh>)."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:343
-msgid "base64-in"
+#: ../fish/guestfish-actions.pod:684
+msgid "command-lines"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:345
+#: ../fish/guestfish-actions.pod:686
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" base64-in (base64file|-) filename\n"
+" command-lines 'arguments ...'\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:350 ../fish/guestfish-actions.pod:359 ../fish/guestfish-actions.pod:583 ../fish/guestfish-actions.pod:730 ../fish/guestfish-actions.pod:777 ../fish/guestfish-actions.pod:1154 ../fish/guestfish-actions.pod:3752 ../fish/guestfish-actions.pod:3764 ../fish/guestfish-actions.pod:3775 ../fish/guestfish-actions.pod:3786 ../fish/guestfish-actions.pod:3838 ../fish/guestfish-actions.pod:3847 ../fish/guestfish-actions.pod:3897
-msgid "Use C<-> instead of a filename to read/write from stdin/stdout."
+#: ../fish/guestfish-actions.pod:688
+msgid "This is the same as L</command>, but splits the result into a list of lines."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:691
+msgid "See also: L</sh-lines>"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:352
-msgid "base64-out"
+#: ../fish/guestfish-actions.pod:696
+msgid "config"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:354
+#: ../fish/guestfish-actions.pod:698
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" base64-out filename (base64file|-)\n"
+" config qemuparam qemuvalue\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:361
-msgid "blockdev-flushbufs"
+#: ../fish/guestfish-actions.pod:709
+msgid "copy-size"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:363
+#: ../fish/guestfish-actions.pod:711
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" blockdev-flushbufs device\n"
+" copy-size src dest size\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:370
-msgid "blockdev-getbsz"
+#: ../fish/guestfish-actions.pod:719
+msgid "cp"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:372
+#: ../fish/guestfish-actions.pod:721
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" blockdev-getbsz device\n"
+" cp src dest\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:381
-msgid "blockdev-getro"
+#: ../fish/guestfish-actions.pod:726
+msgid "cp-a"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:383
+#: ../fish/guestfish-actions.pod:728
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" blockdev-getro device\n"
+" cp-a src dest\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:390
-msgid "blockdev-getsize64"
+#: ../fish/guestfish-actions.pod:733
+msgid "dd"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:392
+#: ../fish/guestfish-actions.pod:735
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" blockdev-getsize64 device\n"
+" dd src dest\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:396
-msgid "See also C<blockdev-getsz>."
+#: ../fish/guestfish-actions.pod:742
+msgid ""
+"If the destination is a device, it must be as large or larger than the "
+"source file or device, otherwise the copy will fail.  This command cannot do "
+"partial copies (see L</copy-size>)."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:400
-msgid "blockdev-getss"
+#: ../fish/guestfish-actions.pod:746
+msgid "debug"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:402
+#: ../fish/guestfish-actions.pod:748
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" blockdev-getss device\n"
+" debug subcmd 'extraargs ...'\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:407
-msgid "(Note, this is not the size in sectors, use C<blockdev-getsz> for that)."
+#: ../fish/guestfish-actions.pod:750
+msgid ""
+"The L</debug> command exposes some internals of C<guestfsd> (the guestfs "
+"daemon) that runs inside the qemu subprocess."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:412
-msgid "blockdev-getsz"
+#: ../fish/guestfish-actions.pod:758
+msgid "debug-upload"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:414
+#: ../fish/guestfish-actions.pod:760
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" blockdev-getsz device\n"
+" debug-upload (filename|-) tmpname mode\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:419
-msgid ""
-"See also C<blockdev-getss> for the real sector size of the device, and "
-"C<blockdev-getsize64> for the more useful I<size in bytes>."
+#: ../fish/guestfish-actions.pod:762
+msgid "The L</debug-upload> command uploads a file to the libguestfs appliance."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:425
-msgid "blockdev-rereadpt"
+#: ../fish/guestfish-actions.pod:771
+msgid "df"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:427
+#: ../fish/guestfish-actions.pod:773
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" blockdev-rereadpt device\n"
+" df\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:433
-msgid "blockdev-setbsz"
+#: ../fish/guestfish-actions.pod:781
+msgid "df-h"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:435
+#: ../fish/guestfish-actions.pod:783
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" blockdev-setbsz device blocksize\n"
+" df-h\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:444
-msgid "blockdev-setro"
+#: ../fish/guestfish-actions.pod:792
+msgid "dmesg"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:446
+#: ../fish/guestfish-actions.pod:794
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" blockdev-setro device\n"
+" dmesg\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:800
+msgid ""
+"Another way to get the same information is to enable verbose messages with "
+"L</set-verbose> or by setting the environment variable C<LIBGUESTFS_DEBUG=1> "
+"before running the program."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:452
-msgid "blockdev-setrw"
+#: ../fish/guestfish-actions.pod:805
+msgid "download"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:454
+#: ../fish/guestfish-actions.pod:807
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" blockdev-setrw device\n"
+" download remotefilename (filename|-)\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:814
+msgid "See also L</upload>, L</cat>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:460
-msgid "case-sensitive-path"
+#: ../fish/guestfish-actions.pod:818
+msgid "download-offset"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:462
+#: ../fish/guestfish-actions.pod:820
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" case-sensitive-path path\n"
+" download-offset remotefilename (filename|-) offset size\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:486
+#: ../fish/guestfish-actions.pod:828
 msgid ""
 msgid ""
-"Thus C<case-sensitive-path> (\"/Windows/System32\")  might return "
-"C<\"/WINDOWS/system32\"> (the exact return value would depend on details of "
-"how the directories were originally created under Windows)."
+"Note that there is no limit on the amount of data that can be downloaded "
+"with this call, unlike with L</pread>, and this call always reads the full "
+"amount unless an error occurs."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:494
-msgid "See also C<realpath>."
+#: ../fish/guestfish-actions.pod:833
+msgid "See also L</download>, L</pread>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:496
-msgid "cat"
+#: ../fish/guestfish-actions.pod:837
+msgid "drop-caches"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:498
+#: ../fish/guestfish-actions.pod:839
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" cat path\n"
+" drop-caches whattodrop\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:502
+# type: =head2
+#: ../fish/guestfish-actions.pod:851
+msgid "du"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish-actions.pod:853
+#, no-wrap
 msgid ""
 msgid ""
-"Note that this function cannot correctly handle binary files (specifically, "
-"files containing C<\\0> character which is treated as end of string).  For "
-"those you need to use the C<read-file> or C<download> functions which have a "
-"more complex interface."
+" du path\n"
+"\n"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:510
-msgid "checksum"
+#: ../fish/guestfish-actions.pod:865
+msgid "e2fsck-f"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:512
+#: ../fish/guestfish-actions.pod:867
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" checksum csumtype path\n"
+" e2fsck-f device\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:555
-msgid "To get the checksum for a device, use C<checksum-device>."
-msgstr ""
-
-# type: textblock
-#: ../fish/guestfish-actions.pod:557
-msgid "To get the checksums for many files, use C<checksums-out>."
+#: ../fish/guestfish-actions.pod:873
+msgid ""
+"This command is only needed because of L</resize2fs> (q.v.).  Normally you "
+"should use L</fsck>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:559
-msgid "checksum-device"
+#: ../fish/guestfish-actions.pod:876
+msgid "echo-daemon"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:561
+#: ../fish/guestfish-actions.pod:878
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" checksum-device csumtype device\n"
+" echo-daemon 'words ...'\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:563
-msgid ""
-"This call computes the MD5, SHAx or CRC checksum of the contents of the "
-"device named C<device>.  For the types of checksums supported see the "
-"C<checksum> command."
+#: ../fish/guestfish-actions.pod:885
+msgid "See also L</ping-daemon>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:567
-msgid "checksums-out"
+#: ../fish/guestfish-actions.pod:887
+msgid "egrep"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:569
+#: ../fish/guestfish-actions.pod:889
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" checksums-out csumtype directory (sumsfile|-)\n"
+" egrep regex path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:585
-msgid "chmod"
+#: ../fish/guestfish-actions.pod:897
+msgid "egrepi"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:587
+#: ../fish/guestfish-actions.pod:899
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" chmod mode path\n"
+" egrepi regex path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:598
-msgid "chown"
+#: ../fish/guestfish-actions.pod:907
+msgid "equal"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:600
+#: ../fish/guestfish-actions.pod:909
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" chown owner group path\n"
+" equal file1 file2\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:608
-msgid "command"
+#: ../fish/guestfish-actions.pod:916
+msgid "exists"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:610
+#: ../fish/guestfish-actions.pod:918
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" command 'arguments ...'\n"
+" exists path\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:617
+#: ../fish/guestfish-actions.pod:923
+msgid "See also L</is-file>, L</is-dir>, L</stat>."
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-actions.pod:925
+msgid "fallocate"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish-actions.pod:927
+#, no-wrap
 msgid ""
 msgid ""
-"The single parameter is an argv-style list of arguments.  The first element "
-"is the name of the program to run.  Subsequent elements are parameters.  The "
-"list must be non-empty (ie. must contain a program name).  Note that the "
-"command runs directly, and is I<not> invoked via the shell (see C<sh>)."
+" fallocate path len\n"
+"\n"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:645
-msgid "command-lines"
+#: ../fish/guestfish-actions.pod:944
+msgid "fallocate64"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:647
+#: ../fish/guestfish-actions.pod:946
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" command-lines 'arguments ...'\n"
+" fallocate64 path len\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:649
-msgid "This is the same as C<command>, but splits the result into a list of lines."
+#: ../fish/guestfish-actions.pod:952
+msgid ""
+"Note that this call allocates disk blocks for the file.  To create a sparse "
+"file use L</truncate-size> instead."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:652
-msgid "See also: C<sh-lines>"
+#: ../fish/guestfish-actions.pod:955
+msgid ""
+"The deprecated call L</fallocate> does the same, but owing to an oversight "
+"it only allowed 30 bit lengths to be specified, effectively limiting the "
+"maximum size of files created through that call to 1GB."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:657
-msgid "config"
+#: ../fish/guestfish-actions.pod:964
+msgid "fgrep"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:659
+#: ../fish/guestfish-actions.pod:966
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" config qemuparam qemuvalue\n"
+" fgrep pattern path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:670
-msgid "copy-size"
+#: ../fish/guestfish-actions.pod:974
+msgid "fgrepi"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:672
+#: ../fish/guestfish-actions.pod:976
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" copy-size src dest size\n"
+" fgrepi pattern path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:680
-msgid "cp"
+#: ../fish/guestfish-actions.pod:984
+msgid "file"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:682
+#: ../fish/guestfish-actions.pod:986
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" cp src dest\n"
+" file path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:998
+msgid ""
+"This command can also be used on C</dev/> devices (and partitions, LV "
+"names).  You can for example use this to determine if a device contains a "
+"filesystem, although it's usually better to use L</vfs-type>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:687
-msgid "cp-a"
+#: ../fish/guestfish-actions.pod:1008
+msgid "file-architecture"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:689
+#: ../fish/guestfish-actions.pod:1010
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" cp-a src dest\n"
+" file-architecture filename\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:694
-msgid "dd"
+#: ../fish/guestfish-actions.pod:1113
+msgid "filesize"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:696
+#: ../fish/guestfish-actions.pod:1115
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" dd src dest\n"
+" filesize file\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:703
+#: ../fish/guestfish-actions.pod:1119
 msgid ""
 msgid ""
-"If the destination is a device, it must be as large or larger than the "
-"source file or device, otherwise the copy will fail.  This command cannot do "
-"partial copies (see C<copy-size>)."
+"To get other stats about a file, use L</stat>, L</lstat>, L</is-dir>, "
+"L</is-file> etc.  To get the size of block devices, use "
+"L</blockdev-getsize64>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:707
-msgid "debug"
+#: ../fish/guestfish-actions.pod:1123
+msgid "fill"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:709
+#: ../fish/guestfish-actions.pod:1125
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" debug subcmd 'extraargs ...'\n"
+" fill c len path\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:711
+#: ../fish/guestfish-actions.pod:1131
 msgid ""
 msgid ""
-"The C<debug> command exposes some internals of C<guestfsd> (the guestfs "
-"daemon) that runs inside the qemu subprocess."
+"To fill a file with zero bytes (sparsely), it is much more efficient to use "
+"L</truncate-size>.  To create a file with a pattern of repeating bytes use "
+"L</fill-pattern>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:719
-msgid "debug-upload"
+#: ../fish/guestfish-actions.pod:1136
+msgid "fill-pattern"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:721
+#: ../fish/guestfish-actions.pod:1138
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" debug-upload (filename|-) tmpname mode\n"
+" fill-pattern pattern len path\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:723
-msgid "The C<debug-upload> command uploads a file to the libguestfs appliance."
+#: ../fish/guestfish-actions.pod:1140
+msgid ""
+"This function is like L</fill> except that it creates a new file of length "
+"C<len> containing the repeating pattern of bytes in C<pattern>.  The pattern "
+"is truncated if necessary to ensure the length of the file is exactly C<len> "
+"bytes."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:732
-msgid "df"
+#: ../fish/guestfish-actions.pod:1145
+msgid "find"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:734
+#: ../fish/guestfish-actions.pod:1147
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" df\n"
+" find directory\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish-actions.pod:742
-msgid "df-h"
+# type: textblock
+#: ../fish/guestfish-actions.pod:1161
+msgid "then the returned list from L</find> C</tmp> would be 4 elements:"
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish-actions.pod:744
-#, no-wrap
-msgid ""
-" df-h\n"
-"\n"
+# type: textblock
+#: ../fish/guestfish-actions.pod:1174
+msgid "See also L</find0>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:753
-msgid "dmesg"
+#: ../fish/guestfish-actions.pod:1179
+msgid "find0"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:755
+#: ../fish/guestfish-actions.pod:1181
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" dmesg\n"
+" find0 directory (files|-)\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:761
-msgid ""
-"Another way to get the same information is to enable verbose messages with "
-"C<set-verbose> or by setting the environment variable C<LIBGUESTFS_DEBUG=1> "
-"before running the program."
+#: ../fish/guestfish-actions.pod:1187
+msgid "This command works the same way as L</find> with the following exceptions:"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:766
-msgid "download"
+#: ../fish/guestfish-actions.pod:1214
+msgid "findfs-label"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:768
+#: ../fish/guestfish-actions.pod:1216
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" download remotefilename (filename|-)\n"
+" findfs-label label\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:775
-msgid "See also C<upload>, C<cat>."
+#: ../fish/guestfish-actions.pod:1222
+msgid "To find the label of a filesystem, use L</vfs-label>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:779
-msgid "drop-caches"
+#: ../fish/guestfish-actions.pod:1224
+msgid "findfs-uuid"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:781
+#: ../fish/guestfish-actions.pod:1226
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" drop-caches whattodrop\n"
+" findfs-uuid uuid\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:1232
+msgid "To find the UUID of a filesystem, use L</vfs-uuid>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:793
-msgid "du"
+#: ../fish/guestfish-actions.pod:1234
+msgid "fsck"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:795
+#: ../fish/guestfish-actions.pod:1236
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" du path\n"
+" fsck fstype device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:807
-msgid "e2fsck-f"
+#: ../fish/guestfish-actions.pod:1266
+msgid "get-append"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:809
+#: ../fish/guestfish-actions.pod:1268
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" e2fsck-f device\n"
+" get-append\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:815
-msgid ""
-"This command is only needed because of C<resize2fs> (q.v.).  Normally you "
-"should use C<fsck>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:818
-msgid "echo-daemon"
+#: ../fish/guestfish-actions.pod:1275
+msgid "get-autosync"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:820
+#: ../fish/guestfish-actions.pod:1277
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" echo-daemon 'words ...'\n"
+" get-autosync\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:827
-msgid "See also C<ping-daemon>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:829
-msgid "egrep"
+#: ../fish/guestfish-actions.pod:1281
+msgid "get-direct"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:831
+#: ../fish/guestfish-actions.pod:1283
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" egrep regex path\n"
+" get-direct\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:839
-msgid "egrepi"
+#: ../fish/guestfish-actions.pod:1287
+msgid "get-e2label"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:841
+#: ../fish/guestfish-actions.pod:1289
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" egrepi regex path\n"
+" get-e2label device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:849
-msgid "equal"
+#: ../fish/guestfish-actions.pod:1301
+msgid "get-e2uuid"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:851
+#: ../fish/guestfish-actions.pod:1303
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" equal file1 file2\n"
+" get-e2uuid device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:858
-msgid "exists"
+#: ../fish/guestfish-actions.pod:1315
+msgid "get-memsize"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:860
+#: ../fish/guestfish-actions.pod:1317
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" exists path\n"
+" get-memsize\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:865
-msgid "See also C<is-file>, C<is-dir>, C<stat>."
+#: ../fish/guestfish-actions.pod:1322
+msgid ""
+"If L</set-memsize> was not called on this handle, and if "
+"C<LIBGUESTFS_MEMSIZE> was not set, then this returns the compiled-in default "
+"value for memsize."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:867
-msgid "fallocate"
+#: ../fish/guestfish-actions.pod:1329
+msgid "get-network"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:869
+#: ../fish/guestfish-actions.pod:1331
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" fallocate path len\n"
+" get-network\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:886
-msgid "fallocate64"
+#: ../fish/guestfish-actions.pod:1335
+msgid "get-path"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:888
+#: ../fish/guestfish-actions.pod:1337
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" fallocate64 path len\n"
+" get-path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:894
-msgid ""
-"Note that this call allocates disk blocks for the file.  To create a sparse "
-"file use C<truncate-size> instead."
+# type: =head2
+#: ../fish/guestfish-actions.pod:1344
+msgid "get-pid"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:897
+# type: =head2
+#: ../fish/guestfish-actions.pod:1346
+msgid "pid"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish-actions.pod:1348
+#, no-wrap
 msgid ""
 msgid ""
-"The deprecated call C<fallocate> does the same, but owing to an oversight it "
-"only allowed 30 bit lengths to be specified, effectively limiting the "
-"maximum size of files created through that call to 1GB."
+" get-pid\n"
+"\n"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:906
-msgid "fgrep"
+#: ../fish/guestfish-actions.pod:1355
+msgid "get-qemu"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:908
+#: ../fish/guestfish-actions.pod:1357
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" fgrep pattern path\n"
+" get-qemu\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:916
-msgid "fgrepi"
+#: ../fish/guestfish-actions.pod:1364
+msgid "get-recovery-proc"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:918
+#: ../fish/guestfish-actions.pod:1366
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" fgrepi pattern path\n"
+" get-recovery-proc\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:926
-msgid "file"
+#: ../fish/guestfish-actions.pod:1370
+msgid "get-selinux"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:928
+#: ../fish/guestfish-actions.pod:1372
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" file path\n"
+" get-selinux\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:940
+#: ../fish/guestfish-actions.pod:1374
 msgid ""
 msgid ""
-"This command can also be used on C</dev/> devices (and partitions, LV "
-"names).  You can for example use this to determine if a device contains a "
-"filesystem, although it's usually better to use C<vfs-type>."
+"This returns the current setting of the selinux flag which is passed to the "
+"appliance at boot time.  See L</set-selinux>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:950
-msgid "file-architecture"
+#: ../fish/guestfish-actions.pod:1380
+msgid "get-state"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:952
+#: ../fish/guestfish-actions.pod:1382
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" file-architecture filename\n"
+" get-state\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1055
-msgid "filesize"
+#: ../fish/guestfish-actions.pod:1389
+msgid "get-trace"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1057
+#: ../fish/guestfish-actions.pod:1391
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" filesize file\n"
+" get-trace\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:1061
-msgid ""
-"To get other stats about a file, use C<stat>, C<lstat>, C<is-dir>, "
-"C<is-file> etc.  To get the size of block devices, use "
-"C<blockdev-getsize64>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:1065
-msgid "fill"
+#: ../fish/guestfish-actions.pod:1395
+msgid "get-umask"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1067
+#: ../fish/guestfish-actions.pod:1397
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" fill c len path\n"
+" get-umask\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:1073
+#: ../fish/guestfish-actions.pod:1399
 msgid ""
 msgid ""
-"To fill a file with zero bytes (sparsely), it is much more efficient to use "
-"C<truncate-size>.  To create a file with a pattern of repeating bytes use "
-"C<fill-pattern>."
+"Return the current umask.  By default the umask is C<022> unless it has been "
+"set by calling L</umask>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1078
-msgid "fill-pattern"
+#: ../fish/guestfish-actions.pod:1402
+msgid "get-verbose"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1080
+#: ../fish/guestfish-actions.pod:1404
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" fill-pattern pattern len path\n"
+" get-verbose\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:1082
-msgid ""
-"This function is like C<fill> except that it creates a new file of length "
-"C<len> containing the repeating pattern of bytes in C<pattern>.  The pattern "
-"is truncated if necessary to ensure the length of the file is exactly C<len> "
-"bytes."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:1087
-msgid "find"
+#: ../fish/guestfish-actions.pod:1408
+msgid "getcon"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1089
+#: ../fish/guestfish-actions.pod:1410
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" find directory\n"
+" getcon\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:1103
-msgid "then the returned list from C<find> C</tmp> would be 4 elements:"
-msgstr ""
-
-# type: textblock
-#: ../fish/guestfish-actions.pod:1116
-msgid "See also C<find0>."
+#: ../fish/guestfish-actions.pod:1414
+msgid "See the documentation about SELINUX in L<guestfs(3)>, and L</setcon>"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1121
-msgid "find0"
+#: ../fish/guestfish-actions.pod:1417
+msgid "getxattrs"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1123
+#: ../fish/guestfish-actions.pod:1419
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" find0 directory (files|-)\n"
+" getxattrs path\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:1129
-msgid "This command works the same way as C<find> with the following exceptions:"
+#: ../fish/guestfish-actions.pod:1427
+msgid "See also: L</lgetxattrs>, L<attr(5)>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1156
-msgid "findfs-label"
+#: ../fish/guestfish-actions.pod:1429
+msgid "glob-expand"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1158
+#: ../fish/guestfish-actions.pod:1431
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" findfs-label label\n"
+" glob-expand pattern\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:1164
-msgid "To find the label of a filesystem, use C<vfs-label>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:1166
-msgid "findfs-uuid"
+#: ../fish/guestfish-actions.pod:1444
+msgid "grep"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1168
+#: ../fish/guestfish-actions.pod:1446
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" findfs-uuid uuid\n"
+" grep regex path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:1174
-msgid "To find the UUID of a filesystem, use C<vfs-uuid>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:1176
-msgid "fsck"
+#: ../fish/guestfish-actions.pod:1454
+msgid "grepi"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1178
+#: ../fish/guestfish-actions.pod:1456
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" fsck fstype device\n"
+" grepi regex path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1208
-msgid "get-append"
+#: ../fish/guestfish-actions.pod:1464
+msgid "grub-install"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1210
+#: ../fish/guestfish-actions.pod:1466
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" get-append\n"
+" grub-install root device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1217
-msgid "get-autosync"
+#: ../fish/guestfish-actions.pod:1482
+msgid "head"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1219
+#: ../fish/guestfish-actions.pod:1484
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" get-autosync\n"
+" head path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1223
-msgid "get-direct"
+#: ../fish/guestfish-actions.pod:1492
+msgid "head-n"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1225
+#: ../fish/guestfish-actions.pod:1494
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" get-direct\n"
+" head-n nrlines path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1229
-msgid "get-e2label"
+#: ../fish/guestfish-actions.pod:1507
+msgid "hexdump"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1231
+#: ../fish/guestfish-actions.pod:1509
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" get-e2label device\n"
+" hexdump path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1243
-msgid "get-e2uuid"
+#: ../fish/guestfish-actions.pod:1517
+msgid "initrd-cat"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1245
+#: ../fish/guestfish-actions.pod:1519
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" get-e2uuid device\n"
+" initrd-cat initrdpath filename\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:1531
+msgid "See also L</initrd-list>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:1257
-msgid "get-memsize"
+#: ../fish/guestfish-actions.pod:1536
+msgid "initrd-list"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1259
+#: ../fish/guestfish-actions.pod:1538
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" get-memsize\n"
+" initrd-list path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:1264
-msgid ""
-"If C<set-memsize> was not called on this handle, and if "
-"C<LIBGUESTFS_MEMSIZE> was not set, then this returns the compiled-in default "
-"value for memsize."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:1271
-msgid "get-network"
+#: ../fish/guestfish-actions.pod:1550
+msgid "inotify-add-watch"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1273
+#: ../fish/guestfish-actions.pod:1552
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" get-network\n"
+" inotify-add-watch path mask\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1277
-msgid "get-path"
+#: ../fish/guestfish-actions.pod:1564
+msgid "inotify-close"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1279
+#: ../fish/guestfish-actions.pod:1566
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" get-path\n"
+" inotify-close\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1286
-msgid "get-pid | pid"
+#: ../fish/guestfish-actions.pod:1572
+msgid "inotify-files"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1288
+#: ../fish/guestfish-actions.pod:1574
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" get-pid\n"
+" inotify-files\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:1576
+msgid ""
+"This function is a helpful wrapper around L</inotify-read> which just "
+"returns a list of pathnames of objects that were touched.  The returned "
+"pathnames are sorted and deduplicated."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:1295
-msgid "get-qemu"
+#: ../fish/guestfish-actions.pod:1580
+msgid "inotify-init"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1297
+#: ../fish/guestfish-actions.pod:1582
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" get-qemu\n"
+" inotify-init maxevents\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:1588
+msgid ""
+"C<maxevents> is the maximum number of events which will be queued up between "
+"calls to L</inotify-read> or L</inotify-files>.  If this is passed as C<0>, "
+"then the kernel (or previously set)  default is used.  For Linux 2.6.29 the "
+"default was 16384 events.  Beyond this limit, the kernel throws away events, "
+"but records the fact that it threw them away by setting a flag "
+"C<IN_Q_OVERFLOW> in the returned structure list (see L</inotify-read>)."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:1598
+msgid ""
+"Before any events are generated, you have to add some watches to the "
+"internal watch list.  See: L</inotify-add-watch>, L</inotify-rm-watch> and "
+"L</inotify-watch-all>."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:1604
+msgid ""
+"Queued up events should be read periodically by calling L</inotify-read> (or "
+"L</inotify-files> which is just a helpful wrapper around L</inotify-read>).  "
+"If you don't read the events out often enough then you risk the internal "
+"queue overflowing."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:1611
+msgid ""
+"The handle should be closed after use by calling L</inotify-close>.  This "
+"also removes any watches automatically."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:1304
-msgid "get-recovery-proc"
+#: ../fish/guestfish-actions.pod:1620
+msgid "inotify-read"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1306
+#: ../fish/guestfish-actions.pod:1622
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" get-recovery-proc\n"
+" inotify-read\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1310
-msgid "get-selinux"
+#: ../fish/guestfish-actions.pod:1635
+msgid "inotify-rm-watch"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1312
+#: ../fish/guestfish-actions.pod:1637
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" get-selinux\n"
+" inotify-rm-watch wd\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:1314
-msgid ""
-"This returns the current setting of the selinux flag which is passed to the "
-"appliance at boot time.  See C<set-selinux>."
+#: ../fish/guestfish-actions.pod:1639
+msgid "Remove a previously defined inotify watch.  See L</inotify-add-watch>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1320
-msgid "get-state"
+#: ../fish/guestfish-actions.pod:1642
+msgid "inspect-get-arch"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1322
+#: ../fish/guestfish-actions.pod:1644
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" get-state\n"
+" inspect-get-arch root\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:1646 ../fish/guestfish-actions.pod:1662 ../fish/guestfish-actions.pod:1708 ../fish/guestfish-actions.pod:1726 ../fish/guestfish-actions.pod:1747 ../fish/guestfish-actions.pod:1762 ../fish/guestfish-actions.pod:1785 ../fish/guestfish-actions.pod:1802
+msgid ""
+"This function should only be called with a root device string as returned by "
+"L</inspect-os>."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:1649
+msgid ""
+"This returns the architecture of the inspected operating system.  The "
+"possible return values are listed under L</file-architecture>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:1329
-msgid "get-trace"
+#: ../fish/guestfish-actions.pod:1658
+msgid "inspect-get-distro"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1331
+#: ../fish/guestfish-actions.pod:1660
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" get-trace\n"
+" inspect-get-distro root\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1335
-msgid "get-umask"
+#: ../fish/guestfish-actions.pod:1704
+msgid "inspect-get-filesystems"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1337
+#: ../fish/guestfish-actions.pod:1706
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" get-umask\n"
+" inspect-get-filesystems root\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:1339
+#: ../fish/guestfish-actions.pod:1719
 msgid ""
 msgid ""
-"Return the current umask.  By default the umask is C<022> unless it has been "
-"set by calling C<umask>."
+"Please read L<guestfs(3)/INSPECTION> for more details.  See also "
+"L</inspect-get-mountpoints>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1342
-msgid "get-verbose"
+#: ../fish/guestfish-actions.pod:1722
+msgid "inspect-get-major-version"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1344
+#: ../fish/guestfish-actions.pod:1724
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" get-verbose\n"
+" inspect-get-major-version root\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1348
-msgid "getcon"
+#: ../fish/guestfish-actions.pod:1743
+msgid "inspect-get-minor-version"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1350
+#: ../fish/guestfish-actions.pod:1745
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" getcon\n"
+" inspect-get-minor-version root\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:1354
-msgid "See the documentation about SELINUX in L<guestfs(3)>, and C<setcon>"
+#: ../fish/guestfish-actions.pod:1755
+msgid ""
+"Please read L<guestfs(3)/INSPECTION> for more details.  See also "
+"L</inspect-get-major-version>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1357
-msgid "getxattrs"
+#: ../fish/guestfish-actions.pod:1758
+msgid "inspect-get-mountpoints"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1359
+#: ../fish/guestfish-actions.pod:1760
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" getxattrs path\n"
+" inspect-get-mountpoints root\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:1367
-msgid "See also: C<lgetxattrs>, L<attr(5)>."
+#: ../fish/guestfish-actions.pod:1778
+msgid ""
+"Please read L<guestfs(3)/INSPECTION> for more details.  See also "
+"L</inspect-get-filesystems>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1369
-msgid "glob-expand"
+#: ../fish/guestfish-actions.pod:1781
+msgid "inspect-get-product-name"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1371
+#: ../fish/guestfish-actions.pod:1783
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" glob-expand pattern\n"
+" inspect-get-product-name root\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1384
-msgid "grep"
+#: ../fish/guestfish-actions.pod:1798
+msgid "inspect-get-type"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1386
+#: ../fish/guestfish-actions.pod:1800
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" grep regex path\n"
+" inspect-get-type root\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1394
-msgid "grepi"
+#: ../fish/guestfish-actions.pod:1829
+msgid "inspect-os"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1396
+#: ../fish/guestfish-actions.pod:1831
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" grepi regex path\n"
+" inspect-os\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:1846
+msgid ""
+"You can pass the root string(s) returned to other L</inspect-get-*> "
+"functions in order to query further information about each operating system, "
+"such as the name and version."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:1851
+msgid ""
+"This function uses other libguestfs features such as L</mount-ro> and "
+"L</umount-all> in order to mount and unmount filesystems and look at the "
+"contents.  This should be called with no disks currently mounted.  The "
+"function may also use Augeas, so any existing Augeas handle will be closed."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:1863 ../fish/guestfish-actions.pod:2019 ../fish/guestfish-actions.pod:2065
+msgid "See also L</list-filesystems>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:1404
-msgid "grub-install"
+#: ../fish/guestfish-actions.pod:1865
+msgid "is-blockdev"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1406
+#: ../fish/guestfish-actions.pod:1867
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" grub-install root device\n"
+" is-blockdev path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:1872 ../fish/guestfish-actions.pod:1890 ../fish/guestfish-actions.pod:1909 ../fish/guestfish-actions.pod:1918 ../fish/guestfish-actions.pod:1928 ../fish/guestfish-actions.pod:1962 ../fish/guestfish-actions.pod:1971
+msgid "See also L</stat>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:1422
-msgid "head"
+#: ../fish/guestfish-actions.pod:1874
+msgid "is-busy"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1424
+#: ../fish/guestfish-actions.pod:1876
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" head path\n"
+" is-busy\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1432
-msgid "head-n"
+#: ../fish/guestfish-actions.pod:1883
+msgid "is-chardev"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1434
+#: ../fish/guestfish-actions.pod:1885
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" head-n nrlines path\n"
+" is-chardev path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1447
-msgid "hexdump"
+#: ../fish/guestfish-actions.pod:1892
+msgid "is-config"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1449
+#: ../fish/guestfish-actions.pod:1894
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" hexdump path\n"
+" is-config\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1457
-msgid "initrd-cat"
+#: ../fish/guestfish-actions.pod:1901
+msgid "is-dir"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1459
+#: ../fish/guestfish-actions.pod:1903
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" initrd-cat initrdpath filename\n"
+" is-dir path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:1471
-msgid "See also C<initrd-list>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:1476
-msgid "initrd-list"
+#: ../fish/guestfish-actions.pod:1911
+msgid "is-fifo"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1478
+#: ../fish/guestfish-actions.pod:1913
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" initrd-list path\n"
+" is-fifo path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1490
-msgid "inotify-add-watch"
+#: ../fish/guestfish-actions.pod:1920
+msgid "is-file"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1492
+#: ../fish/guestfish-actions.pod:1922
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" inotify-add-watch path mask\n"
+" is-file path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1504
-msgid "inotify-close"
+#: ../fish/guestfish-actions.pod:1930
+msgid "is-launching"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1506
+#: ../fish/guestfish-actions.pod:1932
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" inotify-close\n"
+" is-launching\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1512
-msgid "inotify-files"
+#: ../fish/guestfish-actions.pod:1939
+msgid "is-lv"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1514
+#: ../fish/guestfish-actions.pod:1941
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" inotify-files\n"
+" is-lv device\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:1516
+# type: =head2
+#: ../fish/guestfish-actions.pod:1946
+msgid "is-ready"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish-actions.pod:1948
+#, no-wrap
 msgid ""
 msgid ""
-"This function is a helpful wrapper around C<inotify-read> which just returns "
-"a list of pathnames of objects that were touched.  The returned pathnames "
-"are sorted and deduplicated."
+" is-ready\n"
+"\n"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1520
-msgid "inotify-init"
+#: ../fish/guestfish-actions.pod:1955
+msgid "is-socket"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1522
+#: ../fish/guestfish-actions.pod:1957
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" inotify-init maxevents\n"
+" is-socket path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:1528
-msgid ""
-"C<maxevents> is the maximum number of events which will be queued up between "
-"calls to C<inotify-read> or C<inotify-files>.  If this is passed as C<0>, "
-"then the kernel (or previously set)  default is used.  For Linux 2.6.29 the "
-"default was 16384 events.  Beyond this limit, the kernel throws away events, "
-"but records the fact that it threw them away by setting a flag "
-"C<IN_Q_OVERFLOW> in the returned structure list (see C<inotify-read>)."
+# type: =head2
+#: ../fish/guestfish-actions.pod:1964
+msgid "is-symlink"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:1538
+# type: verbatim
+#: ../fish/guestfish-actions.pod:1966
+#, no-wrap
 msgid ""
 msgid ""
-"Before any events are generated, you have to add some watches to the "
-"internal watch list.  See: C<inotify-add-watch>, C<inotify-rm-watch> and "
-"C<inotify-watch-all>."
+" is-symlink path\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:1544
-msgid ""
-"Queued up events should be read periodically by calling C<inotify-read> (or "
-"C<inotify-files> which is just a helpful wrapper around C<inotify-read>).  "
-"If you don't read the events out often enough then you risk the internal "
-"queue overflowing."
+# type: =head2
+#: ../fish/guestfish-actions.pod:1973
+msgid "kill-subprocess"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:1551
+# type: verbatim
+#: ../fish/guestfish-actions.pod:1975
+#, no-wrap
 msgid ""
 msgid ""
-"The handle should be closed after use by calling C<inotify-close>.  This "
-"also removes any watches automatically."
+" kill-subprocess\n"
+"\n"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1560
-msgid "inotify-read"
+#: ../fish/guestfish-actions.pod:1979
+msgid "launch"
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-actions.pod:1981
+msgid "run"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1562
+#: ../fish/guestfish-actions.pod:1983
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" inotify-read\n"
+" launch\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1575
-msgid "inotify-rm-watch"
+#: ../fish/guestfish-actions.pod:1991
+msgid "lchown"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1577
+#: ../fish/guestfish-actions.pod:1993
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" inotify-rm-watch wd\n"
+" lchown owner group path\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:1579
-msgid "Remove a previously defined inotify watch.  See C<inotify-add-watch>."
+#: ../fish/guestfish-actions.pod:1995
+msgid ""
+"Change the file owner to C<owner> and group to C<group>.  This is like "
+"L</chown> but if C<path> is a symlink then the link itself is changed, not "
+"the target."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1582
-msgid "inspect-get-arch"
+#: ../fish/guestfish-actions.pod:2003
+msgid "lgetxattrs"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1584
+#: ../fish/guestfish-actions.pod:2005
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" inspect-get-arch root\n"
+" lgetxattrs path\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:1586 ../fish/guestfish-actions.pod:1602 ../fish/guestfish-actions.pod:1648 ../fish/guestfish-actions.pod:1666 ../fish/guestfish-actions.pod:1687 ../fish/guestfish-actions.pod:1702 ../fish/guestfish-actions.pod:1725 ../fish/guestfish-actions.pod:1742
-msgid ""
-"This function should only be called with a root device string as returned by "
-"C<inspect-os>."
-msgstr ""
-
-# type: textblock
-#: ../fish/guestfish-actions.pod:1589
+#: ../fish/guestfish-actions.pod:2007
 msgid ""
 msgid ""
-"This returns the architecture of the inspected operating system.  The "
-"possible return values are listed under C<file-architecture>."
+"This is the same as L</getxattrs>, but if C<path> is a symbolic link, then "
+"it returns the extended attributes of the link itself."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1598
-msgid "inspect-get-distro"
+#: ../fish/guestfish-actions.pod:2011
+msgid "list-devices"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1600
+#: ../fish/guestfish-actions.pod:2013
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" inspect-get-distro root\n"
+" list-devices\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1644
-msgid "inspect-get-filesystems"
+#: ../fish/guestfish-actions.pod:2021
+msgid "list-filesystems"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1646
+#: ../fish/guestfish-actions.pod:2023
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" inspect-get-filesystems root\n"
+" list-filesystems\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:1659
+#: ../fish/guestfish-actions.pod:2042
 msgid ""
 msgid ""
-"Please read L<guestfs(3)/INSPECTION> for more details.  See also "
-"C<inspect-get-mountpoints>."
-msgstr ""
-
-# type: =head2
-#: ../fish/guestfish-actions.pod:1662
-msgid "inspect-get-major-version"
+"This command runs other libguestfs commands, which might include L</mount> "
+"and L</umount>, and therefore you should use this soon after launch and only "
+"when nothing is mounted."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish-actions.pod:1664
-#, no-wrap
+# type: textblock
+#: ../fish/guestfish-actions.pod:2046
 msgid ""
 msgid ""
-" inspect-get-major-version root\n"
-"\n"
+"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 "
+"each filesystem found is valid and mountable, and some filesystems might be "
+"mountable but require special options.  Filesystems may not all belong to a "
+"single logical operating system (use L</inspect-os> to look for OSes)."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1683
-msgid "inspect-get-minor-version"
+#: ../fish/guestfish-actions.pod:2054
+msgid "list-partitions"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1685
+#: ../fish/guestfish-actions.pod:2056
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" inspect-get-minor-version root\n"
+" list-partitions\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:1695
+#: ../fish/guestfish-actions.pod:2062
 msgid ""
 msgid ""
-"Please read L<guestfs(3)/INSPECTION> for more details.  See also "
-"C<inspect-get-major-version>."
+"This does not return logical volumes.  For that you will need to call "
+"L</lvs>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1698
-msgid "inspect-get-mountpoints"
+#: ../fish/guestfish-actions.pod:2067
+msgid "ll"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1700
+#: ../fish/guestfish-actions.pod:2069
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" inspect-get-mountpoints root\n"
+" ll directory\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:1718
-msgid ""
-"Please read L<guestfs(3)/INSPECTION> for more details.  See also "
-"C<inspect-get-filesystems>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:1721
-msgid "inspect-get-product-name"
+#: ../fish/guestfish-actions.pod:2077
+msgid "ln"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1723
+#: ../fish/guestfish-actions.pod:2079
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" inspect-get-product-name root\n"
+" ln target linkname\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1738
-msgid "inspect-get-type"
+#: ../fish/guestfish-actions.pod:2083
+msgid "ln-f"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1740
+#: ../fish/guestfish-actions.pod:2085
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" inspect-get-type root\n"
+" ln-f target linkname\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1769
-msgid "inspect-os"
+#: ../fish/guestfish-actions.pod:2090
+msgid "ln-s"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1771
+#: ../fish/guestfish-actions.pod:2092
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" inspect-os\n"
+" ln-s target linkname\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:1786
-msgid ""
-"You can pass the root string(s) returned to other C<inspect-get-*> functions "
-"in order to query further information about each operating system, such as "
-"the name and version."
+# type: =head2
+#: ../fish/guestfish-actions.pod:2096
+msgid "ln-sf"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:1791
+# type: verbatim
+#: ../fish/guestfish-actions.pod:2098
+#, no-wrap
 msgid ""
 msgid ""
-"This function uses other libguestfs features such as C<mount-ro> and "
-"C<umount-all> in order to mount and unmount filesystems and look at the "
-"contents.  This should be called with no disks currently mounted.  The "
-"function may also use Augeas, so any existing Augeas handle will be closed."
-msgstr ""
-
-# type: textblock
-#: ../fish/guestfish-actions.pod:1803 ../fish/guestfish-actions.pod:1957 ../fish/guestfish-actions.pod:2003
-msgid "See also C<list-filesystems>."
+" ln-sf target linkname\n"
+"\n"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1805
-msgid "is-blockdev"
+#: ../fish/guestfish-actions.pod:2103
+msgid "lremovexattr"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1807
+#: ../fish/guestfish-actions.pod:2105
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" is-blockdev path\n"
+" lremovexattr xattr path\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:1812 ../fish/guestfish-actions.pod:1830 ../fish/guestfish-actions.pod:1849 ../fish/guestfish-actions.pod:1858 ../fish/guestfish-actions.pod:1868 ../fish/guestfish-actions.pod:1902 ../fish/guestfish-actions.pod:1911
-msgid "See also C<stat>."
+#: ../fish/guestfish-actions.pod:2107
+msgid ""
+"This is the same as L</removexattr>, but if C<path> is a symbolic link, then "
+"it removes an extended attribute of the link itself."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1814
-msgid "is-busy"
+#: ../fish/guestfish-actions.pod:2111
+msgid "ls"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1816
+#: ../fish/guestfish-actions.pod:2113
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" is-busy\n"
+" ls directory\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:2119
+msgid ""
+"This command is mostly useful for interactive sessions.  Programs should "
+"probably use L</readdir> instead."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:1823
-msgid "is-chardev"
+#: ../fish/guestfish-actions.pod:2122
+msgid "lsetxattr"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1825
+#: ../fish/guestfish-actions.pod:2124
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" is-chardev path\n"
+" lsetxattr xattr val vallen path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:2126
+msgid ""
+"This is the same as L</setxattr>, but if C<path> is a symbolic link, then it "
+"sets an extended attribute of the link itself."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:1832
-msgid "is-config"
+#: ../fish/guestfish-actions.pod:2130
+msgid "lstat"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1834
+#: ../fish/guestfish-actions.pod:2132
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" is-config\n"
+" lstat path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:2136
+msgid ""
+"This is the same as L</stat> except that if C<path> is a symbolic link, then "
+"the link is stat-ed, not the file it refers to."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:1841
-msgid "is-dir"
+#: ../fish/guestfish-actions.pod:2142
+msgid "lstatlist"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1843
+#: ../fish/guestfish-actions.pod:2144
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" is-dir path\n"
+" lstatlist path 'names ...'\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish-actions.pod:1851
-msgid "is-fifo"
+# type: textblock
+#: ../fish/guestfish-actions.pod:2146
+msgid ""
+"This call allows you to perform the L</lstat> operation on multiple files, "
+"where all files are in the directory C<path>.  C<names> is the list of files "
+"from this directory."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish-actions.pod:1853
-#, no-wrap
+# type: textblock
+#: ../fish/guestfish-actions.pod:2155
 msgid ""
 msgid ""
-" is-fifo path\n"
-"\n"
+"This call is intended for programs that want to efficiently list a directory "
+"contents without making many round-trips.  See also L</lxattrlist> for a "
+"similarly efficient call for getting extended attributes.  Very long "
+"directory listings might cause the protocol message size to be exceeded, "
+"causing this call to fail.  The caller must split up such requests into "
+"smaller groups of names."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1860
-msgid "is-file"
+#: ../fish/guestfish-actions.pod:2163
+msgid "luks-add-key"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1862
+#: ../fish/guestfish-actions.pod:2165
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" is-file path\n"
+" luks-add-key device keyslot\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish-actions.pod:1870
-msgid "is-launching"
+# type: textblock
+#: ../fish/guestfish-actions.pod:2172
+msgid ""
+"Note that if C<keyslot> already contains a key, then this command will "
+"fail.  You have to use L</luks-kill-slot> first to remove that key."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish-actions.pod:1872
-#, no-wrap
+# type: textblock
+#: ../fish/guestfish-actions.pod:2176 ../fish/guestfish-actions.pod:2198 ../fish/guestfish-actions.pod:2211 ../fish/guestfish-actions.pod:2225 ../fish/guestfish-actions.pod:2248 ../fish/guestfish-actions.pod:2258
 msgid ""
 msgid ""
-" is-launching\n"
-"\n"
+"This command has one or more key or passphrase parameters.  Guestfish will "
+"prompt for these separately."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1879
-msgid "is-lv"
+#: ../fish/guestfish-actions.pod:2179
+msgid "luks-close"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1881
+#: ../fish/guestfish-actions.pod:2181
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" is-lv device\n"
+" luks-close device\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:2183
+msgid ""
+"This closes a LUKS device that was created earlier by L</luks-open> or "
+"L</luks-open-ro>.  The C<device> parameter must be the name of the LUKS "
+"mapping device (ie. C</dev/mapper/mapname>) and I<not> the name of the "
+"underlying block device."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:1886
-msgid "is-ready"
+#: ../fish/guestfish-actions.pod:2189
+msgid "luks-format"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1888
+#: ../fish/guestfish-actions.pod:2191
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" is-ready\n"
+" luks-format device keyslot\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1895
-msgid "is-socket"
+#: ../fish/guestfish-actions.pod:2204
+msgid "luks-format-cipher"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1897
+#: ../fish/guestfish-actions.pod:2206
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" is-socket path\n"
+" luks-format-cipher device keyslot cipher\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish-actions.pod:1904
-msgid "is-symlink"
-msgstr ""
-
-# type: verbatim
-#: ../fish/guestfish-actions.pod:1906
-#, no-wrap
-msgid ""
-" is-symlink path\n"
-"\n"
-msgstr ""
-
-# type: =head2
-#: ../fish/guestfish-actions.pod:1913
-msgid "kill-subprocess"
-msgstr ""
-
-# type: verbatim
-#: ../fish/guestfish-actions.pod:1915
-#, no-wrap
+# type: textblock
+#: ../fish/guestfish-actions.pod:2208
 msgid ""
 msgid ""
-" kill-subprocess\n"
-"\n"
+"This command is the same as L</luks-format> but it also allows you to set "
+"the C<cipher> used."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1919
-msgid "launch | run"
+#: ../fish/guestfish-actions.pod:2217
+msgid "luks-kill-slot"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1921
+#: ../fish/guestfish-actions.pod:2219
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" launch\n"
+" luks-kill-slot device keyslot\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1929
-msgid "lchown"
+#: ../fish/guestfish-actions.pod:2228
+msgid "luks-open"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1931
+#: ../fish/guestfish-actions.pod:2230
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lchown owner group path\n"
+" luks-open device mapname\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:1933
+#: ../fish/guestfish-actions.pod:2244
 msgid ""
 msgid ""
-"Change the file owner to C<owner> and group to C<group>.  This is like "
-"C<chown> but if C<path> is a symlink then the link itself is changed, not "
-"the target."
+"If this block device contains LVM volume groups, then calling L</vgscan> "
+"followed by L</vg-activate-all> will make them visible."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1941
-msgid "lgetxattrs"
+#: ../fish/guestfish-actions.pod:2251
+msgid "luks-open-ro"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1943
+#: ../fish/guestfish-actions.pod:2253
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lgetxattrs path\n"
+" luks-open-ro device mapname\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:1945
+#: ../fish/guestfish-actions.pod:2255
 msgid ""
 msgid ""
-"This is the same as C<getxattrs>, but if C<path> is a symbolic link, then it "
-"returns the extended attributes of the link itself."
+"This is the same as L</luks-open> except that a read-only mapping is "
+"created."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1949
-msgid "list-devices"
+#: ../fish/guestfish-actions.pod:2261
+msgid "lvcreate"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1951
+#: ../fish/guestfish-actions.pod:2263
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" list-devices\n"
+" lvcreate logvol volgroup mbytes\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1959
-msgid "list-filesystems"
+#: ../fish/guestfish-actions.pod:2268
+msgid "lvm-clear-filter"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1961
+#: ../fish/guestfish-actions.pod:2270
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" list-filesystems\n"
+" lvm-clear-filter\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:1980
+#: ../fish/guestfish-actions.pod:2272
 msgid ""
 msgid ""
-"This command runs other libguestfs commands, which might include C<mount> "
-"and C<umount>, and therefore you should use this soon after launch and only "
-"when nothing is mounted."
-msgstr ""
-
-# type: textblock
-#: ../fish/guestfish-actions.pod:1984
-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 "
-"each filesystem found is valid and mountable, and some filesystems might be "
-"mountable but require special options.  Filesystems may not all belong to a "
-"single logical operating system (use C<inspect-os> to look for OSes)."
+"This undoes the effect of L</lvm-set-filter>.  LVM will be able to see every "
+"block device."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:1992
-msgid "list-partitions"
+#: ../fish/guestfish-actions.pod:2278
+msgid "lvm-remove-all"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:1994
+#: ../fish/guestfish-actions.pod:2280
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" list-partitions\n"
+" lvm-remove-all\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:2000
-msgid ""
-"This does not return logical volumes.  For that you will need to call "
-"C<lvs>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2005
-msgid "ll"
+#: ../fish/guestfish-actions.pod:2288
+msgid "lvm-set-filter"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2007
+#: ../fish/guestfish-actions.pod:2290
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" ll directory\n"
+" lvm-set-filter 'devices ...'\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2015
-msgid "ln"
+#: ../fish/guestfish-actions.pod:2315
+msgid "lvremove"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2017
+#: ../fish/guestfish-actions.pod:2317
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" ln target linkname\n"
+" lvremove device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2021
-msgid "ln-f"
+#: ../fish/guestfish-actions.pod:2325
+msgid "lvrename"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2023
+#: ../fish/guestfish-actions.pod:2327
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" ln-f target linkname\n"
+" lvrename logvol newlogvol\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2028
-msgid "ln-s"
+#: ../fish/guestfish-actions.pod:2331
+msgid "lvresize"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2030
+#: ../fish/guestfish-actions.pod:2333
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" ln-s target linkname\n"
+" lvresize device mbytes\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2034
-msgid "ln-sf"
+#: ../fish/guestfish-actions.pod:2339
+msgid "lvresize-free"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2036
+#: ../fish/guestfish-actions.pod:2341
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" ln-sf target linkname\n"
+" lvresize-free lv percent\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2041
-msgid "lremovexattr"
+#: ../fish/guestfish-actions.pod:2349
+msgid "lvs"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2043
+#: ../fish/guestfish-actions.pod:2351
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lremovexattr xattr path\n"
+" lvs\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2045
-msgid ""
-"This is the same as C<removexattr>, but if C<path> is a symbolic link, then "
-"it removes an extended attribute of the link itself."
+#: ../fish/guestfish-actions.pod:2359
+msgid "See also L</lvs-full>, L</list-filesystems>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2049
-msgid "ls"
+#: ../fish/guestfish-actions.pod:2361
+msgid "lvs-full"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2051
+#: ../fish/guestfish-actions.pod:2363
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" ls directory\n"
+" lvs-full\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:2057
-msgid ""
-"This command is mostly useful for interactive sessions.  Programs should "
-"probably use C<readdir> instead."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2060
-msgid "lsetxattr"
+#: ../fish/guestfish-actions.pod:2368
+msgid "lvuuid"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2062
+#: ../fish/guestfish-actions.pod:2370
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lsetxattr xattr val vallen path\n"
+" lvuuid device\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:2064
-msgid ""
-"This is the same as C<setxattr>, but if C<path> is a symbolic link, then it "
-"sets an extended attribute of the link itself."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2068
-msgid "lstat"
+#: ../fish/guestfish-actions.pod:2374
+msgid "lxattrlist"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2070
+#: ../fish/guestfish-actions.pod:2376
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lstat path\n"
+" lxattrlist path 'names ...'\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2074
+#: ../fish/guestfish-actions.pod:2392
 msgid ""
 msgid ""
-"This is the same as C<stat> except that if C<path> is a symbolic link, then "
-"the link is stat-ed, not the file it refers to."
+"This call is intended for programs that want to efficiently list a directory "
+"contents without making many round-trips.  See also L</lstatlist> for a "
+"similarly efficient call for getting standard stats.  Very long directory "
+"listings might cause the protocol message size to be exceeded, causing this "
+"call to fail.  The caller must split up such requests into smaller groups of "
+"names."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2080
-msgid "lstatlist"
+#: ../fish/guestfish-actions.pod:2400
+msgid "mkdir"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2082
+#: ../fish/guestfish-actions.pod:2402
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lstatlist path 'names ...'\n"
+" mkdir path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:2084
+# type: =head2
+#: ../fish/guestfish-actions.pod:2406
+msgid "mkdir-mode"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish-actions.pod:2408
+#, no-wrap
 msgid ""
 msgid ""
-"This call allows you to perform the C<lstat> operation on multiple files, "
-"where all files are in the directory C<path>.  C<names> is the list of files "
-"from this directory."
+" mkdir-mode path mode\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2093
-msgid ""
-"This call is intended for programs that want to efficiently list a directory "
-"contents without making many round-trips.  See also C<lxattrlist> for a "
-"similarly efficient call for getting extended attributes.  Very long "
-"directory listings might cause the protocol message size to be exceeded, "
-"causing this call to fail.  The caller must split up such requests into "
-"smaller groups of names."
+#: ../fish/guestfish-actions.pod:2417
+msgid "See also L</mkdir>, L</umask>"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2101
-msgid "luks-add-key"
+#: ../fish/guestfish-actions.pod:2419
+msgid "mkdir-p"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2103
+#: ../fish/guestfish-actions.pod:2421
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" luks-add-key device keyslot\n"
+" mkdir-p path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:2110
-msgid ""
-"Note that if C<keyslot> already contains a key, then this command will "
-"fail.  You have to use C<luks-kill-slot> first to remove that key."
+# type: =head2
+#: ../fish/guestfish-actions.pod:2426
+msgid "mkdtemp"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:2114 ../fish/guestfish-actions.pod:2136 ../fish/guestfish-actions.pod:2149 ../fish/guestfish-actions.pod:2163 ../fish/guestfish-actions.pod:2186 ../fish/guestfish-actions.pod:2196
+# type: verbatim
+#: ../fish/guestfish-actions.pod:2428
+#, no-wrap
 msgid ""
 msgid ""
-"This command has one or more key or passphrase parameters.  Guestfish will "
-"prompt for these separately."
+" mkdtemp template\n"
+"\n"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2117
-msgid "luks-close"
+#: ../fish/guestfish-actions.pod:2449
+msgid "mke2fs-J"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2119
+#: ../fish/guestfish-actions.pod:2451
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" luks-close device\n"
+" mke2fs-J fstype blocksize device journal\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2121
-msgid ""
-"This closes a LUKS device that was created earlier by C<luks-open> or "
-"C<luks-open-ro>.  The C<device> parameter must be the name of the LUKS "
-"mapping device (ie. C</dev/mapper/mapname>) and I<not> the name of the "
-"underlying block device."
+#: ../fish/guestfish-actions.pod:2459
+msgid "See also L</mke2journal>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2127
-msgid "luks-format"
+#: ../fish/guestfish-actions.pod:2461
+msgid "mke2fs-JL"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2129
+#: ../fish/guestfish-actions.pod:2463
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" luks-format device keyslot\n"
+" mke2fs-JL fstype blocksize device label\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:2468
+msgid "See also L</mke2journal-L>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2142
-msgid "luks-format-cipher"
+#: ../fish/guestfish-actions.pod:2470
+msgid "mke2fs-JU"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2144
+#: ../fish/guestfish-actions.pod:2472
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" luks-format-cipher device keyslot cipher\n"
+" mke2fs-JU fstype blocksize device uuid\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2146
-msgid ""
-"This command is the same as C<luks-format> but it also allows you to set the "
-"C<cipher> used."
+#: ../fish/guestfish-actions.pod:2477
+msgid "See also L</mke2journal-U>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2155
-msgid "luks-kill-slot"
+#: ../fish/guestfish-actions.pod:2479
+msgid "mke2journal"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2157
+#: ../fish/guestfish-actions.pod:2481
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" luks-kill-slot device keyslot\n"
+" mke2journal blocksize device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2166
-msgid "luks-open"
+#: ../fish/guestfish-actions.pod:2488
+msgid "mke2journal-L"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2168
+#: ../fish/guestfish-actions.pod:2490
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" luks-open device mapname\n"
+" mke2journal-L blocksize label device\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:2182
+# type: =head2
+#: ../fish/guestfish-actions.pod:2494
+msgid "mke2journal-U"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish-actions.pod:2496
+#, no-wrap
 msgid ""
 msgid ""
-"If this block device contains LVM volume groups, then calling C<vgscan> "
-"followed by C<vg-activate-all> will make them visible."
+" mke2journal-U blocksize uuid device\n"
+"\n"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2189
-msgid "luks-open-ro"
+#: ../fish/guestfish-actions.pod:2500
+msgid "mkfifo"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2191
+#: ../fish/guestfish-actions.pod:2502
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" luks-open-ro device mapname\n"
+" mkfifo mode path\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2193
-msgid "This is the same as C<luks-open> except that a read-only mapping is created."
+#: ../fish/guestfish-actions.pod:2504
+msgid ""
+"This call creates a FIFO (named pipe) called C<path> with mode C<mode>.  It "
+"is just a convenient wrapper around L</mknod>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2199
-msgid "lvcreate"
+#: ../fish/guestfish-actions.pod:2510
+msgid "mkfs"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2201
+#: ../fish/guestfish-actions.pod:2512
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lvcreate logvol volgroup mbytes\n"
+" mkfs fstype device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2206
-msgid "lvm-clear-filter"
+#: ../fish/guestfish-actions.pod:2518
+msgid "mkfs-b"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2208
+#: ../fish/guestfish-actions.pod:2520
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lvm-clear-filter\n"
+" mkfs-b fstype blocksize device\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2210
+#: ../fish/guestfish-actions.pod:2522
 msgid ""
 msgid ""
-"This undoes the effect of C<lvm-set-filter>.  LVM will be able to see every "
-"block device."
+"This call is similar to L</mkfs>, but it allows you to control the block "
+"size of the resulting filesystem.  Supported block sizes depend on the "
+"filesystem type, but typically they are C<1024>, C<2048> or C<4096> only."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2216
-msgid "lvm-remove-all"
+#: ../fish/guestfish-actions.pod:2530
+msgid "mkmountpoint"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2218
+#: ../fish/guestfish-actions.pod:2532
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lvm-remove-all\n"
+" mkmountpoint exemptpath\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:2534
+msgid ""
+"L</mkmountpoint> and L</rmmountpoint> are specialized calls that can be used "
+"to create extra mountpoints before mounting the first filesystem."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2226
-msgid "lvm-set-filter"
+#: ../fish/guestfish-actions.pod:2558
+msgid "mknod"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2228
+#: ../fish/guestfish-actions.pod:2560
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lvm-set-filter 'devices ...'\n"
+" mknod mode devmajor devminor path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:2570
+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 "
+"regular file).  These constants are available in the standard Linux header "
+"files, or you can use L</mknod-b>, L</mknod-c> or L</mkfifo> which are "
+"wrappers around this command which bitwise OR in the appropriate constant "
+"for you."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2253
-msgid "lvremove"
+#: ../fish/guestfish-actions.pod:2580
+msgid "mknod-b"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2255
+#: ../fish/guestfish-actions.pod:2582
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lvremove device\n"
+" mknod-b mode devmajor devminor path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:2584
+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 "
+"wrapper around L</mknod>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2263
-msgid "lvrename"
+#: ../fish/guestfish-actions.pod:2590
+msgid "mknod-c"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2265
+#: ../fish/guestfish-actions.pod:2592
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lvrename logvol newlogvol\n"
+" mknod-c mode devmajor devminor path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:2594
+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 "
+"wrapper around L</mknod>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2269
-msgid "lvresize"
+#: ../fish/guestfish-actions.pod:2600
+msgid "mkswap"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2271
+#: ../fish/guestfish-actions.pod:2602
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lvresize device mbytes\n"
+" mkswap device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2277
-msgid "lvresize-free"
+#: ../fish/guestfish-actions.pod:2606
+msgid "mkswap-L"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2279
+#: ../fish/guestfish-actions.pod:2608
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lvresize-free lv percent\n"
+" mkswap-L label device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2287
-msgid "lvs"
+#: ../fish/guestfish-actions.pod:2616
+msgid "mkswap-U"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2289
+#: ../fish/guestfish-actions.pod:2618
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lvs\n"
+" mkswap-U uuid device\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:2297
-msgid "See also C<lvs-full>, C<list-filesystems>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2299
-msgid "lvs-full"
+#: ../fish/guestfish-actions.pod:2622
+msgid "mkswap-file"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2301
+#: ../fish/guestfish-actions.pod:2624
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lvs-full\n"
+" mkswap-file path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:2628
+msgid ""
+"This command just writes a swap file signature to an existing file.  To "
+"create the file itself, use something like L</fallocate>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2306
-msgid "lvuuid"
+#: ../fish/guestfish-actions.pod:2631
+msgid "modprobe"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2308
+#: ../fish/guestfish-actions.pod:2633
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lvuuid device\n"
+" modprobe modulename\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2312
-msgid "lxattrlist"
+#: ../fish/guestfish-actions.pod:2640
+msgid "mount"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2314
+#: ../fish/guestfish-actions.pod:2642
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" lxattrlist path 'names ...'\n"
+" mount device mountpoint\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2330
+#: ../fish/guestfish-actions.pod:2658
 msgid ""
 msgid ""
-"This call is intended for programs that want to efficiently list a directory "
-"contents without making many round-trips.  See also C<lstatlist> for a "
-"similarly efficient call for getting standard stats.  Very long directory "
-"listings might cause the protocol message size to be exceeded, causing this "
-"call to fail.  The caller must split up such requests into smaller groups of "
-"names."
+"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 "
+"thought it would improve reliability, but it turns out that I<-o sync> has a "
+"very large negative performance impact and negligible effect on "
+"reliability.  Therefore we recommend that you avoid using L</mount> in any "
+"code that needs performance, and instead use L</mount-options> (use an empty "
+"string for the first parameter if you don't want any options)."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2338
-msgid "mkdir"
+#: ../fish/guestfish-actions.pod:2668
+msgid "mount-loop"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2340
+#: ../fish/guestfish-actions.pod:2670
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mkdir path\n"
+" mount-loop file mountpoint\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2344
-msgid "mkdir-mode"
+#: ../fish/guestfish-actions.pod:2676
+msgid "mount-options"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2346
+#: ../fish/guestfish-actions.pod:2678
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mkdir-mode path mode\n"
+" mount-options options device mountpoint\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2355
-msgid "See also C<mkdir>, C<umask>"
+#: ../fish/guestfish-actions.pod:2680
+msgid ""
+"This is the same as the L</mount> command, but it allows you to set the "
+"mount options as for the L<mount(8)> I<-o> flag."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2357
-msgid "mkdir-p"
+#: ../fish/guestfish-actions.pod:2688
+msgid "mount-ro"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2359
+#: ../fish/guestfish-actions.pod:2690
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mkdir-p path\n"
+" mount-ro device mountpoint\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:2692
+msgid ""
+"This is the same as the L</mount> command, but it mounts the filesystem with "
+"the read-only (I<-o ro>) flag."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2364
-msgid "mkdtemp"
+#: ../fish/guestfish-actions.pod:2695
+msgid "mount-vfs"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2366
+#: ../fish/guestfish-actions.pod:2697
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mkdtemp template\n"
+" mount-vfs options vfstype device mountpoint\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:2699
+msgid ""
+"This is the same as the L</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<-t> flags."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2387
-msgid "mke2fs-J"
+#: ../fish/guestfish-actions.pod:2703
+msgid "mountpoints"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2389
+#: ../fish/guestfish-actions.pod:2705
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mke2fs-J fstype blocksize device journal\n"
+" mountpoints\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2397
-msgid "See also C<mke2journal>."
+#: ../fish/guestfish-actions.pod:2707
+msgid ""
+"This call is similar to L</mounts>.  That call returns a list of devices.  "
+"This one returns a hash table (map) of device name to directory where the "
+"device is mounted."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2399
-msgid "mke2fs-JL"
+#: ../fish/guestfish-actions.pod:2711
+msgid "mounts"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2401
+#: ../fish/guestfish-actions.pod:2713
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mke2fs-JL fstype blocksize device label\n"
+" mounts\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2406
-msgid "See also C<mke2journal-L>."
+#: ../fish/guestfish-actions.pod:2720
+msgid "See also: L</mountpoints>"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2408
-msgid "mke2fs-JU"
+#: ../fish/guestfish-actions.pod:2722
+msgid "mv"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2410
+#: ../fish/guestfish-actions.pod:2724
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mke2fs-JU fstype blocksize device uuid\n"
+" mv src dest\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:2415
-msgid "See also C<mke2journal-U>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2417
-msgid "mke2journal"
+#: ../fish/guestfish-actions.pod:2729
+msgid "ntfs-3g-probe"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2419
+#: ../fish/guestfish-actions.pod:2731
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mke2journal blocksize device\n"
+" ntfs-3g-probe true|false device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2426
-msgid "mke2journal-L"
+#: ../fish/guestfish-actions.pod:2745
+msgid "ntfsresize"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2428
+#: ../fish/guestfish-actions.pod:2747
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mke2journal-L blocksize label device\n"
+" ntfsresize device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2432
-msgid "mke2journal-U"
+#: ../fish/guestfish-actions.pod:2753
+msgid "ntfsresize-size"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2434
+#: ../fish/guestfish-actions.pod:2755
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mke2journal-U blocksize uuid device\n"
+" ntfsresize-size device size\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:2757
+msgid ""
+"This command is the same as L</ntfsresize> except that it allows you to "
+"specify the new size (in bytes) explicitly."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2438
-msgid "mkfifo"
+#: ../fish/guestfish-actions.pod:2760
+msgid "part-add"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2440
+#: ../fish/guestfish-actions.pod:2762
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mkfifo mode path\n"
+" part-add device prlogex startsect endsect\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2442
+#: ../fish/guestfish-actions.pod:2764
 msgid ""
 msgid ""
-"This call creates a FIFO (named pipe) called C<path> with mode C<mode>.  It "
-"is just a convenient wrapper around C<mknod>."
+"This command adds a partition to C<device>.  If there is no partition table "
+"on the device, call L</part-init> first."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:2776
+msgid ""
+"Creating a partition which covers the whole disk is not so easy.  Use "
+"L</part-disk> to do that."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2448
-msgid "mkfs"
+#: ../fish/guestfish-actions.pod:2779
+msgid "part-del"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2450
+#: ../fish/guestfish-actions.pod:2781
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mkfs fstype device\n"
+" part-del device partnum\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2456
-msgid "mkfs-b"
+#: ../fish/guestfish-actions.pod:2789
+msgid "part-disk"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2458
+#: ../fish/guestfish-actions.pod:2791
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mkfs-b fstype blocksize device\n"
+" part-disk device parttype\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2460
+#: ../fish/guestfish-actions.pod:2793
+msgid ""
+"This command is simply a combination of L</part-init> followed by "
+"L</part-add> to create a single primary partition covering the whole disk."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:2797
 msgid ""
 msgid ""
-"This call is similar to C<mkfs>, but it allows you to control the block size "
-"of the resulting filesystem.  Supported block sizes depend on the filesystem "
-"type, but typically they are C<1024>, C<2048> or C<4096> only."
+"C<parttype> is the partition table type, usually C<mbr> or C<gpt>, but other "
+"possible values are described in L</part-init>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2468
-msgid "mkmountpoint"
+#: ../fish/guestfish-actions.pod:2803
+msgid "part-get-bootable"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2470
+#: ../fish/guestfish-actions.pod:2805
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mkmountpoint exemptpath\n"
+" part-get-bootable device partnum\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2472
+#: ../fish/guestfish-actions.pod:2810
+msgid "See also L</part-set-bootable>."
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-actions.pod:2812
+msgid "part-get-mbr-id"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish-actions.pod:2814
+#, no-wrap
 msgid ""
 msgid ""
-"C<mkmountpoint> and C<rmmountpoint> are specialized calls that can be used "
-"to create extra mountpoints before mounting the first filesystem."
+" part-get-mbr-id device partnum\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:2819 ../fish/guestfish-actions.pod:2957
+msgid ""
+"Note that only MBR (old DOS-style) partitions have type bytes.  You will get "
+"undefined results for other partition table types (see "
+"L</part-get-parttype>)."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2496
-msgid "mknod"
+#: ../fish/guestfish-actions.pod:2823
+msgid "part-get-parttype"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2498
+#: ../fish/guestfish-actions.pod:2825
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mknod mode devmajor devminor path\n"
+" part-get-parttype device\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2508
+#: ../fish/guestfish-actions.pod:2830
 msgid ""
 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 "
-"regular file).  These constants are available in the standard Linux header "
-"files, or you can use C<mknod-b>, C<mknod-c> or C<mkfifo> which are wrappers "
-"around this command which bitwise OR in the appropriate constant for you."
+"Common return values include: C<msdos> (a DOS/Windows style MBR partition "
+"table), C<gpt> (a GPT/EFI-style partition table).  Other values are "
+"possible, although unusual.  See L</part-init> for a full list."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2518
-msgid "mknod-b"
+#: ../fish/guestfish-actions.pod:2835
+msgid "part-init"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2520
+#: ../fish/guestfish-actions.pod:2837
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mknod-b mode devmajor devminor path\n"
+" part-init device parttype\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2522
+#: ../fish/guestfish-actions.pod:2843
 msgid ""
 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 "
-"wrapper around C<mknod>."
+"Initially there are no partitions.  Following this, you should call "
+"L</part-add> for each partition required."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2528
-msgid "mknod-c"
+#: ../fish/guestfish-actions.pod:2906
+msgid "part-list"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2530
+#: ../fish/guestfish-actions.pod:2908
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mknod-c mode devmajor devminor path\n"
+" part-list device\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2532
+#: ../fish/guestfish-actions.pod:2923
 msgid ""
 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 "
-"wrapper around C<mknod>."
+"Start of the partition I<in bytes>.  To get sectors you have to divide by "
+"the device's sector size, see L</blockdev-getss>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2538
-msgid "mkswap"
+#: ../fish/guestfish-actions.pod:2936
+msgid "part-set-bootable"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2540
+#: ../fish/guestfish-actions.pod:2938
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mkswap device\n"
+" part-set-bootable device partnum true|false\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2544
-msgid "mkswap-L"
+#: ../fish/guestfish-actions.pod:2947
+msgid "part-set-mbr-id"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2546
+#: ../fish/guestfish-actions.pod:2949
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mkswap-L label device\n"
+" part-set-mbr-id device partnum idbyte\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2554
-msgid "mkswap-U"
+#: ../fish/guestfish-actions.pod:2961
+msgid "part-set-name"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2556
+#: ../fish/guestfish-actions.pod:2963
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mkswap-U uuid device\n"
+" part-set-name device partnum name\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2560
-msgid "mkswap-file"
+#: ../fish/guestfish-actions.pod:2971
+msgid "part-to-dev"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2562
+#: ../fish/guestfish-actions.pod:2973
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mkswap-file path\n"
+" part-to-dev partition\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2566
+#: ../fish/guestfish-actions.pod:2979
 msgid ""
 msgid ""
-"This command just writes a swap file signature to an existing file.  To "
-"create the file itself, use something like C<fallocate>."
+"The named partition must exist, for example as a string returned from "
+"L</list-partitions>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2569
-msgid "modprobe"
+#: ../fish/guestfish-actions.pod:2982
+msgid "ping-daemon"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2571
+#: ../fish/guestfish-actions.pod:2984
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" modprobe modulename\n"
+" ping-daemon\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2578
-msgid "mount"
+#: ../fish/guestfish-actions.pod:2991
+msgid "pread"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2580
+#: ../fish/guestfish-actions.pod:2993
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mount device mountpoint\n"
+" pread path count offset\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2596
-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 "
-"thought it would improve reliability, but it turns out that I<-o sync> has a "
-"very large negative performance impact and negligible effect on "
-"reliability.  Therefore we recommend that you avoid using C<mount> in any "
-"code that needs performance, and instead use C<mount-options> (use an empty "
-"string for the first parameter if you don't want any options)."
+#: ../fish/guestfish-actions.pod:3001
+msgid "See also L</pwrite>, L</pread-device>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2606
-msgid "mount-loop"
+#: ../fish/guestfish-actions.pod:3006
+msgid "pread-device"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2608
+#: ../fish/guestfish-actions.pod:3008
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mount-loop file mountpoint\n"
+" pread-device device count offset\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:3016
+msgid "See also L</pread>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2614
-msgid "mount-options"
+#: ../fish/guestfish-actions.pod:3021
+msgid "pvcreate"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2616
+#: ../fish/guestfish-actions.pod:3023
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mount-options options device mountpoint\n"
+" pvcreate device\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:2618
-msgid ""
-"This is the same as the C<mount> command, but it allows you to set the mount "
-"options as for the L<mount(8)> I<-o> flag."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2626
-msgid "mount-ro"
+#: ../fish/guestfish-actions.pod:3029
+msgid "pvremove"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2628
+#: ../fish/guestfish-actions.pod:3031
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mount-ro device mountpoint\n"
+" pvremove device\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:2630
-msgid ""
-"This is the same as the C<mount> command, but it mounts the filesystem with "
-"the read-only (I<-o ro>) flag."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2633
-msgid "mount-vfs"
+#: ../fish/guestfish-actions.pod:3040
+msgid "pvresize"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2635
+#: ../fish/guestfish-actions.pod:3042
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mount-vfs options vfstype device mountpoint\n"
+" pvresize device\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:2637
-msgid ""
-"This is the same as the C<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<-t> flags."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2641
-msgid "mountpoints"
+#: ../fish/guestfish-actions.pod:3047
+msgid "pvresize-size"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2643
+#: ../fish/guestfish-actions.pod:3049
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mountpoints\n"
+" pvresize-size device size\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2645
+#: ../fish/guestfish-actions.pod:3051
 msgid ""
 msgid ""
-"This call is similar to C<mounts>.  That call returns a list of devices.  "
-"This one returns a hash table (map) of device name to directory where the "
-"device is mounted."
+"This command is the same as L</pvresize> except that it allows you to "
+"specify the new size (in bytes) explicitly."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2649
-msgid "mounts"
+#: ../fish/guestfish-actions.pod:3054
+msgid "pvs"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2651
+#: ../fish/guestfish-actions.pod:3056
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mounts\n"
+" pvs\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2658
-msgid "See also: C<mountpoints>"
+#: ../fish/guestfish-actions.pod:3064
+msgid "See also L</pvs-full>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2660
-msgid "mv"
+#: ../fish/guestfish-actions.pod:3066
+msgid "pvs-full"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2662
+#: ../fish/guestfish-actions.pod:3068
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" mv src dest\n"
+" pvs-full\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2667
-msgid "ntfs-3g-probe"
+#: ../fish/guestfish-actions.pod:3073
+msgid "pvuuid"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2669
+#: ../fish/guestfish-actions.pod:3075
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" ntfs-3g-probe true|false device\n"
+" pvuuid device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2683
-msgid "ntfsresize"
+#: ../fish/guestfish-actions.pod:3079
+msgid "pwrite"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2685
+#: ../fish/guestfish-actions.pod:3081
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" ntfsresize device\n"
+" pwrite path content offset\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:3092
+msgid "See also L</pread>, L</pwrite-device>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2691
-msgid "ntfsresize-size"
+#: ../fish/guestfish-actions.pod:3097
+msgid "pwrite-device"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2693
+#: ../fish/guestfish-actions.pod:3099
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" ntfsresize-size device size\n"
+" pwrite-device device content offset\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2695
-msgid ""
-"This command is the same as C<ntfsresize> except that it allows you to "
-"specify the new size (in bytes) explicitly."
+#: ../fish/guestfish-actions.pod:3109
+msgid "See also L</pwrite>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2698
-msgid "part-add"
+#: ../fish/guestfish-actions.pod:3114
+msgid "read-file"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2700
+#: ../fish/guestfish-actions.pod:3116
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" part-add device prlogex startsect endsect\n"
+" read-file path\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2702
-msgid ""
-"This command adds a partition to C<device>.  If there is no partition table "
-"on the device, call C<part-init> first."
-msgstr ""
-
-# type: textblock
-#: ../fish/guestfish-actions.pod:2714
+#: ../fish/guestfish-actions.pod:3121
 msgid ""
 msgid ""
-"Creating a partition which covers the whole disk is not so easy.  Use "
-"C<part-disk> to do that."
+"Unlike L</cat>, this function can correctly handle files that contain "
+"embedded ASCII NUL characters.  However unlike L</download>, this function "
+"is limited in the total size of file that can be handled."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2717
-msgid "part-del"
+#: ../fish/guestfish-actions.pod:3129
+msgid "read-lines"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2719
+#: ../fish/guestfish-actions.pod:3131
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" part-del device partnum\n"
+" read-lines path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:3138
+msgid ""
+"Note that this function cannot correctly handle binary files (specifically, "
+"files containing C<\\0> character which is treated as end of line).  For "
+"those you need to use the L</read-file> function which has a more complex "
+"interface."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2727
-msgid "part-disk"
+#: ../fish/guestfish-actions.pod:3143
+msgid "readdir"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2729
+#: ../fish/guestfish-actions.pod:3145
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" part-disk device parttype\n"
+" readdir dir\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2731
-msgid ""
-"This command is simply a combination of C<part-init> followed by C<part-add> "
-"to create a single primary partition covering the whole disk."
-msgstr ""
-
-# type: textblock
-#: ../fish/guestfish-actions.pod:2735
+#: ../fish/guestfish-actions.pod:3197
 msgid ""
 msgid ""
-"C<parttype> is the partition table type, usually C<mbr> or C<gpt>, but other "
-"possible values are described in C<part-init>."
+"This function is primarily intended for use by programs.  To get a simple "
+"list of names, use L</ls>.  To get a printable directory for human "
+"consumption, use L</ll>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2741
-msgid "part-get-bootable"
+#: ../fish/guestfish-actions.pod:3201
+msgid "readlink"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2743
+#: ../fish/guestfish-actions.pod:3203
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" part-get-bootable device partnum\n"
+" readlink path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:2748
-msgid "See also C<part-set-bootable>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2750
-msgid "part-get-mbr-id"
+#: ../fish/guestfish-actions.pod:3207
+msgid "readlinklist"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2752
+#: ../fish/guestfish-actions.pod:3209
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" part-get-mbr-id device partnum\n"
+" readlinklist path 'names ...'\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:2757 ../fish/guestfish-actions.pod:2895
+# type: =head2
+#: ../fish/guestfish-actions.pod:3233
+msgid "realpath"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish-actions.pod:3235
+#, no-wrap
 msgid ""
 msgid ""
-"Note that only MBR (old DOS-style) partitions have type bytes.  You will get "
-"undefined results for other partition table types (see "
-"C<part-get-parttype>)."
+" realpath path\n"
+"\n"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2761
-msgid "part-get-parttype"
+#: ../fish/guestfish-actions.pod:3240
+msgid "removexattr"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2763
+#: ../fish/guestfish-actions.pod:3242
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" part-get-parttype device\n"
+" removexattr xattr path\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2768
-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 "
-"possible, although unusual.  See C<part-init> for a full list."
+#: ../fish/guestfish-actions.pod:3247
+msgid "See also: L</lremovexattr>, L<attr(5)>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2773
-msgid "part-init"
+#: ../fish/guestfish-actions.pod:3249
+msgid "resize2fs"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2775
+#: ../fish/guestfish-actions.pod:3251
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" part-init device parttype\n"
+" resize2fs device\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2781
+#: ../fish/guestfish-actions.pod:3256
 msgid ""
 msgid ""
-"Initially there are no partitions.  Following this, you should call "
-"C<part-add> for each partition required."
+"I<Note:> It is sometimes required that you run L</e2fsck-f> on the C<device> "
+"before calling this command.  For unknown reasons C<resize2fs> sometimes "
+"gives an error about this and sometimes not.  In any case, it is always safe "
+"to call L</e2fsck-f> before calling this function."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2844
-msgid "part-list"
+#: ../fish/guestfish-actions.pod:3262
+msgid "resize2fs-size"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2846
+#: ../fish/guestfish-actions.pod:3264
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" part-list device\n"
+" resize2fs-size device size\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2861
+#: ../fish/guestfish-actions.pod:3266
 msgid ""
 msgid ""
-"Start of the partition I<in bytes>.  To get sectors you have to divide by "
-"the device's sector size, see C<blockdev-getss>."
+"This command is the same as L</resize2fs> except that it allows you to "
+"specify the new size (in bytes) explicitly."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2874
-msgid "part-set-bootable"
+#: ../fish/guestfish-actions.pod:3269
+msgid "rm"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2876
+#: ../fish/guestfish-actions.pod:3271
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" part-set-bootable device partnum true|false\n"
+" rm path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2885
-msgid "part-set-mbr-id"
+#: ../fish/guestfish-actions.pod:3275
+msgid "rm-rf"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2887
+#: ../fish/guestfish-actions.pod:3277
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" part-set-mbr-id device partnum idbyte\n"
+" rm-rf path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2899
-msgid "part-set-name"
+#: ../fish/guestfish-actions.pod:3283
+msgid "rmdir"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2901
+#: ../fish/guestfish-actions.pod:3285
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" part-set-name device partnum name\n"
+" rmdir path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2909
-msgid "part-to-dev"
+#: ../fish/guestfish-actions.pod:3289
+msgid "rmmountpoint"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2911
+#: ../fish/guestfish-actions.pod:3291
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" part-to-dev partition\n"
+" rmmountpoint exemptpath\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2917
+#: ../fish/guestfish-actions.pod:3293
 msgid ""
 msgid ""
-"The named partition must exist, for example as a string returned from "
-"C<list-partitions>."
+"This calls removes a mountpoint that was previously created with "
+"L</mkmountpoint>.  See L</mkmountpoint> for full details."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2920
-msgid "ping-daemon"
+#: ../fish/guestfish-actions.pod:3297
+msgid "scrub-device"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2922
+#: ../fish/guestfish-actions.pod:3299
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" ping-daemon\n"
+" scrub-device device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2929
-msgid "pread"
+#: ../fish/guestfish-actions.pod:3310
+msgid "scrub-file"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2931
+#: ../fish/guestfish-actions.pod:3312
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" pread path count offset\n"
+" scrub-file file\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:2939
-msgid "See also C<pwrite>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:2944
-msgid "pvcreate"
+#: ../fish/guestfish-actions.pod:3322
+msgid "scrub-freespace"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2946
+#: ../fish/guestfish-actions.pod:3324
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" pvcreate device\n"
+" scrub-freespace dir\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish-actions.pod:2952
-msgid "pvremove"
+# type: textblock
+#: ../fish/guestfish-actions.pod:3326
+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 L</scrub-file>, and "
+"deletes them.  The intention is to scrub any free space on the partition "
+"containing C<dir>."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish-actions.pod:2954
-#, no-wrap
-msgid ""
-" pvremove device\n"
-"\n"
+# type: =head2
+#: ../fish/guestfish-actions.pod:3335
+msgid "set-append"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2963
-msgid "pvresize"
+#: ../fish/guestfish-actions.pod:3337
+msgid "append"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2965
+#: ../fish/guestfish-actions.pod:3339
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" pvresize device\n"
+" set-append append\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2970
-msgid "pvresize-size"
+#: ../fish/guestfish-actions.pod:3350
+msgid "set-autosync"
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-actions.pod:3352
+msgid "autosync"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2972
+#: ../fish/guestfish-actions.pod:3354
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" pvresize-size device size\n"
+" set-autosync true|false\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2974
+#: ../fish/guestfish-actions.pod:3356
 msgid ""
 msgid ""
-"This command is the same as C<pvresize> except that it allows you to specify "
-"the new size (in bytes) explicitly."
+"If C<autosync> is true, this enables autosync.  Libguestfs will make a best "
+"effort attempt to run L</umount-all> followed by L</sync> when the handle is "
+"closed (also if the program exits without closing handles)."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2977
-msgid "pvs"
+#: ../fish/guestfish-actions.pod:3364
+msgid "set-direct"
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-actions.pod:3366
+msgid "direct"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2979
+#: ../fish/guestfish-actions.pod:3368
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" pvs\n"
+" set-direct true|false\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:2987
-msgid "See also C<pvs-full>."
+#: ../fish/guestfish-actions.pod:3374
+msgid ""
+"One consequence of this is that log messages aren't caught by the library "
+"and handled by L</set-log-message-callback>, but go straight to stdout."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:2989
-msgid "pvs-full"
+#: ../fish/guestfish-actions.pod:3383
+msgid "set-e2label"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:2991
+#: ../fish/guestfish-actions.pod:3385
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" pvs-full\n"
+" set-e2label device label\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish-actions.pod:2996
-msgid "pvuuid"
-msgstr ""
-
-# type: verbatim
-#: ../fish/guestfish-actions.pod:2998
-#, no-wrap
+# type: textblock
+#: ../fish/guestfish-actions.pod:3391
 msgid ""
 msgid ""
-" pvuuid device\n"
-"\n"
+"You can use either L</tune2fs-l> or L</get-e2label> to return the existing "
+"label on a filesystem."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3002
-msgid "pwrite"
+#: ../fish/guestfish-actions.pod:3394
+msgid "set-e2uuid"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3004
+#: ../fish/guestfish-actions.pod:3396
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" pwrite path content offset\n"
+" set-e2uuid device uuid\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3015
-msgid "See also C<pread>."
+#: ../fish/guestfish-actions.pod:3403
+msgid ""
+"You can use either L</tune2fs-l> or L</get-e2uuid> to return the existing "
+"UUID of a filesystem."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3020
-msgid "read-file"
+#: ../fish/guestfish-actions.pod:3406
+msgid "set-memsize"
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-actions.pod:3408
+msgid "memsize"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3022
+#: ../fish/guestfish-actions.pod:3410
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" read-file path\n"
+" set-memsize memsize\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3027
+#: ../fish/guestfish-actions.pod:3412
 msgid ""
 msgid ""
-"Unlike C<cat>, this function can correctly handle files that contain "
-"embedded ASCII NUL characters.  However unlike C<download>, this function is "
-"limited in the total size of file that can be handled."
+"This sets the memory size in megabytes allocated to the qemu subprocess.  "
+"This only has any effect if called before L</launch>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3035
-msgid "read-lines"
+#: ../fish/guestfish-actions.pod:3423
+msgid "set-network"
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-actions.pod:3425
+msgid "network"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3037
+#: ../fish/guestfish-actions.pod:3427
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" read-lines path\n"
+" set-network true|false\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3044
-msgid ""
-"Note that this function cannot correctly handle binary files (specifically, "
-"files containing C<\\0> character which is treated as end of line).  For "
-"those you need to use the C<read-file> function which has a more complex "
-"interface."
+#: ../fish/guestfish-actions.pod:3435
+msgid "You must call this before calling L</launch>, otherwise it has no effect."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3049
-msgid "readdir"
+#: ../fish/guestfish-actions.pod:3438
+msgid "set-path"
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-actions.pod:3440
+msgid "path"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3051
+#: ../fish/guestfish-actions.pod:3442
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" readdir dir\n"
+" set-path searchpath\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:3103
-msgid ""
-"This function is primarily intended for use by programs.  To get a simple "
-"list of names, use C<ls>.  To get a printable directory for human "
-"consumption, use C<ll>."
+# type: =head2
+#: ../fish/guestfish-actions.pod:3451
+msgid "set-qemu"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3107
-msgid "readlink"
+#: ../fish/guestfish-actions.pod:3453
+msgid "qemu"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3109
+#: ../fish/guestfish-actions.pod:3455
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" readlink path\n"
+" set-qemu qemu\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3113
-msgid "readlinklist"
-msgstr ""
-
-# type: verbatim
-#: ../fish/guestfish-actions.pod:3115
-#, no-wrap
-msgid ""
-" readlinklist path 'names ...'\n"
-"\n"
+#: ../fish/guestfish-actions.pod:3475
+msgid "set-recovery-proc"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3139
-msgid "realpath"
+#: ../fish/guestfish-actions.pod:3477
+msgid "recovery-proc"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3141
+#: ../fish/guestfish-actions.pod:3479
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" realpath path\n"
+" set-recovery-proc true|false\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish-actions.pod:3146
-msgid "removexattr"
+# type: textblock
+#: ../fish/guestfish-actions.pod:3481
+msgid ""
+"If this is called with the parameter C<false> then L</launch> does not "
+"create a recovery process.  The purpose of the recovery process is to stop "
+"runaway qemu processes in the case where the main program aborts abruptly."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish-actions.pod:3148
-#, no-wrap
+# type: textblock
+#: ../fish/guestfish-actions.pod:3486
 msgid ""
 msgid ""
-" removexattr xattr path\n"
-"\n"
+"This only has any effect if called before L</launch>, and the default is "
+"true."
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:3153
-msgid "See also: C<lremovexattr>, L<attr(5)>."
+# type: =head2
+#: ../fish/guestfish-actions.pod:3495
+msgid "set-selinux"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3155
-msgid "resize2fs"
+#: ../fish/guestfish-actions.pod:3497
+msgid "selinux"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3157
+#: ../fish/guestfish-actions.pod:3499
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" resize2fs device\n"
+" set-selinux true|false\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:3162
-msgid ""
-"I<Note:> It is sometimes required that you run C<e2fsck-f> on the C<device> "
-"before calling this command.  For unknown reasons C<resize2fs> sometimes "
-"gives an error about this and sometimes not.  In any case, it is always safe "
-"to call C<e2fsck-f> before calling this function."
+# type: =head2
+#: ../fish/guestfish-actions.pod:3510
+msgid "set-trace"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3168
-msgid "resize2fs-size"
+#: ../fish/guestfish-actions.pod:3512
+msgid "trace"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3170
+#: ../fish/guestfish-actions.pod:3514
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" resize2fs-size device size\n"
+" set-trace true|false\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:3172
-msgid ""
-"This command is the same as C<resize2fs> except that it allows you to "
-"specify the new size (in bytes) explicitly."
+# type: =head2
+#: ../fish/guestfish-actions.pod:3530
+msgid "set-verbose"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3175
-msgid "rm"
+#: ../fish/guestfish-actions.pod:3532
+msgid "verbose"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3177
+#: ../fish/guestfish-actions.pod:3534
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" rm path\n"
+" set-verbose true|false\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3181
-msgid "rm-rf"
+#: ../fish/guestfish-actions.pod:3541
+msgid "setcon"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3183
+#: ../fish/guestfish-actions.pod:3543
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" rm-rf path\n"
+" setcon context\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3189
-msgid "rmdir"
+#: ../fish/guestfish-actions.pod:3550
+msgid "setxattr"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3191
+#: ../fish/guestfish-actions.pod:3552
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" rmdir path\n"
+" setxattr xattr val vallen path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:3558
+msgid "See also: L</lsetxattr>, L<attr(5)>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:3195
-msgid "rmmountpoint"
+#: ../fish/guestfish-actions.pod:3560
+msgid "sfdisk"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3197
+#: ../fish/guestfish-actions.pod:3562
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" rmmountpoint exemptpath\n"
+" sfdisk device cyls heads sectors 'lines ...'\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3199
-msgid ""
-"This calls removes a mountpoint that was previously created with "
-"C<mkmountpoint>.  See C<mkmountpoint> for full details."
+#: ../fish/guestfish-actions.pod:3584
+msgid "See also: L</sfdisk-l>, L</sfdisk-N>, L</part-init>"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3203
-msgid "scrub-device"
+#: ../fish/guestfish-actions.pod:3590
+msgid "sfdiskM"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3205
+#: ../fish/guestfish-actions.pod:3592
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" scrub-device device\n"
+" sfdiskM device 'lines ...'\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish-actions.pod:3216
-msgid "scrub-file"
+# type: textblock
+#: ../fish/guestfish-actions.pod:3594
+msgid ""
+"This is a simplified interface to the L</sfdisk> command, where partition "
+"sizes are specified in megabytes only (rounded to the nearest cylinder) and "
+"you don't need to specify the cyls, heads and sectors parameters which were "
+"rarely if ever used anyway."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish-actions.pod:3218
-#, no-wrap
-msgid ""
-" scrub-file file\n"
-"\n"
+# type: textblock
+#: ../fish/guestfish-actions.pod:3600
+msgid "See also: L</sfdisk>, the L<sfdisk(8)> manpage and L</part-disk>"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3228
-msgid "scrub-freespace"
+#: ../fish/guestfish-actions.pod:3606
+msgid "sfdisk-N"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3230
+#: ../fish/guestfish-actions.pod:3608
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" scrub-freespace dir\n"
+" sfdisk-N device partnum cyls heads sectors line\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3232
+#: ../fish/guestfish-actions.pod:3613
 msgid ""
 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<scrub-file>, and "
-"deletes them.  The intention is to scrub any free space on the partition "
-"containing C<dir>."
+"For other parameters, see L</sfdisk>.  You should usually pass C<0> for the "
+"cyls/heads/sectors parameters."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:3616
+msgid "See also: L</part-add>"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3241
-msgid "set-append | append"
+#: ../fish/guestfish-actions.pod:3621
+msgid "sfdisk-disk-geometry"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3243
+#: ../fish/guestfish-actions.pod:3623
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" set-append append\n"
+" sfdisk-disk-geometry device\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:3625
+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, "
+"this can be different from the kernel's idea of the geometry (see "
+"L</sfdisk-kernel-geometry>)."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:3254
-msgid "set-autosync | autosync"
+#: ../fish/guestfish-actions.pod:3633
+msgid "sfdisk-kernel-geometry"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3256
+#: ../fish/guestfish-actions.pod:3635
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" set-autosync true|false\n"
+" sfdisk-kernel-geometry device\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:3258
-msgid ""
-"If C<autosync> is true, this enables autosync.  Libguestfs will make a best "
-"effort attempt to run C<umount-all> followed by C<sync> when the handle is "
-"closed (also if the program exits without closing handles)."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:3266
-msgid "set-direct | direct"
+#: ../fish/guestfish-actions.pod:3642
+msgid "sfdisk-l"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3268
+#: ../fish/guestfish-actions.pod:3644
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" set-direct true|false\n"
+" sfdisk-l device\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3274
-msgid ""
-"One consequence of this is that log messages aren't caught by the library "
-"and handled by C<set-log-message-callback>, but go straight to stdout."
+#: ../fish/guestfish-actions.pod:3650
+msgid "See also: L</part-list>"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3283
-msgid "set-e2label"
+#: ../fish/guestfish-actions.pod:3652
+msgid "sh"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3285
+#: ../fish/guestfish-actions.pod:3654
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" set-e2label device label\n"
+" sh command\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3291
-msgid ""
-"You can use either C<tune2fs-l> or C<get-e2label> to return the existing "
-"label on a filesystem."
+#: ../fish/guestfish-actions.pod:3659
+msgid "This is like L</command>, but passes the command to:"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:3667
+msgid "All the provisos about L</command> apply to this call."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3294
-msgid "set-e2uuid"
+#: ../fish/guestfish-actions.pod:3669
+msgid "sh-lines"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3296
+#: ../fish/guestfish-actions.pod:3671
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" set-e2uuid device uuid\n"
+" sh-lines command\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3303
-msgid ""
-"You can use either C<tune2fs-l> or C<get-e2uuid> to return the existing UUID "
-"of a filesystem."
+#: ../fish/guestfish-actions.pod:3673
+msgid "This is the same as L</sh>, but splits the result into a list of lines."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:3676
+msgid "See also: L</command-lines>"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3306
-msgid "set-memsize | memsize"
+#: ../fish/guestfish-actions.pod:3678
+msgid "sleep"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3308
+#: ../fish/guestfish-actions.pod:3680
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" set-memsize memsize\n"
+" sleep secs\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:3310
-msgid ""
-"This sets the memory size in megabytes allocated to the qemu subprocess.  "
-"This only has any effect if called before C<launch>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:3321
-msgid "set-network | network"
+#: ../fish/guestfish-actions.pod:3684
+msgid "stat"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3323
+#: ../fish/guestfish-actions.pod:3686
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" set-network true|false\n"
+" stat path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:3331
-msgid "You must call this before calling C<launch>, otherwise it has no effect."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:3334
-msgid "set-path | path"
+#: ../fish/guestfish-actions.pod:3692
+msgid "statvfs"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3336
+#: ../fish/guestfish-actions.pod:3694
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" set-path searchpath\n"
+" statvfs path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3345
-msgid "set-qemu | qemu"
+#: ../fish/guestfish-actions.pod:3702
+msgid "strings"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3347
+#: ../fish/guestfish-actions.pod:3704
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" set-qemu qemu\n"
+" strings path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3367
-msgid "set-recovery-proc | recovery-proc"
+#: ../fish/guestfish-actions.pod:3712
+msgid "strings-e"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3369
+#: ../fish/guestfish-actions.pod:3714
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" set-recovery-proc true|false\n"
+" strings-e encoding path\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3371
+#: ../fish/guestfish-actions.pod:3716
 msgid ""
 msgid ""
-"If this is called with the parameter C<false> then C<launch> does not create "
-"a recovery process.  The purpose of the recovery process is to stop runaway "
-"qemu processes in the case where the main program aborts abruptly."
+"This is like the L</strings> command, but allows you to specify the encoding "
+"of strings that are looked for in the source file C<path>."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3376
+#: ../fish/guestfish-actions.pod:3726
 msgid ""
 msgid ""
-"This only has any effect if called before C<launch>, and the default is "
-"true."
+"Single 7-bit-byte characters like ASCII and the ASCII-compatible parts of "
+"ISO-8859-X (this is what L</strings> uses)."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3385
-msgid "set-selinux | selinux"
+#: ../fish/guestfish-actions.pod:3758
+msgid "swapoff-device"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3387
+#: ../fish/guestfish-actions.pod:3760
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" set-selinux true|false\n"
+" swapoff-device device\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:3762
+msgid ""
+"This command disables the libguestfs appliance swap device or partition "
+"named C<device>.  See L</swapon-device>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:3398
-msgid "set-trace | trace"
+#: ../fish/guestfish-actions.pod:3766
+msgid "swapoff-file"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3400
+#: ../fish/guestfish-actions.pod:3768
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" set-trace true|false\n"
+" swapoff-file file\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3416
-msgid "set-verbose | verbose"
+#: ../fish/guestfish-actions.pod:3772
+msgid "swapoff-label"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3418
+#: ../fish/guestfish-actions.pod:3774
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" set-verbose true|false\n"
+" swapoff-label label\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3425
-msgid "setcon"
+#: ../fish/guestfish-actions.pod:3779
+msgid "swapoff-uuid"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3427
+#: ../fish/guestfish-actions.pod:3781
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" setcon context\n"
+" swapoff-uuid uuid\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3434
-msgid "setxattr"
+#: ../fish/guestfish-actions.pod:3786
+msgid "swapon-device"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3436
+#: ../fish/guestfish-actions.pod:3788
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" setxattr xattr val vallen path\n"
+" swapon-device device\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3442
-msgid "See also: C<lsetxattr>, L<attr(5)>."
+#: ../fish/guestfish-actions.pod:3790
+msgid ""
+"This command enables the libguestfs appliance to use the swap device or "
+"partition named C<device>.  The increased memory is made available for all "
+"commands, for example those run using L</command> or L</sh>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3444
-msgid "sfdisk"
+#: ../fish/guestfish-actions.pod:3802
+msgid "swapon-file"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3446
+#: ../fish/guestfish-actions.pod:3804
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" sfdisk device cyls heads sectors 'lines ...'\n"
+" swapon-file file\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3468
-msgid "See also: C<sfdisk-l>, C<sfdisk-N>, C<part-init>"
+#: ../fish/guestfish-actions.pod:3806
+msgid "This command enables swap to a file.  See L</swapon-device> for other notes."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3474
-msgid "sfdiskM"
+#: ../fish/guestfish-actions.pod:3809
+msgid "swapon-label"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3476
+#: ../fish/guestfish-actions.pod:3811
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" sfdiskM device 'lines ...'\n"
+" swapon-label label\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3478
+#: ../fish/guestfish-actions.pod:3813
 msgid ""
 msgid ""
-"This is a simplified interface to the C<sfdisk> command, where partition "
-"sizes are specified in megabytes only (rounded to the nearest cylinder) and "
-"you don't need to specify the cyls, heads and sectors parameters which were "
-"rarely if ever used anyway."
-msgstr ""
-
-# type: textblock
-#: ../fish/guestfish-actions.pod:3484
-msgid "See also: C<sfdisk>, the L<sfdisk(8)> manpage and C<part-disk>"
+"This command enables swap to a labeled swap partition.  See "
+"L</swapon-device> for other notes."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3490
-msgid "sfdisk-N"
+#: ../fish/guestfish-actions.pod:3816
+msgid "swapon-uuid"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3492
+#: ../fish/guestfish-actions.pod:3818
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" sfdisk-N device partnum cyls heads sectors line\n"
+" swapon-uuid uuid\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3497
+#: ../fish/guestfish-actions.pod:3820
 msgid ""
 msgid ""
-"For other parameters, see C<sfdisk>.  You should usually pass C<0> for the "
-"cyls/heads/sectors parameters."
-msgstr ""
-
-# type: textblock
-#: ../fish/guestfish-actions.pod:3500
-msgid "See also: C<part-add>"
+"This command enables swap to a swap partition with the given UUID.  See "
+"L</swapon-device> for other notes."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3505
-msgid "sfdisk-disk-geometry"
+#: ../fish/guestfish-actions.pod:3823
+msgid "sync"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3507
+#: ../fish/guestfish-actions.pod:3825
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" sfdisk-disk-geometry device\n"
+" sync\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:3509
+# type: =head2
+#: ../fish/guestfish-actions.pod:3833
+msgid "tail"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish-actions.pod:3835
+#, no-wrap
 msgid ""
 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, "
-"this can be different from the kernel's idea of the geometry (see "
-"C<sfdisk-kernel-geometry>)."
+" tail path\n"
+"\n"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3517
-msgid "sfdisk-kernel-geometry"
+#: ../fish/guestfish-actions.pod:3843
+msgid "tail-n"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3519
+#: ../fish/guestfish-actions.pod:3845
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" sfdisk-kernel-geometry device\n"
+" tail-n nrlines path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3526
-msgid "sfdisk-l"
+#: ../fish/guestfish-actions.pod:3858
+msgid "tar-in"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3528
+#: ../fish/guestfish-actions.pod:3860
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" sfdisk-l device\n"
+" tar-in (tarfile|-) directory\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3534
-msgid "See also: C<part-list>"
+#: ../fish/guestfish-actions.pod:3865
+msgid "To upload a compressed tarball, use L</tgz-in> or L</txz-in>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3536
-msgid "sh"
+#: ../fish/guestfish-actions.pod:3870
+msgid "tar-out"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3538
+#: ../fish/guestfish-actions.pod:3872
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" sh command\n"
+" tar-out directory (tarfile|-)\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3543
-msgid "This is like C<command>, but passes the command to:"
-msgstr ""
-
-# type: textblock
-#: ../fish/guestfish-actions.pod:3551
-msgid "All the provisos about C<command> apply to this call."
+#: ../fish/guestfish-actions.pod:3877
+msgid "To download a compressed tarball, use L</tgz-out> or L</txz-out>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3553
-msgid "sh-lines"
+#: ../fish/guestfish-actions.pod:3882
+msgid "tgz-in"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3555
+#: ../fish/guestfish-actions.pod:3884
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" sh-lines command\n"
+" tgz-in (tarball|-) directory\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3557
-msgid "This is the same as C<sh>, but splits the result into a list of lines."
+#: ../fish/guestfish-actions.pod:3889
+msgid "To upload an uncompressed tarball, use L</tar-in>."
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-actions.pod:3893
+msgid "tgz-out"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish-actions.pod:3895
+#, no-wrap
+msgid ""
+" tgz-out directory (tarball|-)\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3560
-msgid "See also: C<command-lines>"
+#: ../fish/guestfish-actions.pod:3900
+msgid "To download an uncompressed tarball, use L</tar-out>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3562
-msgid "sleep"
+#: ../fish/guestfish-actions.pod:3904
+msgid "touch"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3564
+#: ../fish/guestfish-actions.pod:3906
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" sleep secs\n"
+" touch path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3568
-msgid "stat"
+#: ../fish/guestfish-actions.pod:3915
+msgid "truncate"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3570
+#: ../fish/guestfish-actions.pod:3917
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" stat path\n"
+" truncate path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3576
-msgid "statvfs"
+#: ../fish/guestfish-actions.pod:3922
+msgid "truncate-size"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3578
+#: ../fish/guestfish-actions.pod:3924
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" statvfs path\n"
+" truncate-size path size\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:3929
+msgid ""
+"If the current file size is less than C<size> then the file is extended to "
+"the required size with zero bytes.  This creates a sparse file (ie. disk "
+"blocks are not allocated for the file until you write to it).  To create a "
+"non-sparse file of zeroes, use L</fallocate64> instead."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:3586
-msgid "strings"
+#: ../fish/guestfish-actions.pod:3935
+msgid "tune2fs-l"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3588
+#: ../fish/guestfish-actions.pod:3937
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" strings path\n"
+" tune2fs-l device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3596
-msgid "strings-e"
+#: ../fish/guestfish-actions.pod:3947
+msgid "txz-in"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3598
+#: ../fish/guestfish-actions.pod:3949
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" strings-e encoding path\n"
+" txz-in (tarball|-) directory\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:3600
-msgid ""
-"This is like the C<strings> command, but allows you to specify the encoding "
-"of strings that are looked for in the source file C<path>."
+# type: =head2
+#: ../fish/guestfish-actions.pod:3956
+msgid "txz-out"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:3610
+# type: verbatim
+#: ../fish/guestfish-actions.pod:3958
+#, no-wrap
 msgid ""
 msgid ""
-"Single 7-bit-byte characters like ASCII and the ASCII-compatible parts of "
-"ISO-8859-X (this is what C<strings> uses)."
+" txz-out directory (tarball|-)\n"
+"\n"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3642
-msgid "swapoff-device"
+#: ../fish/guestfish-actions.pod:3965
+msgid "umask"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3644
+#: ../fish/guestfish-actions.pod:3967
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" swapoff-device device\n"
+" umask mask\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3646
-msgid ""
-"This command disables the libguestfs appliance swap device or partition "
-"named C<device>.  See C<swapon-device>."
+#: ../fish/guestfish-actions.pod:3981
+msgid "See also L</get-umask>, L<umask(2)>, L</mknod>, L</mkdir>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3650
-msgid "swapoff-file"
+#: ../fish/guestfish-actions.pod:3986
+msgid "umount"
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-actions.pod:3988
+msgid "unmount"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3652
+#: ../fish/guestfish-actions.pod:3990
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" swapoff-file file\n"
+" umount pathordevice\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3656
-msgid "swapoff-label"
+#: ../fish/guestfish-actions.pod:3996
+msgid "umount-all"
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-actions.pod:3998
+msgid "unmount-all"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3658
+#: ../fish/guestfish-actions.pod:4000
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" swapoff-label label\n"
+" umount-all\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3663
-msgid "swapoff-uuid"
+#: ../fish/guestfish-actions.pod:4006
+msgid "upload"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3665
+#: ../fish/guestfish-actions.pod:4008
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" swapoff-uuid uuid\n"
+" upload (filename|-) remotefilename\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:4015
+msgid "See also L</download>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:3670
-msgid "swapon-device"
+#: ../fish/guestfish-actions.pod:4019
+msgid "upload-offset"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3672
+#: ../fish/guestfish-actions.pod:4021
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" swapon-device device\n"
+" upload-offset (filename|-) remotefilename offset\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3674
+#: ../fish/guestfish-actions.pod:4033
 msgid ""
 msgid ""
-"This command enables the libguestfs appliance to use the swap device or "
-"partition named C<device>.  The increased memory is made available for all "
-"commands, for example those run using C<command> or C<sh>."
+"Note that there is no limit on the amount of data that can be uploaded with "
+"this call, unlike with L</pwrite>, and this call always writes the full "
+"amount unless an error occurs."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:4038
+msgid "See also L</upload>, L</pwrite>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3686
-msgid "swapon-file"
+#: ../fish/guestfish-actions.pod:4042
+msgid "utimens"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3688
+#: ../fish/guestfish-actions.pod:4044
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" swapon-file file\n"
+" utimens path atsecs atnsecs mtsecs mtnsecs\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:3690
-msgid "This command enables swap to a file.  See C<swapon-device> for other notes."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:3693
-msgid "swapon-label"
+#: ../fish/guestfish-actions.pod:4063
+msgid "version"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3695
+#: ../fish/guestfish-actions.pod:4065
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" swapon-label label\n"
+" version\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3697
+#: ../fish/guestfish-actions.pod:4092
 msgid ""
 msgid ""
-"This command enables swap to a labeled swap partition.  See C<swapon-device> "
-"for other notes."
+"I<Note:> Don't use this call to test for availability of features.  In "
+"enterprise distributions we backport features from later versions into "
+"earlier versions, making this an unreliable way to test for features.  Use "
+"L</available> instead."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3700
-msgid "swapon-uuid"
+#: ../fish/guestfish-actions.pod:4098
+msgid "vfs-label"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3702
+#: ../fish/guestfish-actions.pod:4100
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" swapon-uuid uuid\n"
+" vfs-label device\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3704
-msgid ""
-"This command enables swap to a swap partition with the given UUID.  See "
-"C<swapon-device> for other notes."
+#: ../fish/guestfish-actions.pod:4107
+msgid "To find a filesystem from the label, use L</findfs-label>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3707
-msgid "sync"
+#: ../fish/guestfish-actions.pod:4109
+msgid "vfs-type"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3709
+#: ../fish/guestfish-actions.pod:4111
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" sync\n"
+" vfs-type device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3717
-msgid "tail"
+#: ../fish/guestfish-actions.pod:4121
+msgid "vfs-uuid"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3719
+#: ../fish/guestfish-actions.pod:4123
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" tail path\n"
+" vfs-uuid device\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:4130
+msgid "To find a filesystem from the UUID, use L</findfs-uuid>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:3727
-msgid "tail-n"
+#: ../fish/guestfish-actions.pod:4132
+msgid "vg-activate"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3729
+#: ../fish/guestfish-actions.pod:4134
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" tail-n nrlines path\n"
+" vg-activate true|false 'volgroups ...'\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3742
-msgid "tar-in"
+#: ../fish/guestfish-actions.pod:4147
+msgid "vg-activate-all"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3744
+#: ../fish/guestfish-actions.pod:4149
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" tar-in (tarfile|-) directory\n"
+" vg-activate-all true|false\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:3749
-msgid "To upload a compressed tarball, use C<tgz-in> or C<txz-in>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:3754
-msgid "tar-out"
+#: ../fish/guestfish-actions.pod:4159
+msgid "vgcreate"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3756
+#: ../fish/guestfish-actions.pod:4161
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" tar-out directory (tarfile|-)\n"
+" vgcreate volgroup 'physvols ...'\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:3761
-msgid "To download a compressed tarball, use C<tgz-out> or C<txz-out>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:3766
-msgid "tgz-in"
+#: ../fish/guestfish-actions.pod:4166
+msgid "vglvuuids"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3768
+#: ../fish/guestfish-actions.pod:4168
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" tgz-in (tarball|-) directory\n"
+" vglvuuids vgname\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3773
-msgid "To upload an uncompressed tarball, use C<tar-in>."
+#: ../fish/guestfish-actions.pod:4173
+msgid ""
+"You can use this along with L</lvs> and L</lvuuid> calls to associate "
+"logical volumes and volume groups."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:4176
+msgid "See also L</vgpvuuids>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3777
-msgid "tgz-out"
+#: ../fish/guestfish-actions.pod:4178
+msgid "vgpvuuids"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3779
+#: ../fish/guestfish-actions.pod:4180
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" tgz-out directory (tarball|-)\n"
+" vgpvuuids vgname\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3784
-msgid "To download an uncompressed tarball, use C<tar-out>."
+#: ../fish/guestfish-actions.pod:4185
+msgid ""
+"You can use this along with L</pvs> and L</pvuuid> calls to associate "
+"physical volumes and volume groups."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-actions.pod:4188
+msgid "See also L</vglvuuids>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3788
-msgid "touch"
+#: ../fish/guestfish-actions.pod:4190
+msgid "vgremove"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3790
+#: ../fish/guestfish-actions.pod:4192
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" touch path\n"
+" vgremove vgname\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3799
-msgid "truncate"
+#: ../fish/guestfish-actions.pod:4199
+msgid "vgrename"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3801
+#: ../fish/guestfish-actions.pod:4201
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" truncate path\n"
+" vgrename volgroup newvolgroup\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3806
-msgid "truncate-size"
+#: ../fish/guestfish-actions.pod:4205
+msgid "vgs"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3808
+#: ../fish/guestfish-actions.pod:4207
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" truncate-size path size\n"
+" vgs\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3813
-msgid ""
-"If the current file size is less than C<size> then the file is extended to "
-"the required size with zero bytes.  This creates a sparse file (ie. disk "
-"blocks are not allocated for the file until you write to it).  To create a "
-"non-sparse file of zeroes, use C<fallocate64> instead."
+#: ../fish/guestfish-actions.pod:4215
+msgid "See also L</vgs-full>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3819
-msgid "tune2fs-l"
+#: ../fish/guestfish-actions.pod:4217
+msgid "vgs-full"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3821
+#: ../fish/guestfish-actions.pod:4219
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" tune2fs-l device\n"
+" vgs-full\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3831
-msgid "txz-in"
+#: ../fish/guestfish-actions.pod:4224
+msgid "vgscan"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3833
+#: ../fish/guestfish-actions.pod:4226
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" txz-in (tarball|-) directory\n"
+" vgscan\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3840
-msgid "txz-out"
+#: ../fish/guestfish-actions.pod:4231
+msgid "vguuid"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3842
+#: ../fish/guestfish-actions.pod:4233
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" txz-out directory (tarball|-)\n"
+" vguuid vgname\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3849
-msgid "umask"
-msgstr ""
+#: ../fish/guestfish-actions.pod:4237
+msgid "wc-c"
+msgstr ""
 
 # type: verbatim
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3851
+#: ../fish/guestfish-actions.pod:4239
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" umask mask\n"
+" wc-c path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:3865
-msgid "See also C<get-umask>, L<umask(2)>, C<mknod>, C<mkdir>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:3870
-msgid "umount | unmount"
+#: ../fish/guestfish-actions.pod:4244
+msgid "wc-l"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3872
+#: ../fish/guestfish-actions.pod:4246
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" umount pathordevice\n"
+" wc-l path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3878
-msgid "umount-all | unmount-all"
+#: ../fish/guestfish-actions.pod:4251
+msgid "wc-w"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3880
+#: ../fish/guestfish-actions.pod:4253
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" umount-all\n"
+" wc-w path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3886
-msgid "upload"
+#: ../fish/guestfish-actions.pod:4258
+msgid "write"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3888
+#: ../fish/guestfish-actions.pod:4260
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" upload (filename|-) remotefilename\n"
+" write path content\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:3895
-msgid "See also C<download>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:3899
-msgid "utimens"
+#: ../fish/guestfish-actions.pod:4268
+msgid "write-file"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3901
+#: ../fish/guestfish-actions.pod:4270
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" utimens path atsecs atnsecs mtsecs mtnsecs\n"
+" write-file path content size\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3920
-msgid "version"
+#: ../fish/guestfish-actions.pod:4293
+msgid "zegrep"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3922
+#: ../fish/guestfish-actions.pod:4295
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" version\n"
+" zegrep regex path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:3949
-msgid ""
-"I<Note:> Don't use this call to test for availability of features.  In "
-"enterprise distributions we backport features from later versions into "
-"earlier versions, making this an unreliable way to test for features.  Use "
-"C<available> instead."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:3955
-msgid "vfs-label"
+#: ../fish/guestfish-actions.pod:4303
+msgid "zegrepi"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3957
+#: ../fish/guestfish-actions.pod:4305
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" vfs-label device\n"
+" zegrepi regex path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:3964
-msgid "To find a filesystem from the label, use C<findfs-label>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:3966
-msgid "vfs-type"
+#: ../fish/guestfish-actions.pod:4313
+msgid "zero"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3968
+#: ../fish/guestfish-actions.pod:4315
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" vfs-type device\n"
+" zero device\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-actions.pod:4323
+msgid "See also: L</zero-device>, L</scrub-device>."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:3978
-msgid "vfs-uuid"
+#: ../fish/guestfish-actions.pod:4325
+msgid "zero-device"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3980
+#: ../fish/guestfish-actions.pod:4327
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" vfs-uuid device\n"
+" zero-device device\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:3987
-msgid "To find a filesystem from the UUID, use C<findfs-uuid>."
+#: ../fish/guestfish-actions.pod:4329
+msgid ""
+"This command writes zeroes over the entire C<device>.  Compare with L</zero> "
+"which just zeroes the first few blocks of a device."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:3989
-msgid "vg-activate"
+#: ../fish/guestfish-actions.pod:4336
+msgid "zerofree"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:3991
+#: ../fish/guestfish-actions.pod:4338
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" vg-activate true|false 'volgroups ...'\n"
+" zerofree device\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:4004
-msgid "vg-activate-all"
+#: ../fish/guestfish-actions.pod:4351
+msgid "zfgrep"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:4006
+#: ../fish/guestfish-actions.pod:4353
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" vg-activate-all true|false\n"
+" zfgrep pattern path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:4016
-msgid "vgcreate"
+#: ../fish/guestfish-actions.pod:4361
+msgid "zfgrepi"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:4018
+#: ../fish/guestfish-actions.pod:4363
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" vgcreate volgroup 'physvols ...'\n"
+" zfgrepi pattern path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:4023
-msgid "vglvuuids"
+#: ../fish/guestfish-actions.pod:4371
+msgid "zfile"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:4025
+#: ../fish/guestfish-actions.pod:4373
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" vglvuuids vgname\n"
+" zfile meth path\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:4030
-msgid ""
-"You can use this along with C<lvs> and C<lvuuid> calls to associate logical "
-"volumes and volume groups."
-msgstr ""
-
-# type: textblock
-#: ../fish/guestfish-actions.pod:4033
-msgid "See also C<vgpvuuids>."
+#: ../fish/guestfish-actions.pod:4380
+msgid "Since 1.0.63, use L</file> instead which can now process compressed files."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:4035
-msgid "vgpvuuids"
+#: ../fish/guestfish-actions.pod:4390
+msgid "zgrep"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:4037
+#: ../fish/guestfish-actions.pod:4392
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" vgpvuuids vgname\n"
+" zgrep regex path\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../fish/guestfish-actions.pod:4042
-msgid ""
-"You can use this along with C<pvs> and C<pvuuid> calls to associate physical "
-"volumes and volume groups."
-msgstr ""
-
-# type: textblock
-#: ../fish/guestfish-actions.pod:4045
-msgid "See also C<vglvuuids>."
-msgstr ""
-
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:4047
-msgid "vgremove"
+#: ../fish/guestfish-actions.pod:4400
+msgid "zgrepi"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:4049
+#: ../fish/guestfish-actions.pod:4402
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" vgremove vgname\n"
+" zgrepi regex path\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:4056
-msgid "vgrename"
-msgstr ""
-
-# type: verbatim
-#: ../fish/guestfish-actions.pod:4058
-#, no-wrap
-msgid ""
-" vgrename volgroup newvolgroup\n"
-"\n"
+#: ../fish/guestfish-commands.pod:1
+msgid "alloc"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:4062
-msgid "vgs"
+#: ../fish/guestfish-commands.pod:3
+msgid "allocate"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:4064
+#: ../fish/guestfish-commands.pod:5
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" vgs\n"
+" alloc filename size\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:4072
-msgid "See also C<vgs-full>."
+#: ../fish/guestfish-commands.pod:7
+msgid ""
+"This creates an empty (zeroed) file of the given size, and then adds so it "
+"can be further examined."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-commands.pod:10 ../fish/guestfish-commands.pod:168
+msgid "For more advanced image creation, see L<qemu-img(1)> utility."
 msgstr ""
 
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish-actions.pod:4074
-msgid "vgs-full"
+# type: textblock
+#: ../fish/guestfish-commands.pod:12 ../fish/guestfish-commands.pod:170
+msgid "Size can be specified using standard suffixes, eg. C<1M>."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish-actions.pod:4076
-#, no-wrap
+# type: textblock
+#: ../fish/guestfish-commands.pod:14
 msgid ""
 msgid ""
-" vgs-full\n"
-"\n"
+"To create a sparse file, use L</sparse> instead.  To create a prepared disk "
+"image, see L</PREPARED DISK IMAGES>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:4081
-msgid "vgscan"
+#: ../fish/guestfish-commands.pod:17
+msgid "copy-in"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:4083
+#: ../fish/guestfish-commands.pod:19
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" vgscan\n"
+" copy-in local [local ...] /remotedir\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish-actions.pod:4088
-msgid "vguuid"
+# type: textblock
+#: ../fish/guestfish-commands.pod:21
+msgid ""
+"C<copy-in> copies local files or directories recursively into the disk "
+"image, placing them in the directory called C</remotedir> (which must "
+"exist).  This guestfish meta-command turns into a sequence of L</tar-in> and "
+"other commands as necessary."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish-actions.pod:4090
-#, no-wrap
+# type: textblock
+#: ../fish/guestfish-commands.pod:26
 msgid ""
 msgid ""
-" vguuid vgname\n"
-"\n"
+"Multiple local files and directories can be specified, but the last "
+"parameter must always be a remote directory.  Wildcards cannot be used."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:4094
-msgid "wc-c"
+#: ../fish/guestfish-commands.pod:30
+msgid "copy-out"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:4096
+#: ../fish/guestfish-commands.pod:32
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" wc-c path\n"
+" copy-out remote [remote ...] localdir\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish-actions.pod:4101
-msgid "wc-l"
+# type: textblock
+#: ../fish/guestfish-commands.pod:34
+msgid ""
+"C<copy-out> copies remote files or directories recursively out of the disk "
+"image, placing them on the host disk in a local directory called C<localdir> "
+"(which must exist).  This guestfish meta-command turns into a sequence of "
+"L</download>, L</tar-out> and other commands as necessary."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-commands.pod:40
+msgid ""
+"Multiple remote files and directories can be specified, but the last "
+"parameter must always be a local directory.  To download to the current "
+"directory, use C<.> as in:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:4103
+#: ../fish/guestfish-commands.pod:44
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" wc-l path\n"
+" copy-out /home .\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish-actions.pod:4108
-msgid "wc-w"
+# type: textblock
+#: ../fish/guestfish-commands.pod:46
+msgid ""
+"Wildcards cannot be used in the ordinary command, but you can use them with "
+"the help of L</glob> like this:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:4110
+#: ../fish/guestfish-commands.pod:49
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" wc-w path\n"
+" glob copy-out /home/* .\n"
 "\n"
 msgstr ""
 
 # type: =head2
 "\n"
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:4115
-msgid "write"
+#: ../fish/guestfish-commands.pod:51
+msgid "echo"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:4117
+#: ../fish/guestfish-commands.pod:53
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" write path content\n"
+" echo [params ...]\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish-commands.pod:55
+msgid "This echos the parameters to the terminal."
+msgstr ""
+
 # type: =head2
 # type: =head2
-#: ../fish/guestfish-actions.pod:4125
-msgid "write-file"
+#: ../fish/guestfish-commands.pod:57
+msgid "edit"
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish-actions.pod:4127
-#, no-wrap
-msgid ""
-" write-file path content size\n"
-"\n"
+# type: =head2
+#: ../fish/guestfish-commands.pod:59
+msgid "vi"
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:4150
-msgid "zegrep"
+#: ../fish/guestfish-commands.pod:61
+msgid "emacs"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:4152
+#: ../fish/guestfish-commands.pod:63
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" zegrep regex path\n"
+" edit filename\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish-actions.pod:4160
-msgid "zegrepi"
+# type: textblock
+#: ../fish/guestfish-commands.pod:65
+msgid ""
+"This is used to edit a file.  It downloads the file, edits it locally using "
+"your editor, then uploads the result."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish-actions.pod:4162
-#, no-wrap
+# type: textblock
+#: ../fish/guestfish-commands.pod:68
 msgid ""
 msgid ""
-" zegrepi regex path\n"
-"\n"
+"The editor is C<$EDITOR>.  However if you use the alternate commands C<vi> "
+"or C<emacs> you will get those corresponding editors."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:4170
-msgid "zero"
+#: ../fish/guestfish-commands.pod:72
+msgid "glob"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:4172
+#: ../fish/guestfish-commands.pod:74
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" zero device\n"
+" glob command args...\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:4180
-msgid "See also: C<zero-device>, C<scrub-device>."
+#: ../fish/guestfish-commands.pod:76
+msgid ""
+"Expand wildcards in any paths in the args list, and run C<command> "
+"repeatedly on each matching path."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-commands.pod:79
+msgid "See L</WILDCARDS AND GLOBBING>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:4182
-msgid "zero-device"
+#: ../fish/guestfish-commands.pod:81
+msgid "hexedit"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:4184
+#: ../fish/guestfish-commands.pod:83
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" zero-device device\n"
+" hexedit <filename|device>\n"
+" hexedit <filename|device> <max>\n"
+" hexedit <filename|device> <start> <max>\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:4186
+#: ../fish/guestfish-commands.pod:87
 msgid ""
 msgid ""
-"This command writes zeroes over the entire C<device>.  Compare with C<zero> "
-"which just zeroes the first few blocks of a device."
-msgstr ""
-
-# type: =head2
-#: ../fish/guestfish-actions.pod:4193
-msgid "zerofree"
+"Use hexedit (a hex editor) to edit all or part of a binary file or block "
+"device."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish-actions.pod:4195
-#, no-wrap
+# type: textblock
+#: ../fish/guestfish-commands.pod:90
 msgid ""
 msgid ""
-" zerofree device\n"
-"\n"
+"This command works by downloading potentially the whole file or device, "
+"editing it locally, then uploading it.  If the file or device is large, you "
+"have to specify which part you wish to edit by using C<max> and/or C<start> "
+"C<max> parameters.  C<start> and C<max> are specified in bytes, with the "
+"usual modifiers allowed such as C<1M> (1 megabyte)."
 msgstr ""
 
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish-actions.pod:4208
-msgid "zfgrep"
+# type: textblock
+#: ../fish/guestfish-commands.pod:97
+msgid "For example to edit the first few sectors of a disk you might do:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:4210
+#: ../fish/guestfish-commands.pod:100
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" zfgrep pattern path\n"
+" hexedit /dev/sda 1M\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish-actions.pod:4218
-msgid "zfgrepi"
+# type: textblock
+#: ../fish/guestfish-commands.pod:102
+msgid ""
+"which would allow you to edit anywhere within the first megabyte of the "
+"disk."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-commands.pod:105
+msgid "To edit the superblock of an ext2 filesystem on C</dev/sda1>, do:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:4220
+#: ../fish/guestfish-commands.pod:107
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" zfgrepi pattern path\n"
+" hexedit /dev/sda1 0x400 0x400\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish-actions.pod:4228
-msgid "zfile"
+# type: textblock
+#: ../fish/guestfish-commands.pod:109
+msgid "(assuming the superblock is in the standard location)."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../fish/guestfish-actions.pod:4230
-#, no-wrap
+# type: textblock
+#: ../fish/guestfish-commands.pod:111
 msgid ""
 msgid ""
-" zfile meth path\n"
-"\n"
+"This command requires the external L<hexedit(1)> program.  You can specify "
+"another program to use by setting the C<HEXEDITOR> environment variable."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish-actions.pod:4237
-msgid "Since 1.0.63, use C<file> instead which can now process compressed files."
+#: ../fish/guestfish-commands.pod:115
+msgid "See also L</hexdump>."
 msgstr ""
 
 # type: =head2
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish-actions.pod:4247
-msgid "zgrep"
+#: ../fish/guestfish-commands.pod:117
+msgid "lcd"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:4249
+#: ../fish/guestfish-commands.pod:119
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" zgrep regex path\n"
+" lcd directory\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =head2
-#: ../fish/guestfish-actions.pod:4257
-msgid "zgrepi"
+# type: textblock
+#: ../fish/guestfish-commands.pod:121
+msgid "Change the local directory, ie. the current directory of guestfish itself."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-commands.pod:124
+msgid "Note that C<!cd> won't do what you might expect."
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-commands.pod:126
+msgid "man"
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-commands.pod:128
+msgid "manual"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish-actions.pod:4259
+#: ../fish/guestfish-commands.pod:130
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" zgrepi regex path\n"
+"  man\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-commands.pod:132
+msgid "Opens the manual page for guestfish."
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-commands.pod:134
+msgid "more"
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-commands.pod:136
+msgid "less"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish-commands.pod:138
+#, no-wrap
+msgid ""
+" more filename\n"
+"\n"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish-commands.pod:140
+#, no-wrap
+msgid ""
+" less filename\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-commands.pod:142
+msgid "This is used to view a file."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-commands.pod:144
+msgid ""
+"The default viewer is C<$PAGER>.  However if you use the alternate command "
+"C<less> you will get the C<less> command specifically."
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-commands.pod:147
+msgid "reopen"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish-commands.pod:149
+#, no-wrap
+msgid ""
+"  reopen\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-commands.pod:151
+msgid ""
+"Close and reopen the libguestfs handle.  It is not necessary to use this "
+"normally, because the handle is closed properly when guestfish exits.  "
+"However this is occasionally useful for testing."
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-commands.pod:155
+msgid "sparse"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish-commands.pod:157
+#, no-wrap
+msgid ""
+" sparse filename size\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-commands.pod:159
+msgid ""
+"This creates an empty sparse file of the given size, and then adds so it can "
+"be further examined."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-commands.pod:162
+msgid ""
+"In all respects it works the same as the L</alloc> command, except that the "
+"image file is allocated sparsely, which means that disk blocks are not "
+"assigned to the file until they are needed.  Sparse disk files only use "
+"space when written to, but they are slower and there is a danger you could "
+"run out of real disk space during a write operation."
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-commands.pod:172
+msgid "supported"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish-commands.pod:174
+#, no-wrap
+msgid ""
+" supported\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-commands.pod:176
+msgid ""
+"This command returns a list of the optional groups known to the daemon, and "
+"indicates which ones are supported by this build of the libguestfs "
+"appliance."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish-commands.pod:180
+msgid "See also L<guestfs(3)/AVAILABILITY>."
+msgstr ""
+
+# type: =head2
+#: ../fish/guestfish-commands.pod:182
+msgid "time"
+msgstr ""
+
+# type: verbatim
+#: ../fish/guestfish-commands.pod:184
+#, no-wrap
+msgid ""
+" time command args...\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
+#: ../fish/guestfish-commands.pod:186
+msgid ""
+"Run the command as usual, but print the elapsed time afterwards.  This can "
+"be useful for benchmarking operations."
+msgstr ""
+
+# type: textblock
 #: ../test-tool/libguestfs-test-tool.pod:5
 msgid "libguestfs-test-tool - End user tests for libguestfs"
 msgstr ""
 #: ../test-tool/libguestfs-test-tool.pod:5
 msgid "libguestfs-test-tool - End user tests for libguestfs"
 msgstr ""
@@ -22508,27 +23554,27 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:85 ../tools/virt-cat.pl:90 ../tools/virt-df.pl:81 ../tools/virt-edit.pl:83 ../tools/virt-list-filesystems.pl:60 ../tools/virt-list-partitions.pl:61 ../tools/virt-ls.pl:89 ../tools/virt-make-fs.pl:163 ../tools/virt-rescue.pl:113 ../tools/virt-tar.pl:109 ../tools/virt-win-reg.pl:182
+#: ../inspector/virt-inspector.pl:85 ../tools/virt-edit.pl:83 ../tools/virt-win-reg.pl:182 ../tools/virt-df.pl:81 ../tools/virt-ls.pl:89 ../tools/virt-list-filesystems.pl:60 ../tools/virt-cat.pl:90 ../tools/virt-tar.pl:109 ../tools/virt-rescue.pl:113 ../tools/virt-make-fs.pl:163 ../tools/virt-list-partitions.pl:61
 msgid "Display brief help."
 msgstr ""
 
 # type: =item
 msgid "Display brief help."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:91 ../tools/virt-cat.pl:96 ../tools/virt-df.pl:87 ../tools/virt-edit.pl:89 ../tools/virt-list-filesystems.pl:66 ../tools/virt-list-partitions.pl:67 ../tools/virt-ls.pl:95 ../tools/virt-make-fs.pl:169 ../tools/virt-rescue.pl:119 ../tools/virt-resize.pl:249 ../tools/virt-tar.pl:115 ../tools/virt-win-reg.pl:188
+#: ../inspector/virt-inspector.pl:91 ../tools/virt-edit.pl:89 ../tools/virt-win-reg.pl:188 ../tools/virt-df.pl:87 ../tools/virt-ls.pl:95 ../tools/virt-resize.pl:273 ../tools/virt-list-filesystems.pl:66 ../tools/virt-cat.pl:96 ../tools/virt-tar.pl:115 ../tools/virt-rescue.pl:119 ../tools/virt-make-fs.pl:169 ../tools/virt-list-partitions.pl:67
 msgid "B<--version>"
 msgstr ""
 
 # type: textblock
 msgid "B<--version>"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:93 ../tools/virt-cat.pl:98 ../tools/virt-df.pl:89 ../tools/virt-edit.pl:91 ../tools/virt-list-filesystems.pl:68 ../tools/virt-list-partitions.pl:69 ../tools/virt-ls.pl:97 ../tools/virt-make-fs.pl:171 ../tools/virt-rescue.pl:121 ../tools/virt-resize.pl:251 ../tools/virt-tar.pl:117 ../tools/virt-win-reg.pl:190
+#: ../inspector/virt-inspector.pl:93 ../tools/virt-edit.pl:91 ../tools/virt-win-reg.pl:190 ../tools/virt-df.pl:89 ../tools/virt-ls.pl:97 ../tools/virt-resize.pl:275 ../tools/virt-list-filesystems.pl:68 ../tools/virt-cat.pl:98 ../tools/virt-tar.pl:117 ../tools/virt-rescue.pl:121 ../tools/virt-make-fs.pl:171 ../tools/virt-list-partitions.pl:69
 msgid "Display version number and exit."
 msgstr ""
 
 # type: =item
 msgid "Display version number and exit."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:99 ../tools/virt-cat.pl:104 ../tools/virt-df.pl:95 ../tools/virt-edit.pl:113 ../tools/virt-list-filesystems.pl:74 ../tools/virt-list-partitions.pl:75 ../tools/virt-ls.pl:103 ../tools/virt-rescue.pl:135 ../tools/virt-tar.pl:123 ../tools/virt-win-reg.pl:204
+#: ../inspector/virt-inspector.pl:99 ../tools/virt-edit.pl:113 ../tools/virt-win-reg.pl:204 ../tools/virt-df.pl:95 ../tools/virt-ls.pl:103 ../tools/virt-list-filesystems.pl:74 ../tools/virt-cat.pl:104 ../tools/virt-tar.pl:123 ../tools/virt-rescue.pl:135 ../tools/virt-list-partitions.pl:75
 msgid "B<--connect URI> | B<-c URI>"
 msgstr ""
 
 # type: textblock
 msgid "B<--connect URI> | B<-c URI>"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:101 ../tools/virt-cat.pl:106 ../tools/virt-df.pl:97 ../tools/virt-edit.pl:115 ../tools/virt-list-filesystems.pl:76 ../tools/virt-list-partitions.pl:77 ../tools/virt-ls.pl:105 ../tools/virt-rescue.pl:137 ../tools/virt-tar.pl:125 ../tools/virt-win-reg.pl:206
+#: ../inspector/virt-inspector.pl:101 ../tools/virt-edit.pl:115 ../tools/virt-win-reg.pl:206 ../tools/virt-df.pl:97 ../tools/virt-ls.pl:105 ../tools/virt-list-filesystems.pl:76 ../tools/virt-cat.pl:106 ../tools/virt-tar.pl:125 ../tools/virt-rescue.pl:137 ../tools/virt-list-partitions.pl:77
 msgid ""
 "If using libvirt, connect to the given I<URI>.  If omitted, then we connect "
 "to the default libvirt hypervisor."
 msgid ""
 "If using libvirt, connect to the given I<URI>.  If omitted, then we connect "
 "to the default libvirt hypervisor."
@@ -22541,81 +23587,108 @@ msgid ""
 "you specify guest block devices directly, then libvirt is not used at all."
 msgstr ""
 
 "you specify guest block devices directly, then libvirt is not used at all."
 msgstr ""
 
+# type: =item
+#: ../inspector/virt-inspector.pl:112 ../tools/virt-edit.pl:125 ../tools/virt-win-reg.pl:216 ../tools/virt-df.pl:117 ../tools/virt-ls.pl:115 ../tools/virt-resize.pl:523 ../tools/virt-list-filesystems.pl:86 ../tools/virt-cat.pl:116 ../tools/virt-tar.pl:135 ../tools/virt-rescue.pl:147 ../tools/virt-list-partitions.pl:87
+msgid "B<--format> raw"
+msgstr ""
+
+# type: textblock
+#: ../inspector/virt-inspector.pl:114 ../tools/virt-edit.pl:127 ../tools/virt-win-reg.pl:218 ../tools/virt-df.pl:119 ../tools/virt-ls.pl:117 ../tools/virt-list-filesystems.pl:88 ../tools/virt-cat.pl:118 ../tools/virt-tar.pl:137 ../tools/virt-rescue.pl:149 ../tools/virt-list-partitions.pl:89
+msgid ""
+"Specify the format of disk images given on the command line.  If this is "
+"omitted then the format is autodetected from the content of the disk image."
+msgstr ""
+
+# type: textblock
+#: ../inspector/virt-inspector.pl:118 ../tools/virt-edit.pl:131 ../tools/virt-win-reg.pl:222 ../tools/virt-df.pl:123 ../tools/virt-ls.pl:121 ../tools/virt-list-filesystems.pl:92 ../tools/virt-cat.pl:122 ../tools/virt-tar.pl:141 ../tools/virt-rescue.pl:153 ../tools/virt-list-partitions.pl:93
+msgid ""
+"If disk images are requested from libvirt, then this program asks libvirt "
+"for this information.  In this case, the value of the format parameter is "
+"ignored."
+msgstr ""
+
+# type: textblock
+#: ../inspector/virt-inspector.pl:122 ../tools/virt-edit.pl:135 ../tools/virt-win-reg.pl:226 ../tools/virt-df.pl:127 ../tools/virt-ls.pl:125 ../tools/virt-resize.pl:528 ../tools/virt-resize.pl:543 ../tools/virt-list-filesystems.pl:96 ../tools/virt-cat.pl:126 ../tools/virt-tar.pl:145 ../tools/virt-rescue.pl:157 ../tools/virt-list-partitions.pl:97
+msgid ""
+"If working with untrusted raw-format guest disk images, you should ensure "
+"the format is always specified."
+msgstr ""
+
 # type: textblock
 # type: textblock
-#: ../inspector/virt-inspector.pl:114
+#: ../inspector/virt-inspector.pl:131
 msgid ""
 "The following options select the output format.  Use only one of them.  The "
 "default is a readable text report."
 msgstr ""
 
 # type: =item
 msgid ""
 "The following options select the output format.  Use only one of them.  The "
 "default is a readable text report."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:119
+#: ../inspector/virt-inspector.pl:136
 msgid "B<--text> (default)"
 msgstr ""
 
 # type: textblock
 msgid "B<--text> (default)"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:121
+#: ../inspector/virt-inspector.pl:138
 msgid "Plain text report."
 msgstr ""
 
 # type: =item
 msgid "Plain text report."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:123
+#: ../inspector/virt-inspector.pl:140
 msgid "B<--none>"
 msgstr ""
 
 # type: textblock
 msgid "B<--none>"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:125
+#: ../inspector/virt-inspector.pl:142
 msgid "Produce no output at all."
 msgstr ""
 
 # type: =item
 msgid "Produce no output at all."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:127
+#: ../inspector/virt-inspector.pl:144
 msgid "B<--xml>"
 msgstr ""
 
 # type: textblock
 msgid "B<--xml>"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:129
+#: ../inspector/virt-inspector.pl:146
 msgid ""
 "If you select I<--xml> then you get XML output which can be fed to other "
 "programs."
 msgstr ""
 
 # type: =item
 msgid ""
 "If you select I<--xml> then you get XML output which can be fed to other "
 "programs."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:132
+#: ../inspector/virt-inspector.pl:149
 msgid "B<--yaml>"
 msgstr ""
 
 # type: textblock
 msgid "B<--yaml>"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:134
+#: ../inspector/virt-inspector.pl:151
 msgid ""
 "If you select I<--yaml> then you get YAML output which can be fed to other "
 "programs."
 msgstr ""
 
 # type: =item
 msgid ""
 "If you select I<--yaml> then you get YAML output which can be fed to other "
 "programs."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:137
+#: ../inspector/virt-inspector.pl:154
 msgid "B<--perl>"
 msgstr ""
 
 # type: textblock
 msgid "B<--perl>"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:139
+#: ../inspector/virt-inspector.pl:156
 msgid ""
 "If you select I<--perl> then you get Perl structures output which can be "
 "used directly in another Perl program."
 msgstr ""
 
 # type: =item
 msgid ""
 "If you select I<--perl> then you get Perl structures output which can be "
 "used directly in another Perl program."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:142
+#: ../inspector/virt-inspector.pl:159
 msgid "B<--fish>"
 msgstr ""
 
 # type: =item
 msgid "B<--fish>"
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:144
+#: ../inspector/virt-inspector.pl:161
 msgid "B<--ro-fish>"
 msgstr ""
 
 # type: textblock
 msgid "B<--ro-fish>"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:146
+#: ../inspector/virt-inspector.pl:163
 msgid ""
 "If you select I<--fish> then we print a L<guestfish(1)> command line which "
 "will automatically mount up the filesystems on the correct mount points.  "
 msgid ""
 "If you select I<--fish> then we print a L<guestfish(1)> command line which "
 "will automatically mount up the filesystems on the correct mount points.  "
@@ -22623,7 +23696,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../inspector/virt-inspector.pl:150
+#: ../inspector/virt-inspector.pl:167
 #, no-wrap
 msgid ""
 " guestfish $(virt-inspector --fish guest.img)\n"
 #, no-wrap
 msgid ""
 " guestfish $(virt-inspector --fish guest.img)\n"
@@ -22631,55 +23704,55 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:152
+#: ../inspector/virt-inspector.pl:169
 msgid ""
 "I<--ro-fish> is the same, but the I<--ro> option is passed to guestfish so "
 "that the filesystems are mounted read-only."
 msgstr ""
 
 # type: =item
 msgid ""
 "I<--ro-fish> is the same, but the I<--ro> option is passed to guestfish so "
 "that the filesystems are mounted read-only."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:155
+#: ../inspector/virt-inspector.pl:172
 msgid "B<--query>"
 msgstr ""
 
 # type: textblock
 msgid "B<--query>"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:157
+#: ../inspector/virt-inspector.pl:174
 msgid ""
 "In \"query mode\" we answer common questions about the guest, such as "
 "whether it is fullvirt or needs a Xen hypervisor to run."
 msgstr ""
 
 # type: textblock
 msgid ""
 "In \"query mode\" we answer common questions about the guest, such as "
 "whether it is fullvirt or needs a Xen hypervisor to run."
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:160
+#: ../inspector/virt-inspector.pl:177
 msgid "See section I<QUERY MODE> below."
 msgstr ""
 
 # type: =item
 msgid "See section I<QUERY MODE> below."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:166
+#: ../inspector/virt-inspector.pl:183
 msgid "B<--windows-registry>"
 msgstr ""
 
 # type: textblock
 msgid "B<--windows-registry>"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:168
+#: ../inspector/virt-inspector.pl:185
 msgid ""
 "This flag is ignored for compatibility with earlier releases of the "
 "software."
 msgstr ""
 
 # type: textblock
 msgid ""
 "This flag is ignored for compatibility with earlier releases of the "
 "software."
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:171
+#: ../inspector/virt-inspector.pl:188
 msgid ""
 "In this version, if L<Win::Hivex(3)> is available, then we attempt to parse "
 "information out of the Registry for any Windows guest."
 msgstr ""
 
 # type: =head1
 msgid ""
 "In this version, if L<Win::Hivex(3)> is available, then we attempt to parse "
 "information out of the Registry for any Windows guest."
 msgstr ""
 
 # type: =head1
-#: ../inspector/virt-inspector.pl:218
+#: ../inspector/virt-inspector.pl:244
 msgid "OUTPUT FORMAT"
 msgstr ""
 
 # type: verbatim
 msgid "OUTPUT FORMAT"
 msgstr ""
 
 # type: verbatim
-#: ../inspector/virt-inspector.pl:220
+#: ../inspector/virt-inspector.pl:246
 #, no-wrap
 msgid ""
 " Operating system(s)\n"
 #, no-wrap
 msgid ""
 " Operating system(s)\n"
@@ -22700,12 +23773,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:235
+#: ../inspector/virt-inspector.pl:261
 msgid "The output of virt-inspector is a complex two-level data structure."
 msgstr ""
 
 # type: textblock
 msgid "The output of virt-inspector is a complex two-level data structure."
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:237
+#: ../inspector/virt-inspector.pl:263
 msgid ""
 "At the top level is a list of the operating systems installed on the guest.  "
 "(For the vast majority of guests, only a single OS is installed.)  The data "
 msgid ""
 "At the top level is a list of the operating systems installed on the guest.  "
 "(For the vast majority of guests, only a single OS is installed.)  The data "
@@ -22714,12 +23787,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:242
+#: ../inspector/virt-inspector.pl:268
 msgid "The diagram above shows what we return for each OS."
 msgstr ""
 
 # type: textblock
 msgid "The diagram above shows what we return for each OS."
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:244
+#: ../inspector/virt-inspector.pl:270
 msgid ""
 "With the I<--xml> option the output is mapped into an XML document.  There "
 "is a RELAX-NG schema for this XML in the file I<virt-inspector.rng> which "
 msgid ""
 "With the I<--xml> option the output is mapped into an XML document.  There "
 "is a RELAX-NG schema for this XML in the file I<virt-inspector.rng> which "
@@ -22727,7 +23800,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:249
+#: ../inspector/virt-inspector.pl:275
 msgid ""
 "With the I<--fish> or I<--ro-fish> option the mount points are mapped to "
 "L<guestfish(1)> command line parameters, so that you can go in afterwards "
 msgid ""
 "With the I<--fish> or I<--ro-fish> option the mount points are mapped to "
 "L<guestfish(1)> command line parameters, so that you can go in afterwards "
@@ -22736,7 +23809,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../inspector/virt-inspector.pl:254
+#: ../inspector/virt-inspector.pl:280
 #, no-wrap
 msgid ""
 " guestfish $(virt-inspector --ro-fish guest.img)\n"
 #, no-wrap
 msgid ""
 " guestfish $(virt-inspector --ro-fish guest.img)\n"
@@ -22745,19 +23818,19 @@ msgid ""
 msgstr ""
 
 # type: =head1
 msgstr ""
 
 # type: =head1
-#: ../inspector/virt-inspector.pl:589
+#: ../inspector/virt-inspector.pl:620
 msgid "QUERY MODE"
 msgstr ""
 
 # type: textblock
 msgid "QUERY MODE"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:591
+#: ../inspector/virt-inspector.pl:622
 msgid ""
 "When you use C<virt-inspector --query>, the output is a series of lines of "
 "the form:"
 msgstr ""
 
 # type: verbatim
 msgid ""
 "When you use C<virt-inspector --query>, the output is a series of lines of "
 "the form:"
 msgstr ""
 
 # type: verbatim
-#: ../inspector/virt-inspector.pl:594
+#: ../inspector/virt-inspector.pl:625
 #, no-wrap
 msgid ""
 " windows=no\n"
 #, no-wrap
 msgid ""
 " windows=no\n"
@@ -22768,14 +23841,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:599
+#: ../inspector/virt-inspector.pl:630
 msgid ""
 "(each answer is usually C<yes> or C<no>, or the line is completely missing "
 "if we could not determine the answer at all)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "(each answer is usually C<yes> or C<no>, or the line is completely missing "
 "if we could not determine the answer at all)."
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:602
+#: ../inspector/virt-inspector.pl:633
 msgid ""
 "If the guest is multiboot, you can get apparently conflicting answers "
 "(eg. C<windows=yes> and C<linux=yes>, or a guest which is both fullvirt and "
 msgid ""
 "If the guest is multiboot, you can get apparently conflicting answers "
 "(eg. C<windows=yes> and C<linux=yes>, or a guest which is both fullvirt and "
@@ -22785,67 +23858,67 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:609
+#: ../inspector/virt-inspector.pl:640
 msgid "This section describes the full range of answers possible."
 msgstr ""
 
 # type: =item
 msgid "This section describes the full range of answers possible."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:630
+#: ../inspector/virt-inspector.pl:661
 msgid "windows=(yes|no)"
 msgstr ""
 
 # type: textblock
 msgid "windows=(yes|no)"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:632
+#: ../inspector/virt-inspector.pl:663
 msgid "Answer C<yes> if Microsoft Windows is installed in the guest."
 msgstr ""
 
 # type: =item
 msgid "Answer C<yes> if Microsoft Windows is installed in the guest."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:645
+#: ../inspector/virt-inspector.pl:676
 msgid "linux=(yes|no)"
 msgstr ""
 
 # type: textblock
 msgid "linux=(yes|no)"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:647
+#: ../inspector/virt-inspector.pl:678
 msgid "Answer C<yes> if a Linux kernel is installed in the guest."
 msgstr ""
 
 # type: =item
 msgid "Answer C<yes> if a Linux kernel is installed in the guest."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:660
+#: ../inspector/virt-inspector.pl:691
 msgid "rhel=(yes|no)"
 msgstr ""
 
 # type: textblock
 msgid "rhel=(yes|no)"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:662
+#: ../inspector/virt-inspector.pl:693
 msgid "Answer C<yes> if the guest contains Red Hat Enterprise Linux."
 msgstr ""
 
 # type: =item
 msgid "Answer C<yes> if the guest contains Red Hat Enterprise Linux."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:676
+#: ../inspector/virt-inspector.pl:707
 msgid "fedora=(yes|no)"
 msgstr ""
 
 # type: textblock
 msgid "fedora=(yes|no)"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:678
+#: ../inspector/virt-inspector.pl:709
 msgid "Answer C<yes> if the guest contains the Fedora Linux distribution."
 msgstr ""
 
 # type: =item
 msgid "Answer C<yes> if the guest contains the Fedora Linux distribution."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:691
+#: ../inspector/virt-inspector.pl:722
 msgid "debian=(yes|no)"
 msgstr ""
 
 # type: textblock
 msgid "debian=(yes|no)"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:693
+#: ../inspector/virt-inspector.pl:724
 msgid "Answer C<yes> if the guest contains the Debian Linux distribution."
 msgstr ""
 
 # type: =item
 msgid "Answer C<yes> if the guest contains the Debian Linux distribution."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:706
+#: ../inspector/virt-inspector.pl:737
 msgid "fullvirt=(yes|no)"
 msgstr ""
 
 # type: textblock
 msgid "fullvirt=(yes|no)"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:708
+#: ../inspector/virt-inspector.pl:739
 msgid ""
 "Answer C<yes> if there is at least one operating system kernel installed in "
 "the guest which runs fully virtualized.  Such a guest would require a "
 msgid ""
 "Answer C<yes> if there is at least one operating system kernel installed in "
 "the guest which runs fully virtualized.  Such a guest would require a "
@@ -22853,24 +23926,24 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:731
+#: ../inspector/virt-inspector.pl:762
 msgid "xen_domU_kernel=(yes|no)"
 msgstr ""
 
 # type: textblock
 msgid "xen_domU_kernel=(yes|no)"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:733
+#: ../inspector/virt-inspector.pl:764
 msgid ""
 "Answer C<yes> if there is at least one Linux kernel installed in the guest "
 "which is compiled as a Xen DomU (a Xen paravirtualized guest)."
 msgstr ""
 
 # type: =item
 msgid ""
 "Answer C<yes> if there is at least one Linux kernel installed in the guest "
 "which is compiled as a Xen DomU (a Xen paravirtualized guest)."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:753
+#: ../inspector/virt-inspector.pl:784
 msgid "xen_pv_drivers=(yes|no)"
 msgstr ""
 
 # type: textblock
 msgid "xen_pv_drivers=(yes|no)"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:755
+#: ../inspector/virt-inspector.pl:786
 msgid ""
 "Answer C<yes> if the guest has Xen paravirtualized drivers installed "
 "(usually the kernel itself will be fully virtualized, but the PV drivers "
 msgid ""
 "Answer C<yes> if the guest has Xen paravirtualized drivers installed "
 "(usually the kernel itself will be fully virtualized, but the PV drivers "
@@ -22878,817 +23951,992 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:777
+#: ../inspector/virt-inspector.pl:808
 msgid "virtio_drivers=(yes|no)"
 msgstr ""
 
 # type: textblock
 msgid "virtio_drivers=(yes|no)"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:779
+#: ../inspector/virt-inspector.pl:810
 msgid ""
 "Answer C<yes> if the guest has virtio paravirtualized drivers installed.  "
 "Virtio drivers are commonly used to improve the performance of KVM."
 msgstr ""
 
 # type: =item
 msgid ""
 "Answer C<yes> if the guest has virtio paravirtualized drivers installed.  "
 "Virtio drivers are commonly used to improve the performance of KVM."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:800
+#: ../inspector/virt-inspector.pl:831
 msgid "userspace_arch=(x86_64|...)"
 msgstr ""
 
 # type: textblock
 msgid "userspace_arch=(x86_64|...)"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:802
+#: ../inspector/virt-inspector.pl:833
 msgid "Print the architecture of userspace."
 msgstr ""
 
 # type: textblock
 msgid "Print the architecture of userspace."
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:804 ../inspector/virt-inspector.pl:825
+#: ../inspector/virt-inspector.pl:835 ../inspector/virt-inspector.pl:856
 msgid "NB. For multi-boot VMs this can print several lines."
 msgstr ""
 
 # type: =item
 msgid "NB. For multi-boot VMs this can print several lines."
 msgstr ""
 
 # type: =item
-#: ../inspector/virt-inspector.pl:821
+#: ../inspector/virt-inspector.pl:852
 msgid "kernel_arch=(x86_64|...)"
 msgstr ""
 
 # type: textblock
 msgid "kernel_arch=(x86_64|...)"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:823
+#: ../inspector/virt-inspector.pl:854
 msgid "Print the architecture of the kernel."
 msgstr ""
 
 msgid "Print the architecture of the kernel."
 msgstr ""
 
+# type: =head1
+#: ../inspector/virt-inspector.pl:877 ../tools/virt-edit.pl:343 ../tools/virt-win-reg.pl:142 ../tools/virt-win-reg.pl:480 ../tools/virt-df.pl:607 ../tools/virt-ls.pl:228 ../tools/virt-resize.pl:1479 ../tools/virt-list-filesystems.pl:209 ../tools/virt-cat.pl:181 ../tools/virt-tar.pl:276 ../tools/virt-rescue.pl:250 ../tools/virt-make-fs.pl:527 ../tools/virt-list-partitions.pl:247
+msgid "SHELL QUOTING"
+msgstr ""
+
+# type: textblock
+#: ../inspector/virt-inspector.pl:879 ../tools/virt-edit.pl:345 ../tools/virt-win-reg.pl:482 ../tools/virt-df.pl:609 ../tools/virt-ls.pl:230 ../tools/virt-resize.pl:1481 ../tools/virt-list-filesystems.pl:211 ../tools/virt-cat.pl:183 ../tools/virt-tar.pl:278 ../tools/virt-rescue.pl:252 ../tools/virt-make-fs.pl:529 ../tools/virt-list-partitions.pl:249
+msgid ""
+"Libvirt guest names can contain arbitrary characters, some of which have "
+"meaning to the shell such as C<#> and space.  You may need to quote or "
+"escape these characters on the command line.  See the shell manual page "
+"L<sh(1)> for details."
+msgstr ""
+
 # type: textblock
 # type: textblock
-#: ../inspector/virt-inspector.pl:848 ../tools/virt-df.pl:484
+#: ../inspector/virt-inspector.pl:886 ../tools/virt-df.pl:616
 msgid ""
 "L<guestfs(3)>, L<guestfish(1)>, L<Sys::Guestfs(3)>, L<Sys::Guestfs::Lib(3)>, "
 "L<Sys::Virt(3)>, L<http://libguestfs.org/>."
 msgstr ""
 
 # type: textblock
 msgid ""
 "L<guestfs(3)>, L<guestfish(1)>, L<Sys::Guestfs(3)>, L<Sys::Guestfs::Lib(3)>, "
 "L<Sys::Virt(3)>, L<http://libguestfs.org/>."
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:857 ../tools/virt-cat.pl:175 ../tools/virt-df.pl:493 ../tools/virt-edit.pl:339 ../tools/virt-list-filesystems.pl:205 ../tools/virt-list-partitions.pl:242 ../tools/virt-ls.pl:223 ../tools/virt-make-fs.pl:554 ../tools/virt-rescue.pl:243 ../tools/virt-resize.pl:1409 ../tools/virt-tar.pl:270 ../tools/virt-win-reg.pl:489
+#: ../inspector/virt-inspector.pl:895 ../tools/virt-edit.pl:364 ../tools/virt-win-reg.pl:515 ../tools/virt-df.pl:625 ../tools/virt-ls.pl:248 ../tools/virt-resize.pl:1510 ../tools/virt-list-filesystems.pl:230 ../tools/virt-cat.pl:200 ../tools/virt-tar.pl:296 ../tools/virt-rescue.pl:269 ../tools/virt-make-fs.pl:561 ../tools/virt-list-partitions.pl:267
 msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
 msgstr ""
 
 # type: textblock
 msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:859
+#: ../inspector/virt-inspector.pl:897
 msgid "Matthew Booth L<mbooth@redhat.com>"
 msgstr ""
 
 # type: textblock
 msgid "Matthew Booth L<mbooth@redhat.com>"
 msgstr ""
 
 # type: textblock
-#: ../inspector/virt-inspector.pl:863 ../tools/virt-cat.pl:179 ../tools/virt-list-filesystems.pl:209 ../tools/virt-ls.pl:227 ../tools/virt-tar.pl:274
+#: ../inspector/virt-inspector.pl:901 ../tools/virt-ls.pl:252 ../tools/virt-list-filesystems.pl:234 ../tools/virt-cat.pl:204 ../tools/virt-tar.pl:300
 msgid "Copyright (C) 2009 Red Hat Inc."
 msgstr ""
 
 # type: textblock
 msgid "Copyright (C) 2009 Red Hat Inc."
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-cat.pl:34
-msgid "virt-cat - Display a file in a virtual machine"
+#: ../tools/virt-edit.pl:35
+msgid "virt-edit - Edit a file in a virtual machine"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-cat.pl:38
+#: ../tools/virt-edit.pl:39
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-cat [--options] domname file\n"
+" virt-edit [--options] domname file\n"
 "\n"
 msgstr ""
 
 # type: verbatim
 "\n"
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-cat.pl:40
+#: ../tools/virt-edit.pl:41
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-cat [--options] disk.img [disk.img ...] file\n"
+" virt-edit [--options] disk.img [disk.img ...] file\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-cat.pl:44
+# type: verbatim
+#: ../tools/virt-edit.pl:43
+#, no-wrap
 msgid ""
 msgid ""
-"C<virt-cat> is a command line tool to display the contents of C<file> where "
-"C<file> exists in the named virtual machine (or disk image)."
+" virt-edit [domname|disk.img] file -e 'expr'\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-cat.pl:47
+#: ../tools/virt-edit.pl:47
 msgid ""
 msgid ""
-"C<virt-cat> can be used to quickly view a single file.  To edit a file, use "
-"C<virt-edit>.  For more complex cases you should look at the L<guestfish(1)> "
-"tool."
+"You must I<not> use C<virt-edit> on live virtual machines.  If you do this, "
+"you risk disk corruption in the VM.  C<virt-edit> tries to stop you from "
+"doing this, but doesn't catch all cases."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-cat.pl:53
-msgid "Display C</etc/fstab> file from inside the libvirt VM called C<mydomain>:"
-msgstr ""
-
-# type: verbatim
-#: ../tools/virt-cat.pl:56
-#, no-wrap
+#: ../tools/virt-edit.pl:53
 msgid ""
 msgid ""
-" virt-cat mydomain /etc/fstab\n"
-"\n"
+"C<virt-edit> is a command line tool to edit C<file> where C<file> exists in "
+"the named virtual machine (or disk image)."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-cat.pl:58
-msgid "List syslog messages from a VM:"
-msgstr ""
-
-# type: verbatim
-#: ../tools/virt-cat.pl:60
-#, no-wrap
+#: ../tools/virt-edit.pl:56
 msgid ""
 msgid ""
-" virt-cat mydomain /var/log/messages | tail\n"
-"\n"
+"If you want to just view a file, use L<virt-cat(1)>.  For more complex cases "
+"you should look at the L<guestfish(1)> tool."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-cat.pl:62
-msgid "Find out what DHCP IP address a VM acquired:"
+#: ../tools/virt-edit.pl:61
+msgid "Edit the named files interactively:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-cat.pl:64
+#: ../tools/virt-edit.pl:63
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-cat mydomain /var/log/messages | grep 'dhclient: bound to' | tail\n"
+" virt-edit mydomain /boot/grub/grub.conf\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-cat.pl:66
-msgid "Find out what packages were recently installed:"
-msgstr ""
-
 # type: verbatim
 # type: verbatim
-#: ../tools/virt-cat.pl:68
+#: ../tools/virt-edit.pl:65
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-cat mydomain /var/log/yum.log | tail\n"
+" virt-edit mydomain /etc/passwd\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-cat.pl:70
-msgid "Find out who is logged on inside a virtual machine:"
+#: ../tools/virt-edit.pl:67
+msgid ""
+"You can also edit files non-interactively (see L</NON-INTERACTIVE EDITING> "
+"below).  To change the init default level to 5:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-cat.pl:72
+#: ../tools/virt-edit.pl:71
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-cat mydomain /var/run/utmp > /tmp/utmp\n"
-" who /tmp/utmp\n"
+" virt-edit mydomain /etc/inittab -e 's/^id:.*/id:5:initdefault:/'\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: =item
+#: ../tools/virt-edit.pl:97
+msgid "B<--backup extension> | B<-b extension>"
+msgstr ""
+
 # type: textblock
 # type: textblock
-#: ../tools/virt-cat.pl:75
-msgid "or who was logged on:"
+#: ../tools/virt-edit.pl:99
+msgid ""
+"Create a backup of the original file I<in the guest disk image>.  The backup "
+"has the original filename with C<extension> added."
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-edit.pl:102
+msgid ""
+"Usually the first character of C<extension> would be a dot C<.> so you would "
+"write:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-cat.pl:77
+#: ../tools/virt-edit.pl:105
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-cat mydomain /var/log/wtmp > /tmp/wtmp\n"
-" last -f /tmp/wtmp\n"
+" virt-edit -b .orig [etc]\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-cat.pl:109 ../tools/virt-df.pl:100 ../tools/virt-edit.pl:118 ../tools/virt-list-filesystems.pl:79 ../tools/virt-list-partitions.pl:80 ../tools/virt-ls.pl:108 ../tools/virt-rescue.pl:140 ../tools/virt-tar.pl:128 ../tools/virt-win-reg.pl:209
-msgid ""
-"If you specify guest block devices directly, then libvirt is not used at "
-"all."
+#: ../tools/virt-edit.pl:107
+msgid "By default, no backup file is made."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-cat.pl:165
+#: ../tools/virt-edit.pl:118 ../tools/virt-win-reg.pl:209 ../tools/virt-df.pl:100 ../tools/virt-ls.pl:108 ../tools/virt-list-filesystems.pl:79 ../tools/virt-cat.pl:109 ../tools/virt-tar.pl:128 ../tools/virt-rescue.pl:140 ../tools/virt-list-partitions.pl:80
 msgid ""
 msgid ""
-"L<guestfs(3)>, L<guestfish(1)>, L<virt-edit(1)>, L<Sys::Guestfs(3)>, "
-"L<Sys::Guestfs::Lib(3)>, L<Sys::Virt(3)>, L<http://libguestfs.org/>."
+"If you specify guest block devices directly, then libvirt is not used at "
+"all."
 msgstr ""
 
 msgstr ""
 
-# type: =head1
-#: ../tools/virt-cat.pl:173 ../tools/virt-df.pl:491 ../tools/virt-edit.pl:337 ../tools/virt-list-filesystems.pl:203 ../tools/virt-list-partitions.pl:240 ../tools/virt-ls.pl:221 ../tools/virt-make-fs.pl:552 ../tools/virt-rescue.pl:241 ../tools/virt-resize.pl:1407 ../tools/virt-tar.pl:268 ../tools/virt-win-reg.pl:487
-msgid "AUTHOR"
+# type: =item
+#: ../tools/virt-edit.pl:142
+msgid "B<--expr EXPR> | B<-e EXPR>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-df.pl:36
-msgid "virt-df - Display free space on virtual filesystems"
-msgstr ""
-
-# type: verbatim
-#: ../tools/virt-df.pl:40
-#, no-wrap
+#: ../tools/virt-edit.pl:144
 msgid ""
 msgid ""
-" virt-df [--options]\n"
-"\n"
+"Instead of launching the external editor, non-interactively apply the Perl "
+"expression C<EXPR> to each line in the file.  See L</NON-INTERACTIVE "
+"EDITING> below."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-df.pl:42
-#, no-wrap
+# type: textblock
+#: ../tools/virt-edit.pl:148
 msgid ""
 msgid ""
-" virt-df [--options] domname\n"
-"\n"
+"Be careful to properly quote the expression to prevent it from being altered "
+"by the shell."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-df.pl:44
-#, no-wrap
-msgid ""
-" virt-df [--options] disk.img [disk.img ...]\n"
-"\n"
+# type: =head1
+#: ../tools/virt-edit.pl:268
+msgid "NON-INTERACTIVE EDITING"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-df.pl:48
+#: ../tools/virt-edit.pl:270
 msgid ""
 msgid ""
-"C<virt-df> is a command line tool to display free space on virtual machine "
-"filesystems.  Unlike other tools, it doesn't just display the amount of "
-"space allocated to a virtual machine, but can look inside the virtual "
-"machine to see how much space is really being used."
+"C<virt-edit> normally calls out to C<$EDITOR> (or vi) so the system "
+"administrator can interactively edit the file."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-df.pl:53
+#: ../tools/virt-edit.pl:273
 msgid ""
 msgid ""
-"It is like the L<df(1)> command, but for virtual machines, except that it "
-"also works for Windows virtual machines."
+"There are two ways also to use C<virt-edit> from scripts in order to make "
+"automated edits to files.  (Note that although you I<can> use C<virt-edit> "
+"like this, it's less error-prone to write scripts directly using the "
+"libguestfs API and Augeas for configuration file editing.)"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-df.pl:56
+#: ../tools/virt-edit.pl:279
 msgid ""
 msgid ""
-"If used without any arguments, C<virt-df> checks with libvirt to get a list "
-"of all active and inactive guests, and performs a C<df>-type operation on "
-"each one in turn, printing out the results."
+"The first method is to temporarily set C<$EDITOR> to any script or program "
+"you want to run.  The script is invoked as C<$EDITOR tmpfile> and it should "
+"update C<tmpfile> in place however it likes."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-df.pl:60
+#: ../tools/virt-edit.pl:283
 msgid ""
 msgid ""
-"If used with any argument(s), C<virt-df> performs a C<df>-type operation on "
-"either the single named libvirt domain, or on the disk image(s) listed on "
-"the command line (which must all belong to a single VM).  In this mode (with "
-"arguments), C<virt-df> will I<only work for a single guest>.  If you want to "
-"run on multiple guests, then you have to invoke C<virt-df> multiple times."
+"The second method is to use the C<-e> parameter of C<virt-edit> to run a "
+"short Perl snippet in the style of L<sed(1)>.  For example to replace all "
+"instances of C<foo> with C<bar> in a file:"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-df.pl:67
+# type: verbatim
+#: ../tools/virt-edit.pl:287
+#, no-wrap
 msgid ""
 msgid ""
-"Use the C<--csv> option to get a format which can be easily parsed by other "
-"programs.  Other options are mostly similar to standard C<df> options.  See "
-"below for the complete list."
-msgstr ""
-
-# type: =item
-#: ../tools/virt-df.pl:107
-msgid "B<--csv>"
+" virt-edit domname filename -e 's/foo/bar/'\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-df.pl:109
+#: ../tools/virt-edit.pl:289
 msgid ""
 msgid ""
-"Write out the results in CSV format (comma-separated values).  This format "
-"can be imported easily into databases and spreadsheets, but read L</NOTE "
-"ABOUT CSV FORMAT> below."
+"The full power of Perl regular expressions can be used (see L<perlre(1)>).  "
+"For example to delete root's password you could do:"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-df.pl:117
-msgid "B<--human-readable> | B<-h>"
+# type: verbatim
+#: ../tools/virt-edit.pl:292
+#, no-wrap
+msgid ""
+" virt-edit domname /etc/passwd -e 's/^root:.*?:/root::/'\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-df.pl:119
-msgid "Print sizes in human-readable format."
+#: ../tools/virt-edit.pl:294
+msgid ""
+"What really happens is that the snippet is evaluated as a Perl expression "
+"for each line of the file.  The line, including the final C<\\n>, is passed "
+"in C<$_> and the expression should update C<$_> or leave it unchanged."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-df.pl:121
-msgid "You are not allowed to use I<-h> and I<--csv> at the same time."
+#: ../tools/virt-edit.pl:299
+msgid ""
+"To delete a line, set C<$_> to the empty string.  For example, to delete the "
+"C<apache> user account from the password file you can do:"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-df.pl:127
-msgid "B<--inodes> | B<-i>"
+# type: verbatim
+#: ../tools/virt-edit.pl:302
+#, no-wrap
+msgid ""
+" virt-edit mydomain /etc/passwd -e '$_ = \"\" if /^apache:/'\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-df.pl:129
-msgid "Print inodes instead of blocks."
+#: ../tools/virt-edit.pl:304
+msgid ""
+"To insert a line, prepend or append it to C<$_>.  However appending lines to "
+"the end of the file is rather difficult this way since there is no concept "
+"of \"last line of the file\" - your expression just doesn't get called "
+"again.  You might want to use the first method (setting C<$EDITOR>) if you "
+"want to do this."
 msgstr ""
 
 msgstr ""
 
-# type: =head1
-#: ../tools/virt-df.pl:458
-msgid "NOTE ABOUT CSV FORMAT"
+# type: textblock
+#: ../tools/virt-edit.pl:310
+msgid ""
+"The variable C<$lineno> contains the current line number.  As is "
+"traditional, the first line in the file is number C<1>."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-df.pl:460
+#: ../tools/virt-edit.pl:313
 msgid ""
 msgid ""
-"Comma-separated values (CSV) is a deceptive format.  It I<seems> like it "
-"should be easy to parse, but it is definitely not easy to parse."
+"The return value from the expression is ignored, but the expression may call "
+"C<die> in order to abort the whole program, leaving the original file "
+"untouched."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-df.pl:463
+#: ../tools/virt-edit.pl:317
 msgid ""
 msgid ""
-"Myth: Just split fields at commas.  Reality: This does I<not> work "
-"reliably.  This example has two columns:"
+"Remember when matching the end of a line that C<$_> may contain the final "
+"C<\\n>, or (for DOS files) C<\\r\\n>, or if the file does not end with a "
+"newline then neither of these.  Thus to match or substitute some text at the "
+"end of a line, use this regular expression:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-df.pl:466
+#: ../tools/virt-edit.pl:322
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" \"foo,bar\",baz\n"
+" /some text(\\r?\\n)?$/\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-df.pl:468
+#: ../tools/virt-edit.pl:324
 msgid ""
 msgid ""
-"Myth: Read the file one line at a time.  Reality: This does I<not> work "
-"reliably.  This example has one row:"
+"Alternately, use the perl C<chomp> function, being careful not to chomp "
+"C<$_> itself (since that would remove all newlines from the file):"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-df.pl:471
+#: ../tools/virt-edit.pl:328
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" \"foo\n"
-" bar\",baz\n"
+" my $m = $_; chomp $m; $m =~ /some text$/\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: =item
+#: ../tools/virt-edit.pl:334
+msgid "C<EDITOR>"
+msgstr ""
+
 # type: textblock
 # type: textblock
-#: ../tools/virt-df.pl:474
+#: ../tools/virt-edit.pl:336
 msgid ""
 msgid ""
-"For shell scripts, use C<csvtool> (L<http://merjis.com/developers/csv> also "
-"packaged in major Linux distributions)."
+"If set, this string is used as the editor.  It may contain arguments, "
+"eg. C<\"emacs -nw\">"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-df.pl:477
-msgid ""
-"For other languages, use a CSV processing library (eg. C<Text::CSV> for Perl "
-"or Python's built-in csv library)."
+#: ../tools/virt-edit.pl:339
+msgid "If not set, C<vi> is used."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-df.pl:480
-msgid "Most spreadsheets and databases can import CSV directly."
+#: ../tools/virt-edit.pl:352
+msgid ""
+"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<Sys::Guestfs(3)>, "
+"L<Sys::Guestfs::Lib(3)>, L<Sys::Virt(3)>, L<http://libguestfs.org/>, "
+"L<perl(1)>, L<perlre(1)>."
+msgstr ""
+
+# type: =head1
+#: ../tools/virt-edit.pl:362 ../tools/virt-win-reg.pl:513 ../tools/virt-df.pl:623 ../tools/virt-ls.pl:246 ../tools/virt-resize.pl:1508 ../tools/virt-list-filesystems.pl:228 ../tools/virt-cat.pl:198 ../tools/virt-tar.pl:294 ../tools/virt-rescue.pl:267 ../tools/virt-make-fs.pl:559 ../tools/virt-list-partitions.pl:265
+msgid "AUTHOR"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-df.pl:497 ../tools/virt-edit.pl:343 ../tools/virt-list-partitions.pl:246 ../tools/virt-rescue.pl:247
+#: ../tools/virt-edit.pl:368 ../tools/virt-df.pl:629 ../tools/virt-rescue.pl:273 ../tools/virt-list-partitions.pl:271
 msgid "Copyright (C) 2009-2010 Red Hat Inc."
 msgstr ""
 
 # type: textblock
 msgid "Copyright (C) 2009-2010 Red Hat Inc."
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:35
-msgid "virt-edit - Edit a file in a virtual machine"
+#: ../tools/virt-win-reg.pl:38
+msgid ""
+"virt-win-reg - Export and merge Windows Registry entries from a Windows "
+"guest"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-edit.pl:39
+#: ../tools/virt-win-reg.pl:42
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-edit [--options] domname file\n"
+" virt-win-reg domname 'HKLM\\Path\\To\\Subkey'\n"
 "\n"
 msgstr ""
 
 # type: verbatim
 "\n"
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-edit.pl:41
+#: ../tools/virt-win-reg.pl:44
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-edit [--options] disk.img [disk.img ...] file\n"
+" virt-win-reg domname 'HKLM\\Path\\To\\Subkey' name\n"
 "\n"
 msgstr ""
 
 # type: verbatim
 "\n"
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-edit.pl:43
+#: ../tools/virt-win-reg.pl:46
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-edit [domname|disk.img] file -e 'expr'\n"
+" virt-win-reg domname 'HKLM\\Path\\To\\Subkey' @\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-edit.pl:47
-msgid ""
-"You must I<not> use C<virt-edit> on live virtual machines.  If you do this, "
-"you risk disk corruption in the VM.  C<virt-edit> tries to stop you from "
-"doing this, but doesn't catch all cases."
-msgstr ""
-
-# type: textblock
-#: ../tools/virt-edit.pl:53
-msgid ""
-"C<virt-edit> is a command line tool to edit C<file> where C<file> exists in "
-"the named virtual machine (or disk image)."
-msgstr ""
-
-# type: textblock
-#: ../tools/virt-edit.pl:56
-msgid ""
-"If you want to just view a file, use L<virt-cat(1)>.  For more complex cases "
-"you should look at the L<guestfish(1)> tool."
-msgstr ""
-
-# type: textblock
-#: ../tools/virt-edit.pl:61
-msgid "Edit the named files interactively:"
-msgstr ""
-
 # type: verbatim
 # type: verbatim
-#: ../tools/virt-edit.pl:63
+#: ../tools/virt-win-reg.pl:48
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-edit mydomain /boot/grub/grub.conf\n"
+" virt-win-reg --merge domname [input.reg ...]\n"
 "\n"
 msgstr ""
 
 # type: verbatim
 "\n"
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-edit.pl:65
+#: ../tools/virt-win-reg.pl:50
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-edit mydomain /etc/passwd\n"
+" virt-win-reg [--options] disk.img ... # instead of domname\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:67
+#: ../tools/virt-win-reg.pl:54
 msgid ""
 msgid ""
-"You can also edit files non-interactively (see L</NON-INTERACTIVE EDITING> "
-"below).  To change the init default level to 5:"
+"You must I<not> use C<virt-win-reg> with the C<--merge> option on live "
+"virtual machines.  If you do this, you I<will> get irreversible disk "
+"corruption in the VM.  C<virt-win-reg> tries to stop you from doing this, "
+"but doesn't catch all cases."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-edit.pl:71
-#, no-wrap
+# type: textblock
+#: ../tools/virt-win-reg.pl:59
 msgid ""
 msgid ""
-" virt-edit mydomain /etc/inittab -e 's/^id:.*/id:5:initdefault:/'\n"
-"\n"
+"Modifying the Windows Registry is an inherently risky operation.  The format "
+"is deliberately obscure and undocumented, and Registry changes can leave the "
+"system unbootable.  Therefore when using the C<--merge> option, make sure "
+"you have a reliable backup first."
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-edit.pl:97
-msgid "B<--backup extension> | B<-b extension>"
+# type: textblock
+#: ../tools/virt-win-reg.pl:66
+msgid ""
+"This program can export and merge Windows Registry entries from a Windows "
+"guest."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:99
+#: ../tools/virt-win-reg.pl:69
 msgid ""
 msgid ""
-"Create a backup of the original file I<in the guest disk image>.  The backup "
-"has the original filename with C<extension> added."
+"The first parameter is the libvirt guest name or the raw disk image of a "
+"Windows guest."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:102
+#: ../tools/virt-win-reg.pl:72
 msgid ""
 msgid ""
-"Usually the first character of C<extension> would be a dot C<.> so you would "
-"write:"
+"If C<--merge> is I<not> specified, then the chosen registry key is "
+"displayed/exported (recursively).  For example:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-edit.pl:105
+#: ../tools/virt-win-reg.pl:75
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-edit -b .orig [etc]\n"
+" $ virt-win-reg Windows7 'HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft'\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:107
-msgid "By default, no backup file is made."
+#: ../tools/virt-win-reg.pl:77
+msgid "You can also display single values from within registry keys, for example:"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-edit.pl:125
-msgid "B<--expr EXPR> | B<-e EXPR>"
+# type: verbatim
+#: ../tools/virt-win-reg.pl:80
+#, no-wrap
+msgid ""
+" $ cvkey='HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion'\n"
+" $ virt-win-reg Windows7 $cvkey ProductName\n"
+" Windows 7 Enterprise\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:127
+#: ../tools/virt-win-reg.pl:84
 msgid ""
 msgid ""
-"Instead of launching the external editor, non-interactively apply the Perl "
-"expression C<EXPR> to each line in the file.  See L</NON-INTERACTIVE "
-"EDITING> below."
+"With C<--merge>, you can merge a textual regedit file into the Windows "
+"Registry:"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-edit.pl:131
+# type: verbatim
+#: ../tools/virt-win-reg.pl:87
+#, no-wrap
 msgid ""
 msgid ""
-"Be careful to properly quote the expression to prevent it from being altered "
-"by the shell."
+" $ virt-win-reg --merge Windows7 changes.reg\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: =head1
-#: ../tools/virt-edit.pl:250
-msgid "NON-INTERACTIVE EDITING"
+# type: =head2
+#: ../tools/virt-win-reg.pl:89
+msgid "SUPPORTED SYSTEMS"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:252
+#: ../tools/virt-win-reg.pl:91
 msgid ""
 msgid ""
-"C<virt-edit> normally calls out to C<$EDITOR> (or vi) so the system "
-"administrator can interactively edit the file."
+"The program currently supports Windows NT-derived guests starting with "
+"Windows XP through to at least Windows 7."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:255
+#: ../tools/virt-win-reg.pl:94
 msgid ""
 msgid ""
-"There are two ways also to use C<virt-edit> from scripts in order to make "
-"automated edits to files.  (Note that although you I<can> use C<virt-edit> "
-"like this, it's less error-prone to write scripts directly using the "
-"libguestfs API and Augeas for configuration file editing.)"
+"Registry support is done for C<HKEY_LOCAL_MACHINE\\SAM>, "
+"C<HKEY_LOCAL_MACHINE\\SECURITY>, C<HKEY_LOCAL_MACHINE\\SOFTWARE>, "
+"C<HKEY_LOCAL_MACHINE\\SYSTEM> and C<HKEY_USERS\\.DEFAULT>."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:261
+#: ../tools/virt-win-reg.pl:98
 msgid ""
 msgid ""
-"The first method is to temporarily set C<$EDITOR> to any script or program "
-"you want to run.  The script is invoked as C<$EDITOR tmpfile> and it should "
-"update C<tmpfile> in place however it likes."
+"You can use C<HKLM> as a shorthand for C<HKEY_LOCAL_MACHINE>, and C<HKU> for "
+"C<HKEY_USERS>."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:265
+#: ../tools/virt-win-reg.pl:101
 msgid ""
 msgid ""
-"The second method is to use the C<-e> parameter of C<virt-edit> to run a "
-"short Perl snippet in the style of L<sed(1)>.  For example to replace all "
-"instances of C<foo> with C<bar> in a file:"
+"C<HKEY_USERS\\$SID> and C<HKEY_CURRENT_USER> are B<not> supported at this "
+"time."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-edit.pl:269
-#, no-wrap
-msgid ""
-" virt-edit domname filename -e 's/foo/bar/'\n"
-"\n"
+# type: =head2
+#: ../tools/virt-win-reg.pl:104
+msgid "NOTE"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:271
+#: ../tools/virt-win-reg.pl:106
 msgid ""
 msgid ""
-"The full power of Perl regular expressions can be used (see L<perlre(1)>).  "
-"For example to delete root's password you could do:"
+"This program is only meant for simple access to the registry.  If you want "
+"to do complicated things with the registry, we suggest you download the "
+"Registry hive files from the guest using L<libguestfs(3)> or L<guestfish(1)> "
+"and access them locally, eg. using L<hivex(3)>, L<hivexsh(1)> or "
+"L<hivexregedit(1)>."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-edit.pl:274
-#, no-wrap
-msgid ""
-" virt-edit domname /etc/passwd -e 's/^root:.*?:/root::/'\n"
-"\n"
+# type: =head2
+#: ../tools/virt-win-reg.pl:112
+msgid "ENCODING"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:276
+#: ../tools/virt-win-reg.pl:114
 msgid ""
 msgid ""
-"What really happens is that the snippet is evaluated as a Perl expression "
-"for each line of the file.  The line, including the final C<\\n>, is passed "
-"in C<$_> and the expression should update C<$_> or leave it unchanged."
+"C<virt-win-reg> expects that regedit files have already been reencoded in "
+"the local encoding.  Usually on Linux hosts, this means UTF-8 with "
+"Unix-style line endings.  Since Windows regedit files are often in UTF-16LE "
+"with Windows-style line endings, you may need to reencode the whole file "
+"before or after processing."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:281
+#: ../tools/virt-win-reg.pl:120
 msgid ""
 msgid ""
-"To delete a line, set C<$_> to the empty string.  For example, to delete the "
-"C<apache> user account from the password file you can do:"
+"To reencode a file from Windows format to Linux (before processing it with "
+"the C<--merge> option), you would do something like this:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-edit.pl:284
+#: ../tools/virt-win-reg.pl:123
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-edit mydomain /etc/passwd -e '$_ = \"\" if /^apache:/'\n"
+" iconv -f utf-16le -t utf-8 < win.reg | dos2unix > linux.reg\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:286
+#: ../tools/virt-win-reg.pl:125
 msgid ""
 msgid ""
-"To insert a line, prepend or append it to C<$_>.  However appending lines to "
-"the end of the file is rather difficult this way since there is no concept "
-"of \"last line of the file\" - your expression just doesn't get called "
-"again.  You might want to use the first method (setting C<$EDITOR>) if you "
-"want to do this."
+"To go in the opposite direction, after exporting and before sending the file "
+"to a Windows user, do something like this:"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-edit.pl:292
+# type: verbatim
+#: ../tools/virt-win-reg.pl:128
+#, no-wrap
 msgid ""
 msgid ""
-"The variable C<$lineno> contains the current line number.  As is "
-"traditional, the first line in the file is number C<1>."
+" unix2dos linux.reg | iconv -f utf-8 -t utf-16le > win.reg\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:295
-msgid ""
-"The return value from the expression is ignored, but the expression may call "
-"C<die> in order to abort the whole program, leaving the original file "
-"untouched."
+#: ../tools/virt-win-reg.pl:130
+msgid "For more information about encoding, see L<Win::Hivex::Regedit(3)>."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:299
+#: ../tools/virt-win-reg.pl:132
 msgid ""
 msgid ""
-"Remember when matching the end of a line that C<$_> may contain the final "
-"C<\\n>, or (for DOS files) C<\\r\\n>, or if the file does not end with a "
-"newline then neither of these.  Thus to match or substitute some text at the "
-"end of a line, use this regular expression:"
+"If you are unsure about the current encoding, use the L<file(1)> command.  "
+"Recent versions of Windows regedit.exe produce a UTF-16LE file with "
+"Windows-style (CRLF) line endings, like this:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-edit.pl:304
+#: ../tools/virt-win-reg.pl:136
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" /some text(\\r?\\n)?$/\n"
+" $ file software.reg\n"
+" software.reg: Little-endian UTF-16 Unicode text, with very long lines,\n"
+" with CRLF line terminators\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:306
-msgid ""
-"Alternately, use the perl C<chomp> function, being careful not to chomp "
-"C<$_> itself (since that would remove all newlines from the file):"
+#: ../tools/virt-win-reg.pl:140
+msgid "This file would need conversion before you could C<--merge> it."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-edit.pl:310
-#, no-wrap
+# type: textblock
+#: ../tools/virt-win-reg.pl:144
 msgid ""
 msgid ""
-" my $m = $_; chomp $m; $m =~ /some text$/\n"
-"\n"
-msgstr ""
-
-# type: =item
-#: ../tools/virt-edit.pl:316
-msgid "C<EDITOR>"
+"Be careful when passing parameters containing C<\\> (backslash) in the "
+"shell.  Usually you will have to use 'single quotes' or double backslashes "
+"(but not both) to protect them from the shell."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:318
-msgid ""
-"If set, this string is used as the editor.  It may contain arguments, "
-"eg. C<\"emacs -nw\">"
+#: ../tools/virt-win-reg.pl:148
+msgid "Paths and value names are case-insensitive."
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-edit.pl:321
-msgid "If not set, C<vi> is used."
+# type: =head2
+#: ../tools/virt-win-reg.pl:150
+msgid "CurrentControlSet etc."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-edit.pl:327
+#: ../tools/virt-win-reg.pl:152
 msgid ""
 msgid ""
-"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<Sys::Guestfs(3)>, "
-"L<Sys::Guestfs::Lib(3)>, L<Sys::Virt(3)>, L<http://libguestfs.org/>, "
-"L<perl(1)>, L<perlre(1)>."
+"Registry keys like C<CurrentControlSet> don't really exist in the Windows "
+"Registry at the level of the hive file, and therefore you cannot modify "
+"these."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-list-filesystems.pl:32
-msgid "virt-list-filesystems - List filesystems in a virtual machine or disk image"
-msgstr ""
-
-# type: verbatim
-#: ../tools/virt-list-filesystems.pl:36
-#, no-wrap
+#: ../tools/virt-win-reg.pl:156
 msgid ""
 msgid ""
-" virt-list-filesystems [--options] domname\n"
-"\n"
+"C<CurrentControlSet> is usually an alias for C<ControlSet001>.  In some "
+"circumstances it might refer to another control set.  The way to find out is "
+"to look at the C<HKLM\\SYSTEM\\Select> key:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-list-filesystems.pl:38
+#: ../tools/virt-win-reg.pl:160
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-list-filesystems [--options] disk.img [disk.img ...]\n"
+" # virt-win-reg WindowsGuest 'HKLM\\SYSTEM\\Select'\n"
+" [HKEY_LOCAL_MACHINE\\SYSTEM\\Select]\n"
+" \"Current\"=dword:00000001\n"
+" \"Default\"=dword:00000001\n"
+" \"Failed\"=dword:00000000\n"
+" \"LastKnownGood\"=dword:00000002\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-list-filesystems.pl:42
-msgid ""
-"C<virt-list-filesystems> is a command line tool to list the filesystems that "
-"are contained in a virtual machine or disk image."
+#: ../tools/virt-win-reg.pl:167
+msgid "\"Default\" is the one which Windows will choose when it boots."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-list-filesystems.pl:46
-msgid ""
-"C<virt-list-filesystems> is just a simple wrapper around L<libguestfs(3)> "
-"functionality.  For more complex cases you should look at the "
-"L<guestfish(1)> tool."
+#: ../tools/virt-win-reg.pl:169
+msgid "Similarly, other C<Current...> keys in the path may need to be replaced."
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-list-filesystems.pl:86 ../tools/virt-list-partitions.pl:95 ../tools/virt-ls.pl:115
-msgid "B<-l> | B<--long>"
+#: ../tools/virt-win-reg.pl:196 ../tools/virt-make-fs.pl:177
+msgid "B<--debug>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-list-filesystems.pl:88
-msgid ""
-"With this option, C<virt-list-filesystems> displays the type of each "
-"filesystem too (where \"type\" means C<ext3>, C<xfs> etc.)"
+#: ../tools/virt-win-reg.pl:198 ../tools/virt-resize.pl:501
+msgid "Enable debugging messages."
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-list-filesystems.pl:95
-msgid "B<-a> | B<--all>"
+#: ../tools/virt-win-reg.pl:233
+msgid "B<--merge>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-list-filesystems.pl:97
+#: ../tools/virt-win-reg.pl:235
 msgid ""
 msgid ""
-"Normally we only show mountable filesystems.  If this option is given then "
-"swap devices are shown too."
+"In merge mode, this merges a textual regedit file into the Windows Registry "
+"of the virtual machine.  If this flag is I<not> given then virt-win-reg "
+"displays or exports Registry entries instead."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-list-filesystems.pl:193
+#: ../tools/virt-win-reg.pl:239
 msgid ""
 msgid ""
-"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-tar(1)>, "
-"L<virt-list-partitions(1)>, L<Sys::Guestfs(3)>, L<Sys::Guestfs::Lib(3)>, "
-"L<Sys::Virt(3)>, L<http://libguestfs.org/>."
-msgstr ""
-
+"Note that C<--merge> is I<unsafe> to use on live virtual machines, and will "
+"result in disk corruption.  However exporting (without this flag)  is always "
+"safe."
+msgstr ""
+
+# type: =item
+#: ../tools/virt-win-reg.pl:247
+msgid "B<--encoding> UTF-16LE|ASCII"
+msgstr ""
+
 # type: textblock
 # type: textblock
-#: ../tools/virt-list-partitions.pl:32
-msgid "virt-list-partitions - List partitions in a virtual machine or disk image"
+#: ../tools/virt-win-reg.pl:249
+msgid ""
+"When merging (only), you may need to specify the encoding for strings to be "
+"used in the hive file.  This is explained in detail in "
+"L<Win::Hivex::Regedit(3)/ENCODING STRINGS>."
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-win-reg.pl:253
+msgid ""
+"The default is to use UTF-16LE, which should work with recent versions of "
+"Windows."
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-win-reg.pl:489
+msgid ""
+"L<hivex(3)>, L<hivexsh(1)>, L<hivexregedit(1)>, L<guestfs(3)>, "
+"L<guestfish(1)>, L<virt-cat(1)>, L<Sys::Guestfs(3)>, "
+"L<Sys::Guestfs::Lib(3)>, L<Win::Hivex(3)>, L<Win::Hivex::Regedit(3)>, "
+"L<Sys::Virt(3)>, L<http://libguestfs.org/>."
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-win-reg.pl:504 ../tools/virt-make-fs.pl:550
+msgid ""
+"When reporting bugs, please enable debugging and capture the I<complete> "
+"output:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-list-partitions.pl:36
+#: ../tools/virt-win-reg.pl:507
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-list-partitions [--options] domname\n"
+" export LIBGUESTFS_DEBUG=1\n"
+" virt-win-reg --debug [... rest ...] > /tmp/virt-win-reg.log 2>&1\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../tools/virt-win-reg.pl:510
+msgid ""
+"Attach /tmp/virt-win-reg.log to a new bug report at "
+"L<https://bugzilla.redhat.com/>"
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-win-reg.pl:519 ../tools/virt-resize.pl:1514 ../tools/virt-make-fs.pl:565
+msgid "Copyright (C) 2010 Red Hat Inc."
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-df.pl:36
+msgid "virt-df - Display free space on virtual filesystems"
+msgstr ""
+
 # type: verbatim
 # type: verbatim
-#: ../tools/virt-list-partitions.pl:38
+#: ../tools/virt-df.pl:40
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-list-partitions [--options] disk.img [disk.img ...]\n"
+" virt-df [--options]\n"
+"\n"
+msgstr ""
+
+# type: verbatim
+#: ../tools/virt-df.pl:42
+#, no-wrap
+msgid ""
+" virt-df [--options] domname\n"
+"\n"
+msgstr ""
+
+# type: verbatim
+#: ../tools/virt-df.pl:44
+#, no-wrap
+msgid ""
+" virt-df [--options] disk.img [disk.img ...]\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-list-partitions.pl:42
+#: ../tools/virt-df.pl:48
 msgid ""
 msgid ""
-"C<virt-list-partitions> is a command line tool to list the partitions that "
-"are contained in a virtual machine or disk image.  It is mainly useful as a "
-"first step to using L<virt-resize(1)>."
+"C<virt-df> is a command line tool to display free space on virtual machine "
+"filesystems.  Unlike other tools, it doesn't just display the amount of "
+"space allocated to a virtual machine, but can look inside the virtual "
+"machine to see how much space is really being used."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-list-partitions.pl:47
+#: ../tools/virt-df.pl:53
 msgid ""
 msgid ""
-"C<virt-list-partitions> is just a simple wrapper around L<libguestfs(3)> "
-"functionality.  For more complex cases you should look at the "
-"L<guestfish(1)> tool."
+"It is like the L<df(1)> command, but for virtual machines, except that it "
+"also works for Windows virtual machines."
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-list-partitions.pl:87
-msgid "B<-h> | B<--human-readable>"
+# type: textblock
+#: ../tools/virt-df.pl:56
+msgid ""
+"If used without any arguments, C<virt-df> checks with libvirt to get a list "
+"of all active and inactive guests, and performs a C<df>-type operation on "
+"each one in turn, printing out the results."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-list-partitions.pl:89
-msgid "Show sizes in human-readable form (eg. \"1G\")."
+#: ../tools/virt-df.pl:60
+msgid ""
+"If used with any argument(s), C<virt-df> performs a C<df>-type operation on "
+"either the single named libvirt domain, or on the disk image(s) listed on "
+"the command line (which must all belong to a single VM).  In this mode (with "
+"arguments), C<virt-df> will I<only work for a single guest>.  If you want to "
+"run on multiple guests, then you have to invoke C<virt-df> multiple times."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-list-partitions.pl:97
+#: ../tools/virt-df.pl:67
 msgid ""
 msgid ""
-"With this option, C<virt-list-partitions> displays the type and size of each "
-"partition too (where \"type\" means C<ext3>, C<pv> etc.)"
+"Use the C<--csv> option to get a format which can be easily parsed by other "
+"programs.  Other options are mostly similar to standard C<df> options.  See "
+"below for the complete list."
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-list-partitions.pl:104
-msgid "B<-t> | B<--total>"
+#: ../tools/virt-df.pl:107
+msgid "B<--csv>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-list-partitions.pl:106
-msgid "Display the total size of each block device (as a separate row or rows)."
+#: ../tools/virt-df.pl:109
+msgid ""
+"Write out the results in CSV format (comma-separated values).  This format "
+"can be imported easily into databases and spreadsheets, but read L</NOTE "
+"ABOUT CSV FORMAT> below."
+msgstr ""
+
+# type: =item
+#: ../tools/virt-df.pl:134
+msgid "B<--human-readable> | B<-h>"
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-df.pl:136
+msgid "Print sizes in human-readable format."
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-df.pl:138
+msgid "You are not allowed to use I<-h> and I<--csv> at the same time."
+msgstr ""
+
+# type: =item
+#: ../tools/virt-df.pl:144
+msgid "B<--inodes> | B<-i>"
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-df.pl:146
+msgid "Print inodes instead of blocks."
+msgstr ""
+
+# type: =item
+#: ../tools/virt-df.pl:152
+msgid "B<--one-per-guest>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-list-partitions.pl:231
+#: ../tools/virt-df.pl:154
 msgid ""
 msgid ""
-"L<guestfs(3)>, L<guestfish(1)>, L<virt-list-filesystems(1)>, "
-"L<virt-resize(1)>, L<Sys::Guestfs(3)>, L<Sys::Guestfs::Lib(3)>, "
-"L<Sys::Virt(3)>, L<http://libguestfs.org/>."
+"Run one libguestfs appliance per guest.  Normally C<virt-df> will add the "
+"disks from several guests to a single libguestfs appliance."
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-df.pl:157
+msgid "You might use this option in the following circumstances:"
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-df.pl:163
+msgid ""
+"If you think an untrusted guest might actively try to exploit the libguestfs "
+"appliance kernel, then this prevents one guest from interfering with the "
+"stats printed for another guest."
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-df.pl:169
+msgid ""
+"If the kernel has a bug which stops it from accessing a filesystem in one "
+"guest (see for example RHBZ#635373) then this allows libguestfs to continue "
+"and report stats for further guests."
+msgstr ""
+
+# type: =head1
+#: ../tools/virt-df.pl:583
+msgid "NOTE ABOUT CSV FORMAT"
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-df.pl:585
+msgid ""
+"Comma-separated values (CSV) is a deceptive format.  It I<seems> like it "
+"should be easy to parse, but it is definitely not easy to parse."
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-df.pl:588
+msgid ""
+"Myth: Just split fields at commas.  Reality: This does I<not> work "
+"reliably.  This example has two columns:"
+msgstr ""
+
+# type: verbatim
+#: ../tools/virt-df.pl:591
+#, no-wrap
+msgid ""
+" \"foo,bar\",baz\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-df.pl:593
+msgid ""
+"Myth: Read the file one line at a time.  Reality: This does I<not> work "
+"reliably.  This example has one row:"
+msgstr ""
+
+# type: verbatim
+#: ../tools/virt-df.pl:596
+#, no-wrap
+msgid ""
+" \"foo\n"
+" bar\",baz\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-df.pl:599
+msgid ""
+"For shell scripts, use C<csvtool> (L<http://merjis.com/developers/csv> also "
+"packaged in major Linux distributions)."
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-df.pl:602
+msgid ""
+"For other languages, use a CSV processing library (eg. C<Text::CSV> for Perl "
+"or Python's built-in csv library)."
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-df.pl:605
+msgid "Most spreadsheets and databases can import CSV directly."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
@@ -23787,26 +25035,31 @@ msgid ""
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-ls.pl:117
+#: ../tools/virt-ls.pl:132 ../tools/virt-list-filesystems.pl:103 ../tools/virt-list-partitions.pl:112
+msgid "B<-l> | B<--long>"
+msgstr ""
+
+# type: =item
+#: ../tools/virt-ls.pl:134
 msgid "B<-R> | B<--recursive>"
 msgstr ""
 
 # type: textblock
 msgid "B<-R> | B<--recursive>"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-ls.pl:119
+#: ../tools/virt-ls.pl:136
 msgid ""
 "Select the mode.  With neither of these options, C<virt-ls> produces a "
 "simple, flat list of the files in the named directory."
 msgstr ""
 
 # type: textblock
 msgid ""
 "Select the mode.  With neither of these options, C<virt-ls> produces a "
 "simple, flat list of the files in the named directory."
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-ls.pl:122
+#: ../tools/virt-ls.pl:139
 msgid ""
 "C<virt-ls -l> produces a \"long listing\", which shows more detail (just "
 "like the plain C<ls -l> command)."
 msgstr ""
 
 # type: textblock
 msgid ""
 "C<virt-ls -l> produces a \"long listing\", which shows more detail (just "
 "like the plain C<ls -l> command)."
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-ls.pl:125
+#: ../tools/virt-ls.pl:142
 msgid ""
 "C<virt-ls -R> produces a recursive list of files starting at the named "
 "directory.  See the documentation for the C<guestfs_find> command "
 msgid ""
 "C<virt-ls -R> produces a recursive list of files starting at the named "
 "directory.  See the documentation for the C<guestfs_find> command "
@@ -23814,12 +25067,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-ls.pl:129
+#: ../tools/virt-ls.pl:146
 msgid "You cannot combine these options."
 msgstr ""
 
 # type: textblock
 msgid "You cannot combine these options."
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-ls.pl:212
+#: ../tools/virt-ls.pl:237
 msgid ""
 "L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-tar(1)>, "
 "L<Sys::Guestfs(3)>, L<Sys::Guestfs::Lib(3)>, L<Sys::Virt(3)>, "
 msgid ""
 "L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-tar(1)>, "
 "L<Sys::Guestfs(3)>, L<Sys::Guestfs::Lib(3)>, L<Sys::Virt(3)>, "
@@ -23827,2082 +25080,2073 @@ msgid ""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:37
-msgid "virt-make-fs - Make a filesystem from a tar archive or files"
-msgstr ""
-
-# type: verbatim
-#: ../tools/virt-make-fs.pl:41
-#, no-wrap
-msgid ""
-" virt-make-fs [--options] input.tar output.img\n"
-"\n"
+#: ../tools/virt-resize.pl:42
+msgid "virt-resize - Resize a virtual machine disk"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-make-fs.pl:43
+#: ../tools/virt-resize.pl:46
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-make-fs [--options] input.tar.gz output.img\n"
+" virt-resize [--resize /dev/sdaN=[+/-]<size>[%]]\n"
+"   [--expand /dev/sdaN] [--shrink /dev/sdaN]\n"
+"   [--ignore /dev/sdaN] [--delete /dev/sdaN] [...] indisk outdisk\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-make-fs.pl:45
-#, no-wrap
+# type: textblock
+#: ../tools/virt-resize.pl:52
 msgid ""
 msgid ""
-" virt-make-fs [--options] directory output.img\n"
-"\n"
+"Virt-resize is a tool which can resize a virtual machine disk, making it "
+"larger or smaller overall, and resizing or deleting any partitions contained "
+"within."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:49
+#: ../tools/virt-resize.pl:56
 msgid ""
 msgid ""
-"Virt-make-fs is a command line tool for creating a filesystem from a tar "
-"archive or some files in a directory.  It is similar to tools like "
-"L<mkisofs(1)>, L<genisoimage(1)> and L<mksquashfs(1)>.  Unlike those tools, "
-"it can create common filesystem types like ext2/3 or NTFS, which can be "
-"useful if you want to attach these filesystems to existing virtual machines "
-"(eg. to import large amounts of read-only data to a VM)."
+"Virt-resize B<cannot> resize disk images in-place.  Virt-resize B<should "
+"not> be used on live virtual machines - for consistent results, shut the "
+"virtual machine down before resizing it."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:57
-msgid "Basic usage is:"
-msgstr ""
-
-# type: verbatim
-#: ../tools/virt-make-fs.pl:59
-#, no-wrap
+#: ../tools/virt-resize.pl:60
 msgid ""
 msgid ""
-" virt-make-fs input output\n"
-"\n"
+"If you are not familiar with the associated tools: "
+"L<virt-list-partitions(1)>, L<virt-list-filesystems(1)> and L<virt-df(1)>, "
+"we recommend you go and read those manual pages first."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:61
+#: ../tools/virt-resize.pl:68
 msgid ""
 msgid ""
-"where C<input> is either a directory containing files that you want to add, "
-"or a tar archive (either uncompressed tar or gzip-compressed tar); and "
-"C<output> is a disk image.  The input type is detected automatically.  The "
-"output disk image defaults to a raw ext2 image unless you specify extra "
-"flags (see L</OPTIONS> below)."
-msgstr ""
-
-# type: =head2
-#: ../tools/virt-make-fs.pl:67
-msgid "EXTRA SPACE"
+"Copy C<olddisk> to C<newdisk>, extending one of the guest's partitions to "
+"fill the extra 5GB of space."
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-make-fs.pl:69
+# type: verbatim
+#: ../tools/virt-resize.pl:71
+#, no-wrap
 msgid ""
 msgid ""
-"Unlike formats such as tar and squashfs, a filesystem does not \"just fit\" "
-"the files that it contains, but might have extra space.  Depending on how "
-"you are going to use the output, you might think this extra space is wasted "
-"and want to minimize it, or you might want to leave space so that more files "
-"can be added later.  Virt-make-fs defaults to minimizing the extra space, "
-"but you can use the C<--size> flag to leave space in the filesystem if you "
-"want it."
+" truncate -r olddisk newdisk; truncate -s +5G newdisk\n"
+" virt-list-partitions -lht olddisk\n"
+" # Note \"/dev/sda2\" is a partition inside the \"olddisk\" file.\n"
+" virt-resize --expand /dev/sda2 olddisk newdisk\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:77
+#: ../tools/virt-resize.pl:76
 msgid ""
 msgid ""
-"An alternative way to leave extra space but not make the output image any "
-"bigger is to use an alternative disk image format (instead of the default "
-"\"raw\" format).  Using C<--format=qcow2> will use the native QEmu/KVM qcow2 "
-"image format (check your hypervisor supports this before using it).  This "
-"allows you to choose a large C<--size> but the extra space won't actually be "
-"allocated in the image until you try to store something in it."
+"As above, but make the /boot partition 200MB bigger, while giving the "
+"remaining space to /dev/sda2:"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-make-fs.pl:85
+# type: verbatim
+#: ../tools/virt-resize.pl:79
+#, no-wrap
 msgid ""
 msgid ""
-"Don't forget that you can also use local commands including L<resize2fs(8)> "
-"and L<virt-resize(1)> to resize existing filesystems, or rerun "
-"virt-make-resize to build another image from scratch."
+" virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 olddisk newdisk\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: =head3
-#: ../tools/virt-make-fs.pl:89 ../tools/virt-make-fs.pl:123 ../tools/virt-make-fs.pl:142
-msgid "EXAMPLE"
+# type: textblock
+#: ../tools/virt-resize.pl:81
+msgid "As above, but the output format will be uncompressed qcow2:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-make-fs.pl:91
+#: ../tools/virt-resize.pl:83
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-make-fs --format=qcow2 --size=+200M input output.img\n"
+" qemu-img create -f qcow2 newdisk.qcow2 15G\n"
+" virt-resize --expand /dev/sda2 olddisk newdisk.qcow2\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =head2
-#: ../tools/virt-make-fs.pl:93
-msgid "FILESYSTEM TYPE"
+# type: =head1
+#: ../tools/virt-resize.pl:86
+msgid "DETAILED USAGE"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-make-fs.pl:95
-msgid ""
-"The default filesystem type is C<ext2>.  Just about any filesystem type that "
-"libguestfs supports can be used (but I<not> read-only formats like "
-"ISO9660).  Here are some of the more common choices:"
+# type: =head2
+#: ../tools/virt-resize.pl:88
+msgid "EXPANDING A VIRTUAL MACHINE DISK"
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-make-fs.pl:101
-msgid "I<ext3>"
-msgstr ""
-
-# type: textblock
-#: ../tools/virt-make-fs.pl:103
-msgid ""
-"Note that ext3 filesystems contain a journal, typically 1-32 MB in size.  If "
-"you are not going to use the filesystem in a way that requires the journal, "
-"then this is just wasted overhead."
+#: ../tools/virt-resize.pl:92
+msgid "1. Shut down the virtual machine"
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-make-fs.pl:107
-msgid "I<ntfs> or I<vfat>"
+#: ../tools/virt-resize.pl:94
+msgid "2. Locate input disk image"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:109
-msgid "Useful if exporting data to a Windows guest."
+#: ../tools/virt-resize.pl:96
+msgid ""
+"Locate the input disk image (ie. the file or device on the host containing "
+"the guest's disk).  If the guest is managed by libvirt, you can use C<virsh "
+"dumpxml> like this to find the disk image name:"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-make-fs.pl:111
+# type: verbatim
+#: ../tools/virt-resize.pl:100
+#, no-wrap
 msgid ""
 msgid ""
-"I<Note for vfat>: The tar archive or local directory must only contain files "
-"which are owned by root (ie. UID:GID = 0:0).  The reason is that the tar "
-"program running within libguestfs is unable to change the ownership of "
-"non-root files, since vfat itself does not support this."
+" # virsh dumpxml guestname | xpath /domain/devices/disk/source\n"
+" Found 1 nodes:\n"
+" -- NODE --\n"
+" <source dev=\"/dev/vg/lv_guest\" />\n"
+"\n"
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-make-fs.pl:116
-msgid "I<minix>"
+#: ../tools/virt-resize.pl:105
+msgid "3. Look at current sizing"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:118
-msgid ""
-"Lower overhead than C<ext2>, but certain limitations on filename length and "
-"total filesystem size."
+#: ../tools/virt-resize.pl:107
+msgid "Use L<virt-list-partitions(1)> to display the current partitions and sizes:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-make-fs.pl:125
+#: ../tools/virt-resize.pl:110
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-make-fs --type=minix input minixfs.img\n"
+" # virt-list-partitions -lht /dev/vg/lv_guest\n"
+" /dev/sda1 ext3 101.9M\n"
+" /dev/sda2 pv 7.9G\n"
+" /dev/sda device 8.0G\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =head2
-#: ../tools/virt-make-fs.pl:127
-msgid "TO PARTITION OR NOT TO PARTITION"
-msgstr ""
-
 # type: textblock
 # type: textblock
-#: ../tools/virt-make-fs.pl:129
-msgid "Optionally virt-make-fs can add a partition table to the output disk."
+#: ../tools/virt-resize.pl:115
+msgid ""
+"(This example is a virtual machine with an 8 GB disk which we would like to "
+"expand up to 10 GB)."
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-make-fs.pl:131
-msgid ""
-"Adding a partition can make the disk image more compatible with certain "
-"virtualized operating systems which don't expect to see a filesystem "
-"directly located on a block device (Linux doesn't care and will happily "
-"handle both types)."
+# type: =item
+#: ../tools/virt-resize.pl:118
+msgid "4. Create output disk"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:136
+#: ../tools/virt-resize.pl:120
 msgid ""
 msgid ""
-"On the other hand, if you have a partition table then the output image is no "
-"longer a straight filesystem.  For example you cannot run L<fsck(8)> "
-"directly on a partitioned disk image.  (However libguestfs tools such as "
-"L<guestfish(1)> and L<virt-resize(1)> can still be used)."
+"Virt-resize cannot do in-place disk modifications.  You have to have space "
+"to store the resized output disk."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:144
-msgid "Add an MBR partition:"
+#: ../tools/virt-resize.pl:123
+msgid "To store the resized disk image in a file, create a file of a suitable size:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-make-fs.pl:146
+#: ../tools/virt-resize.pl:126
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-make-fs --partition -- input disk.img\n"
+" # rm -f outdisk\n"
+" # truncate -s 10G outdisk\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:148
-msgid ""
-"If the output disk image could be terabyte-sized or larger, it's better to "
-"use an EFI/GPT-compatible partition table:"
+#: ../tools/virt-resize.pl:129
+msgid "Or use L<lvcreate(1)> to create a logical volume:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-make-fs.pl:151
+#: ../tools/virt-resize.pl:131
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-make-fs --partition=gpt --size=+4T --format=qcow2 input disk.img\n"
+" # lvcreate -L 10G -n lv_name vg_name\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: =item
-#: ../tools/virt-make-fs.pl:177 ../tools/virt-win-reg.pl:196
-msgid "B<--debug>"
-msgstr ""
-
 # type: textblock
 # type: textblock
-#: ../tools/virt-make-fs.pl:179
-msgid "Enable debugging information."
+#: ../tools/virt-resize.pl:133
+msgid "Or use L<virsh(1)> vol-create-as to create a libvirt storage volume:"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-make-fs.pl:185
-msgid "B<--size=E<lt>NE<gt>>"
+# type: verbatim
+#: ../tools/virt-resize.pl:135
+#, no-wrap
+msgid ""
+" # virsh pool-list\n"
+" # virsh vol-create-as poolname newvol 10G\n"
+"\n"
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-make-fs.pl:187
-msgid "B<--size=+E<lt>NE<gt>>"
+#: ../tools/virt-resize.pl:138
+msgid "5. Resize"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-make-fs.pl:189
-msgid "B<-s E<lt>NE<gt>>"
+# type: textblock
+#: ../tools/virt-resize.pl:140
+msgid ""
+"virt-resize takes two mandatory parameters, the input disk (eg. device or "
+"file) and the output disk.  The output disk is the one created in the "
+"previous step."
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-make-fs.pl:191
-msgid "B<-s +E<lt>NE<gt>>"
+# type: verbatim
+#: ../tools/virt-resize.pl:144
+#, no-wrap
+msgid ""
+" # virt-resize indisk outdisk\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:193
-msgid "Use the C<--size> (or C<-s>) option to choose the size of the output image."
+#: ../tools/virt-resize.pl:146
+msgid ""
+"This command just copies disk image C<indisk> to disk image C<outdisk> "
+"I<without> resizing or changing any existing partitions.  If C<outdisk> is "
+"larger, then an extra, empty partition is created at the end of the disk "
+"covering the extra space.  If C<outdisk> is smaller, then it will give an "
+"error."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:196
+#: ../tools/virt-resize.pl:152
 msgid ""
 msgid ""
-"If this option is I<not> given, then the output image will be just large "
-"enough to contain all the files, with not much wasted space."
+"More realistically you'd want to expand existing partitions in the disk "
+"image by passing extra options (for the full list see the L</OPTIONS> "
+"section below)."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:199
+#: ../tools/virt-resize.pl:156
 msgid ""
 msgid ""
-"To choose a fixed size output disk, specify an absolute number followed by "
-"b/K/M/G/T/P/E to mean bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, "
-"Petabytes or Exabytes.  This must be large enough to contain all the input "
-"files, else you will get an error."
+"L</--expand> is the most useful option.  It expands the named partition "
+"within the disk to fill any extra space:"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-make-fs.pl:204
+# type: verbatim
+#: ../tools/virt-resize.pl:159
+#, no-wrap
 msgid ""
 msgid ""
-"To leave extra space, specify C<+> (plus sign) and a number followed by "
-"b/K/M/G/T/P/E to mean bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, "
-"Petabytes or Exabytes.  For example: C<--size=+200M> means enough space for "
-"the input files, and (approximately) an extra 200 MB free space."
+" # virt-resize --expand /dev/sda2 indisk outdisk\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:210
+#: ../tools/virt-resize.pl:161
 msgid ""
 msgid ""
-"Note that virt-make-fs estimates free space, and therefore will not produce "
-"filesystems containing precisely the free space requested.  (It is much more "
-"expensive and time-consuming to produce a filesystem which has precisely the "
-"desired free space)."
+"(In this case, an extra partition is I<not> created at the end of the disk, "
+"because there will be no unused space)."
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-make-fs.pl:219
-msgid "B<--format=E<lt>fmtE<gt>>"
+# type: textblock
+#: ../tools/virt-resize.pl:164
+msgid ""
+"L</--resize> is the other commonly used option.  The following would "
+"increase the size of /dev/sda1 by 200M, and expand /dev/sda2 to fill the "
+"rest of the available space:"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-make-fs.pl:221
-msgid "B<-F E<lt>fmtE<gt>>"
+# type: verbatim
+#: ../tools/virt-resize.pl:168
+#, no-wrap
+msgid ""
+" # virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 \\\n"
+"     indisk outdisk\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:223
-msgid "Choose the output disk image format."
+#: ../tools/virt-resize.pl:171
+msgid ""
+"If the expanded partition in the image contains a filesystem or LVM PV, then "
+"if virt-resize knows how, it will resize the contents, the equivalent of "
+"calling a command such as L<pvresize(8)>, L<resize2fs(8)> or "
+"L<ntfsresize(8)>.  However virt-resize does not know how to resize some "
+"filesystems, so you would have to online resize them after booting the "
+"guest.  And virt-resize also does not resize anything inside an LVM PV, it "
+"just resizes the PV itself and leaves the user to resize any LVs inside that "
+"PV as desired."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:225
-msgid "The default is C<raw> (raw disk image)."
+#: ../tools/virt-resize.pl:180
+msgid "Other options are covered below."
+msgstr ""
+
+# type: =item
+#: ../tools/virt-resize.pl:182
+msgid "6. Test"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:227
-msgid ""
-"For other choices, see the L<qemu-img(1)> manpage.  The only other choice "
-"that would really make sense here is C<qcow2>."
+#: ../tools/virt-resize.pl:184
+msgid "Thoroughly test the new disk image I<before> discarding the old one."
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-make-fs.pl:234
-msgid "B<--type=E<lt>fsE<gt>>"
+# type: textblock
+#: ../tools/virt-resize.pl:186
+msgid "If you are using libvirt, edit the XML to point at the new disk:"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-make-fs.pl:236
-msgid "B<-t E<lt>fsE<gt>>"
+# type: verbatim
+#: ../tools/virt-resize.pl:188
+#, no-wrap
+msgid ""
+" # virsh edit guestname\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:238
-msgid "Choose the output filesystem type."
+#: ../tools/virt-resize.pl:190
+msgid ""
+"Change E<lt>source ...E<gt>, see "
+"L<http://libvirt.org/formatdomain.html#elementsDisks>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:240
-msgid "The default is C<ext2>."
+#: ../tools/virt-resize.pl:193
+msgid "Then start up the domain with the new, resized disk:"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-make-fs.pl:242
-msgid "Any filesystem which is supported read-write by libguestfs can be used here."
+# type: verbatim
+#: ../tools/virt-resize.pl:195
+#, no-wrap
+msgid ""
+" # virsh start guestname\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-make-fs.pl:249
-msgid "B<--partition>"
+# type: textblock
+#: ../tools/virt-resize.pl:197
+msgid ""
+"and check that it still works.  See also the L</NOTES> section below for "
+"additional information."
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-make-fs.pl:251
-msgid "B<--partition=E<lt>parttypeE<gt>>"
+#: ../tools/virt-resize.pl:200
+msgid "7. Resize LVs etc inside the guest"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:253
-msgid ""
-"If specified, this flag adds an MBR partition table to the output disk "
-"image."
+#: ../tools/virt-resize.pl:202
+msgid "(This can also be done offline using L<guestfish(1)>)"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:256
+#: ../tools/virt-resize.pl:204
 msgid ""
 msgid ""
-"You can change the partition table type, eg. C<--partition=gpt> for large "
-"disks."
+"Once the guest has booted you should see the new space available, at least "
+"for filesystems that virt-resize knows how to resize, and for PVs.  The user "
+"may need to resize LVs inside PVs, and also resize filesystem types that "
+"virt-resize does not know how to expand."
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-make-fs.pl:259
-msgid ""
-"Note that if you just use a lonesome C<--partition>, the Perl option parser "
-"might consider the next parameter to be the partition type.  For example:"
+# type: =head2
+#: ../tools/virt-resize.pl:211
+msgid "SHRINKING A VIRTUAL MACHINE DISK"
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-make-fs.pl:263
-#, no-wrap
+# type: textblock
+#: ../tools/virt-resize.pl:213
 msgid ""
 msgid ""
-" virt-make-fs --partition input.tar ...\n"
-"\n"
+"Shrinking is somewhat more complex than expanding, and only an overview is "
+"given here."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:265
+#: ../tools/virt-resize.pl:216
 msgid ""
 msgid ""
-"would cause virt-make-fs to think you wanted to use a partition type of "
-"C<input.tar> which is completely wrong.  To avoid this, use C<--> (a double "
-"dash) between options and the input file argument:"
+"Firstly virt-resize will not attempt to shrink any partition content (PVs, "
+"filesystems).  The user has to shrink content before passing the disk image "
+"to virt-resize, and virt-resize will check that the content has been shrunk "
+"properly."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-make-fs.pl:269
-#, no-wrap
-msgid ""
-" virt-make-fs --partition -- input.tar ...\n"
-"\n"
+# type: textblock
+#: ../tools/virt-resize.pl:221
+msgid "(Shrinking can also be done offline using L<guestfish(1)>)"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:529
+#: ../tools/virt-resize.pl:223
 msgid ""
 msgid ""
-"L<guestfish(1)>, L<virt-resize(1)>, L<virt-tar(1)>, L<mkisofs(1)>, "
-"L<genisoimage(1)>, L<mksquashfs(1)>, L<mke2fs(8)>, L<resize2fs(8)>, "
-"L<guestfs(3)>, L<Sys::Guestfs(3)>, L<http://libguestfs.org/>."
+"After shrinking PVs and filesystems, shut down the guest, and proceed with "
+"steps 3 and 4 above to allocate a new disk image."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:543 ../tools/virt-win-reg.pl:478
-msgid ""
-"When reporting bugs, please enable debugging and capture the I<complete> "
-"output:"
+#: ../tools/virt-resize.pl:226
+msgid "Then run virt-resize with any of the C<--shrink> and/or C<--resize> options."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-make-fs.pl:546
-#, no-wrap
-msgid ""
-" export LIBGUESTFS_DEBUG=1\n"
-" virt-make-fs --debug [...] > /tmp/virt-make-fs.log 2>&1\n"
-"\n"
+# type: =head2
+#: ../tools/virt-resize.pl:229
+msgid "IGNORING OR DELETING PARTITIONS"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-make-fs.pl:549
+#: ../tools/virt-resize.pl:231
 msgid ""
 msgid ""
-"Attach /tmp/virt-make-fs.log to a new bug report at "
-"L<https://bugzilla.redhat.com/>"
+"virt-resize also gives a convenient way to ignore or delete partitions when "
+"copying from the input disk to the output disk.  Ignoring a partition speeds "
+"up the copy where you don't care about the existing contents of a "
+"partition.  Deleting a partition removes it completely, but note that it "
+"also renumbers any partitions after the one which is deleted, which can "
+"leave some guests unbootable."
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-make-fs.pl:558 ../tools/virt-resize.pl:1413 ../tools/virt-win-reg.pl:493
-msgid "Copyright (C) 2010 Red Hat Inc."
+# type: =head2
+#: ../tools/virt-resize.pl:238
+msgid "QCOW2 AND NON-SPARSE RAW FORMATS"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-rescue.pl:33
-msgid "virt-rescue - Run a rescue shell on a virtual machine"
+#: ../tools/virt-resize.pl:240
+msgid ""
+"If the input disk is in qcow2 format, then you may prefer that the output is "
+"in qcow2 format as well.  Alternately, virt-resize can convert the format on "
+"the fly.  The output format is simply determined by the format of the empty "
+"output container that you provide.  Thus to create qcow2 output, use:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-rescue.pl:37
+#: ../tools/virt-resize.pl:246
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-rescue [--options] domname\n"
+" qemu-img create [-c] -f qcow2 outdisk [size]\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../tools/virt-resize.pl:248
+msgid "instead of the truncate command (use C<-c> for a compressed disk)."
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-resize.pl:250
+msgid "Similarly, to get non-sparse raw output use:"
+msgstr ""
+
 # type: verbatim
 # type: verbatim
-#: ../tools/virt-rescue.pl:39
+#: ../tools/virt-resize.pl:252
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-rescue [--options] disk.img [disk.img ...]\n"
+" fallocate -l size outdisk\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-rescue.pl:43
+#: ../tools/virt-resize.pl:254
 msgid ""
 msgid ""
-"You must I<not> use C<virt-rescue> on live virtual machines.  Doing so will "
-"probably result in disk corruption in the VM.  C<virt-rescue> tries to stop "
-"you from doing this, but doesn't catch all cases."
+"(on older systems that don't have the L<fallocate(1)> command use C<dd "
+"if=/dev/zero of=outdisk bs=1M count=..>)"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-rescue.pl:47
-msgid ""
-"However if you use the I<--ro> (read only) option, then you can attach a "
-"shell to a live virtual machine.  The results might be strange or "
-"inconsistent at times but you won't get disk corruption."
+#: ../tools/virt-resize.pl:267
+msgid "Display help."
+msgstr ""
+
+# type: =item
+#: ../tools/virt-resize.pl:281
+msgid "B<--resize part=size>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-rescue.pl:53
+#: ../tools/virt-resize.pl:283
 msgid ""
 msgid ""
-"virt-rescue is like a Rescue CD, but for virtual machines, and without the "
-"need for a CD.  virt-rescue gives you a rescue shell and some simple "
-"recovery tools which you can use to examine or rescue a virtual machine or "
-"disk image."
+"Resize the named partition (expanding or shrinking it) so that it has the "
+"given size."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-rescue.pl:58
+#: ../tools/virt-resize.pl:286
 msgid ""
 msgid ""
-"You can run virt-rescue on any virtual machine known to libvirt, or directly "
-"on disk image(s):"
+"C<size> can be expressed as an absolute number followed by b/K/M/G/T/P/E to "
+"mean bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Petabytes or "
+"Exabytes; or as a percentage of the current size; or as a relative number or "
+"percentage.  For example:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-rescue.pl:61
+#: ../tools/virt-resize.pl:291
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-rescue GuestName\n"
+" --resize /dev/sda2=10G\n"
 "\n"
 msgstr ""
 
 # type: verbatim
 "\n"
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-rescue.pl:63
+#: ../tools/virt-resize.pl:293
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-rescue --ro /path/to/disk.img\n"
+" --resize /dev/sda4=90%\n"
 "\n"
 msgstr ""
 
 # type: verbatim
 "\n"
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-rescue.pl:65
+#: ../tools/virt-resize.pl:295
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-rescue /dev/sdc\n"
+" --resize /dev/sda2=+1G\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-rescue.pl:67
-msgid "For live VMs you I<must> use the --ro option."
+# type: verbatim
+#: ../tools/virt-resize.pl:297
+#, no-wrap
+msgid ""
+" --resize /dev/sda2=-200M\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-rescue.pl:69
+# type: verbatim
+#: ../tools/virt-resize.pl:299
+#, no-wrap
 msgid ""
 msgid ""
-"When you run virt-rescue on a virtual machine or disk image, you are placed "
-"in an interactive bash shell where you can use many ordinary Linux "
-"commands.  What you see in C</> (C</bin>, C</lib> etc) is the rescue "
-"appliance.  You must mount the virtual machine's filesystems by hand.  There "
-"is an empty directory called C</sysroot> where you can mount filesystems."
+" --resize /dev/sda1=+128K\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-rescue.pl:76
+# type: verbatim
+#: ../tools/virt-resize.pl:301
+#, no-wrap
 msgid ""
 msgid ""
-"In the example below, we list logical volumes, then choose one to mount "
-"under C</sysroot>:"
+" --resize /dev/sda1=+10%\n"
+"\n"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-rescue.pl:79
+#: ../tools/virt-resize.pl:303
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" ><rescue> lvs\n"
-" LV      VG        Attr   LSize   Origin Snap%  Move Log Copy%  Convert\n"
-" lv_root vg_f11x64 -wi-a-   8.83G\n"
-" lv_swap vg_f11x64 -wi-a- 992.00M\n"
-" ><rescue> mount /dev/vg_f11x64/lv_root /sysroot\n"
-" ><rescue> ls /sysroot\n"
+" --resize /dev/sda1=-10%\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-rescue.pl:86
+#: ../tools/virt-resize.pl:305
 msgid ""
 msgid ""
-"If you don't know what filesystems are available on the virtual machine then "
-"you can use commands such as L<parted(8)> and L<lvs(8)> to find out."
-msgstr ""
-
-# type: =head1
-#: ../tools/virt-rescue.pl:90 ../tools/virt-resize.pl:1350
-msgid "NOTES"
+"You can increase the size of any partition.  Virt-resize will expand the "
+"direct content of the partition if it knows how (see C<--expand> below)."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-rescue.pl:92
+#: ../tools/virt-resize.pl:309
 msgid ""
 msgid ""
-"Virt-rescue can be used on I<any> disk image file or device, not just a "
-"virtual machine.  For example you can use it on a blank file if you want to "
-"partition that file (although we would recommend using L<guestfish(1)> "
-"instead as it is more suitable for this purpose).  You can even use "
-"virt-rescue on things like SD cards."
+"You can only I<decrease> the size of partitions that contain filesystems or "
+"PVs which have already been shrunk.  Virt-resize will check this has been "
+"done before proceeding, or else will print an error (see also "
+"C<--resize-force>)."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-rescue.pl:98
-msgid ""
-"This tool is just designed for quick interactive hacking on a virtual "
-"machine.  For more structured access to a virtual machine disk image, you "
-"should use L<guestfs(3)>.  To get a structured shell that you can use to "
-"make scripted changes to guests, use L<guestfish(1)>."
+#: ../tools/virt-resize.pl:314 ../tools/virt-resize.pl:406 ../tools/virt-resize.pl:423
+msgid "You can give this option multiple times."
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-rescue.pl:127
-msgid "B<--append kernelopts>"
+#: ../tools/virt-resize.pl:320
+msgid "B<--resize-force part=size>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-rescue.pl:129
-msgid "Pass additional options to the rescue kernel."
-msgstr ""
-
-# type: =item
-#: ../tools/virt-rescue.pl:147
-msgid "B<--memsize MB> | B<-m MB>"
+#: ../tools/virt-resize.pl:322
+msgid ""
+"This is the same as C<--resize> except that it will let you decrease the "
+"size of any partition.  Generally this means you will lose any data which "
+"was at the end of the partition you shrink, but you may not care about that "
+"(eg. if shrinking an unused partition, or if you can easily recreate it such "
+"as a swap partition)."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-rescue.pl:149
-msgid ""
-"Change the amount of memory allocated to the rescue system.  The default is "
-"set by libguestfs and is small but adequate for running system tools.  The "
-"occasional program might need more memory.  The parameter is specified in "
-"megabytes."
+#: ../tools/virt-resize.pl:328
+msgid "See also the C<--ignore> option."
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-rescue.pl:158
-msgid "B<--ro> | B<-r>"
-msgstr ""
-
-# type: textblock
-#: ../tools/virt-rescue.pl:160
-msgid "Open the image read-only."
+#: ../tools/virt-resize.pl:334
+msgid "B<--expand part>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-rescue.pl:172
+#: ../tools/virt-resize.pl:336
 msgid ""
 msgid ""
-"Enable SELinux in the rescue appliance.  You should read "
-"L<guestfs(3)/SELINUX> before using this option."
+"Expand the named partition so it uses up all extra space (space left over "
+"after any other resize changes that you request have been done)."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-rescue.pl:228
+#: ../tools/virt-resize.pl:339
 msgid ""
 msgid ""
-"Several environment variables affect virt-rescue.  See "
-"L<guestfs(3)/ENVIRONMENT VARIABLES> for the complete list."
+"If virt-resize knows how, it will expand the direct content of the "
+"partition.  For example, if the partition is an LVM PV, it will expand the "
+"PV to fit (like calling L<pvresize(8)>).  Virt-resize leaves any other "
+"content it doesn't know about alone."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-rescue.pl:233
-msgid ""
-"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<Sys::Guestfs(3)>, "
-"L<Sys::Guestfs::Lib(3)>, L<Sys::Virt(3)>, L<http://libguestfs.org/>."
+#: ../tools/virt-resize.pl:344
+msgid "Currently virt-resize can resize:"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:42
-msgid "virt-resize - Resize a virtual machine disk"
-msgstr ""
-
-# type: verbatim
-#: ../tools/virt-resize.pl:46
-#, no-wrap
+#: ../tools/virt-resize.pl:350
 msgid ""
 msgid ""
-" virt-resize [--resize /dev/sdaN=[+/-]<size>[%]]\n"
-"   [--expand /dev/sdaN] [--shrink /dev/sdaN]\n"
-"   [--ignore /dev/sdaN] [--delete /dev/sdaN] [...] indisk outdisk\n"
-"\n"
+"ext2, ext3 and ext4 filesystems when they are contained directly inside a "
+"partition."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:52
+#: ../tools/virt-resize.pl:355
 msgid ""
 msgid ""
-"Virt-resize is a tool which can resize a virtual machine disk, making it "
-"larger or smaller overall, and resizing or deleting any partitions contained "
-"within."
+"NTFS filesystems contained directly in a partition, if libguestfs was "
+"compiled with support for NTFS."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:56
+#: ../tools/virt-resize.pl:358
 msgid ""
 msgid ""
-"Virt-resize B<cannot> resize disk images in-place.  Virt-resize B<should "
-"not> be used on live virtual machines - for consistent results, shut the "
-"virtual machine down before resizing it."
+"The filesystem must have been shut down consistently last time it was used.  "
+"Additionally, L<ntfsresize(8)> marks the resized filesystem as requiring a "
+"consistency check, so at the first boot after resizing Windows will check "
+"the disk."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:60
+#: ../tools/virt-resize.pl:365
 msgid ""
 msgid ""
-"If you are not familiar with the associated tools: "
-"L<virt-list-partitions(1)>, L<virt-list-filesystems(1)> and L<virt-df(1)>, "
-"we recommend you go and read those manual pages first."
+"LVM PVs (physical volumes).  However virt-resize does I<not> resize anything "
+"inside the PV.  The user will have to resize LVs as desired."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:68
-msgid ""
-"Copy C<olddisk> to C<newdisk>, extending one of the guest's partitions to "
-"fill the extra 5GB of space."
+#: ../tools/virt-resize.pl:371 ../tools/virt-resize.pl:393
+msgid "Note that you cannot use C<--expand> and C<--shrink> together."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-resize.pl:71
-#, no-wrap
-msgid ""
-" truncate -r olddisk newdisk; truncate -s +5G newdisk\n"
-" virt-list-partitions -lht olddisk\n"
-" # Note \"/dev/sda2\" is a partition inside the \"olddisk\" file.\n"
-" virt-resize --expand /dev/sda2 olddisk newdisk\n"
-"\n"
+# type: =item
+#: ../tools/virt-resize.pl:377
+msgid "B<--shrink part>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:76
+#: ../tools/virt-resize.pl:379
 msgid ""
 msgid ""
-"As above, but make the /boot partition 200MB bigger, while giving the "
-"remaining space to /dev/sda2:"
+"Shrink the named partition until the overall disk image fits in the "
+"destination.  The named partition B<must> contain a filesystem or PV which "
+"has already been shrunk using another tool (eg. L<guestfish(1)> or other "
+"online tools).  Virt-resize will check this and give an error if it has not "
+"been done."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-resize.pl:79
-#, no-wrap
+# type: textblock
+#: ../tools/virt-resize.pl:385
 msgid ""
 msgid ""
-" virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 olddisk newdisk\n"
-"\n"
-msgstr ""
-
-# type: =head1
-#: ../tools/virt-resize.pl:81
-msgid "DETAILED USAGE"
+"The amount by which the overall disk must be shrunk (after carrying out all "
+"other operations requested by the user) is called the \"deficit\".  For "
+"example, a straight copy (assume no other operations)  from a 5GB disk image "
+"to a 4GB disk image results in a 1GB deficit.  In this case, virt-resize "
+"would give an error unless the user specified a partition to shrink and that "
+"partition had more than a gigabyte of free space."
 msgstr ""
 
 msgstr ""
 
-# type: =head2
-#: ../tools/virt-resize.pl:83
-msgid "EXPANDING A VIRTUAL MACHINE DISK"
+# type: =item
+#: ../tools/virt-resize.pl:399
+msgid "B<--ignore part>"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-resize.pl:87
-msgid "1. Shut down the virtual machine"
+# type: textblock
+#: ../tools/virt-resize.pl:401
+msgid ""
+"Ignore the named partition.  Effectively this means the partition is "
+"allocated on the destination disk, but the content is not copied across from "
+"the source disk.  The content of the partition will be blank (all zero "
+"bytes)."
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-resize.pl:89
-msgid "2. Locate input disk image"
+#: ../tools/virt-resize.pl:412
+msgid "B<--delete part>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:91
+#: ../tools/virt-resize.pl:414
 msgid ""
 msgid ""
-"Locate the input disk image (ie. the file or device on the host containing "
-"the guest's disk).  If the guest is managed by libvirt, you can use C<virsh "
-"dumpxml> like this to find the disk image name:"
+"Delete the named partition.  It would be more accurate to describe this as "
+"\"don't copy it over\", since virt-resize doesn't do in-place changes and "
+"the original disk image is left intact."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-resize.pl:95
-#, no-wrap
+# type: textblock
+#: ../tools/virt-resize.pl:418
 msgid ""
 msgid ""
-" # virsh dumpxml guestname | xpath /domain/devices/disk/source\n"
-" Found 1 nodes:\n"
-" -- NODE --\n"
-" <source dev=\"/dev/vg/lv_guest\" />\n"
-"\n"
+"Note that when you delete a partition, then anything contained in the "
+"partition is also deleted.  Furthermore, this causes any partitions that "
+"come after to be I<renumbered>, which can easily make your guest unbootable."
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-resize.pl:100
-msgid "3. Look at current sizing"
+#: ../tools/virt-resize.pl:429
+msgid "B<--LV-expand logvol>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:102
-msgid "Use L<virt-list-partitions(1)> to display the current partitions and sizes:"
+#: ../tools/virt-resize.pl:431
+msgid ""
+"This takes the logical volume and, as a final step, expands it to fill all "
+"the space available in its volume group.  A typical usage, assuming a Linux "
+"guest with a single PV C</dev/sda2> and a root device called "
+"C</dev/vg_guest/lv_root> would be:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-resize.pl:105
+#: ../tools/virt-resize.pl:436
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" # virt-list-partitions -lht /dev/vg/lv_guest\n"
-" /dev/sda1 ext3 101.9M\n"
-" /dev/sda2 pv 7.9G\n"
-" /dev/sda device 8.0G\n"
+" virt-resize indisk outdisk \\\n"
+"   --expand /dev/sda2 --LV-expand /dev/vg_guest/lv_root\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:110
+#: ../tools/virt-resize.pl:439
 msgid ""
 msgid ""
-"(This example is a virtual machine with an 8 GB disk which we would like to "
-"expand up to 10 GB)."
-msgstr ""
-
-# type: =item
-#: ../tools/virt-resize.pl:113
-msgid "4. Create output disk"
+"This would first expand the partition (and PV), and then expand the root "
+"device to fill the extra space in the PV."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:115
+#: ../tools/virt-resize.pl:442
 msgid ""
 msgid ""
-"Virt-resize cannot do in-place disk modifications.  You have to have space "
-"to store the resized output disk."
+"The contents of the LV are also resized if virt-resize knows how to do "
+"that.  You can stop virt-resize from trying to expand the content by using "
+"the option C<--no-expand-content>."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:118
-msgid "To store the resized disk image in a file, create a file of a suitable size:"
+#: ../tools/virt-resize.pl:446
+msgid "Use L<virt-list-filesystems(1)> to list the filesystems in the guest."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-resize.pl:121
-#, no-wrap
+# type: textblock
+#: ../tools/virt-resize.pl:449
 msgid ""
 msgid ""
-" # rm -f outdisk\n"
-" # truncate -s 10G outdisk\n"
-"\n"
+"You can give this option multiple times, I<but> it doesn't make sense to do "
+"this unless the logical volumes you specify are all in different volume "
+"groups."
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-resize.pl:124
-msgid "Or use L<lvcreate(1)> to create a logical volume:"
+# type: =item
+#: ../tools/virt-resize.pl:457
+msgid "B<--no-copy-boot-loader>"
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-resize.pl:126
-#, no-wrap
+# type: textblock
+#: ../tools/virt-resize.pl:459
 msgid ""
 msgid ""
-" # lvcreate -L 10G -n lv_name vg_name\n"
-"\n"
+"By default, virt-resize copies over some sectors at the start of the disk "
+"(up to the beginning of the first partition).  Commonly these sectors "
+"contain the Master Boot Record (MBR) and the boot loader, and are required "
+"in order for the guest to boot correctly."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:128
-msgid "Or use L<virsh(1)> vol-create-as to create a libvirt storage volume:"
-msgstr ""
-
-# type: verbatim
-#: ../tools/virt-resize.pl:130
-#, no-wrap
+#: ../tools/virt-resize.pl:464
 msgid ""
 msgid ""
-" # virsh pool-list\n"
-" # virsh vol-create-as poolname newvol 10G\n"
-"\n"
+"If you specify this flag, then this initial copy is not done.  You may need "
+"to reinstall the boot loader in this case."
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-resize.pl:133
-msgid "5. Resize"
+#: ../tools/virt-resize.pl:472
+msgid "B<--no-extra-partition>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:135
+#: ../tools/virt-resize.pl:474
 msgid ""
 msgid ""
-"virt-resize takes two mandatory parameters, the input disk (eg. device or "
-"file) and the output disk.  The output disk is the one created in the "
-"previous step."
+"By default, virt-resize creates an extra partition if there is any extra, "
+"unused space after all resizing has happened.  Use this option to prevent "
+"the extra partition from being created.  If you do this then the extra space "
+"will be inaccessible until you run fdisk, parted, or some other partitioning "
+"tool in the guest."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-resize.pl:139
-#, no-wrap
+# type: textblock
+#: ../tools/virt-resize.pl:480
 msgid ""
 msgid ""
-" # virt-resize indisk outdisk\n"
-"\n"
+"Note that if the surplus space is smaller than 10 MB, no extra partition "
+"will be created."
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-resize.pl:141
-msgid ""
-"This command just copies disk image C<indisk> to disk image C<outdisk> "
-"I<without> resizing or changing any existing partitions.  If C<outdisk> is "
-"larger, then an extra, empty partition is created at the end of the disk "
-"covering the extra space.  If C<outdisk> is smaller, then it will give an "
-"error."
+# type: =item
+#: ../tools/virt-resize.pl:487
+msgid "B<--no-expand-content>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:147
+#: ../tools/virt-resize.pl:489
 msgid ""
 msgid ""
-"More realistically you'd want to expand existing partitions in the disk "
-"image by passing extra options (for the full list see the L</OPTIONS> "
-"section below)."
+"By default, virt-resize will try to expand the direct contents of "
+"partitions, if it knows how (see C<--expand> option above)."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:151
+#: ../tools/virt-resize.pl:492
 msgid ""
 msgid ""
-"L</--expand> is the most useful option.  It expands the named partition "
-"within the disk to fill any extra space:"
+"If you give the C<--no-expand-content> option then virt-resize will not "
+"attempt this."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-resize.pl:154
-#, no-wrap
-msgid ""
-" # virt-resize --expand /dev/sda2 indisk outdisk\n"
-"\n"
+# type: =item
+#: ../tools/virt-resize.pl:499
+msgid "B<-d> | B<--debug>"
+msgstr ""
+
+# type: =item
+#: ../tools/virt-resize.pl:507
+msgid "B<-n> | B<--dryrun>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:156
-msgid ""
-"(In this case, an extra partition is I<not> created at the end of the disk, "
-"because there will be no unused space)."
+#: ../tools/virt-resize.pl:509
+msgid "Print a summary of what would be done, but don't do anything."
+msgstr ""
+
+# type: =item
+#: ../tools/virt-resize.pl:515
+msgid "B<-q> | B<--quiet>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:159
+#: ../tools/virt-resize.pl:517
+msgid "Don't print the summary."
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-resize.pl:525
 msgid ""
 msgid ""
-"L</--resize> is the other commonly used option.  The following would "
-"increase the size of /dev/sda1 by 200M, and expand /dev/sda2 to fill the "
-"rest of the available space:"
+"Specify the format of the input disk image.  If this flag is not given then "
+"it is auto-detected from the image itself."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-resize.pl:163
-#, no-wrap
+# type: textblock
+#: ../tools/virt-resize.pl:531
 msgid ""
 msgid ""
-" # virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 \\\n"
-"     indisk outdisk\n"
-"\n"
+"Note that this option I<does not> affect the output format.  See L</QCOW2 "
+"AND NON-SPARSE RAW FORMATS>."
+msgstr ""
+
+# type: =item
+#: ../tools/virt-resize.pl:538
+msgid "B<--output-format> raw"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:166
+#: ../tools/virt-resize.pl:540
 msgid ""
 msgid ""
-"If the expanded partition in the image contains a filesystem or LVM PV, then "
-"if virt-resize knows how, it will resize the contents, the equivalent of "
-"calling a command such as L<pvresize(8)>, L<resize2fs(8)> or "
-"L<ntfsresize(8)>.  However virt-resize does not know how to resize some "
-"filesystems, so you would have to online resize them after booting the "
-"guest.  And virt-resize also does not resize anything inside an LVM PV, it "
-"just resizes the PV itself and leaves the user to resize any LVs inside that "
-"PV as desired."
+"Specify the format of the output disk image.  If this flag is not given then "
+"it is auto-detected from the image itself."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:175
-msgid "Other options are covered below."
+#: ../tools/virt-resize.pl:546
+msgid ""
+"Note that you still need to create the output disk with the right format.  "
+"See L</QCOW2 AND NON-SPARSE RAW FORMATS>."
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-resize.pl:177
-msgid "6. Test"
+# type: =head2
+#: ../tools/virt-resize.pl:1422 ../tools/virt-rescue.pl:90
+msgid "NOTES"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-resize.pl:179
-msgid "Thoroughly test the new disk image I<before> discarding the old one."
+# type: =head2
+#: ../tools/virt-resize.pl:1424
+msgid "\"Partition 1 does not end on cylinder boundary.\""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:181
-msgid "If you are using libvirt, edit the XML to point at the new disk:"
+#: ../tools/virt-resize.pl:1426
+msgid ""
+"Virt-resize aligns partitions to multiples of 64 sectors.  Usually this "
+"means the partitions will not be aligned to the ancient CHS geometry.  "
+"However CHS geometry is meaningless for disks manufactured since the early "
+"1990s, and doubly so for virtual hard drives.  Alignment of partitions to "
+"cylinders is not required by any modern operating system."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-resize.pl:183
-#, no-wrap
+# type: =head2
+#: ../tools/virt-resize.pl:1433
+msgid "RESIZING WINDOWS VIRTUAL MACHINES"
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-resize.pl:1435
 msgid ""
 msgid ""
-" # virsh edit guestname\n"
-"\n"
+"In Windows Vista and later versions, Microsoft switched to using a separate "
+"boot partition.  In these VMs, typically C</dev/sda1> is the boot partition "
+"and C</dev/sda2> is the main (C:) drive.  We have not had any luck resizing "
+"the boot partition.  Doing so seems to break the guest completely.  However "
+"expanding the second partition (ie. C: drive) should work."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:185
+#: ../tools/virt-resize.pl:1442
 msgid ""
 msgid ""
-"Change E<lt>source ...E<gt>, see "
-"L<http://libvirt.org/formatdomain.html#elementsDisks>"
+"Windows may initiate a lengthy \"chkdsk\" on first boot after a resize, if "
+"NTFS partitions have been expanded.  This is just a safety check and (unless "
+"it find errors) is nothing to worry about."
+msgstr ""
+
+# type: =head2
+#: ../tools/virt-resize.pl:1446
+msgid "GUEST BOOT STUCK AT \"GRUB\""
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:188
-msgid "Then start up the domain with the new, resized disk:"
+#: ../tools/virt-resize.pl:1448
+msgid ""
+"If a Linux guest does not boot after resizing, and the boot is stuck after "
+"printing C<GRUB> on the console, try reinstalling grub.  This sometimes "
+"happens on older (RHEL 5-era) guests, for reasons we don't fully understand, "
+"although we think is to do with partition alignment."
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-resize.pl:190
+#: ../tools/virt-resize.pl:1453
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" # virsh start guestname\n"
+" guestfish -i -a newdisk\n"
+" ><fs> cat /boot/grub/device.map\n"
+" # check the contents of this file are sensible or\n"
+" # edit the file if necessary\n"
+" ><fs> grub-install / /dev/vda\n"
+" ><fs> exit\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:192
+#: ../tools/virt-resize.pl:1460
 msgid ""
 msgid ""
-"and check that it still works.  See also the L</NOTES> section below for "
-"additional information."
+"For more flexible guest reconfiguration, including if you need to specify "
+"other parameters to grub-install, use L<virt-rescue(1)>."
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-resize.pl:195
-msgid "7. Resize LVs etc inside the guest"
+# type: =head1
+#: ../tools/virt-resize.pl:1463
+msgid "ALTERNATIVE TOOLS"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:197
-msgid "(This can also be done offline using L<guestfish(1)>)"
+#: ../tools/virt-resize.pl:1465
+msgid ""
+"There are several proprietary tools for resizing partitions.  We won't "
+"mention any here."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:199
+#: ../tools/virt-resize.pl:1468
 msgid ""
 msgid ""
-"Once the guest has booted you should see the new space available, at least "
-"for filesystems that virt-resize knows how to resize, and for PVs.  The user "
-"may need to resize LVs inside PVs, and also resize filesystem types that "
-"virt-resize does not know how to expand."
-msgstr ""
-
-# type: =head2
-#: ../tools/virt-resize.pl:206
-msgid "SHRINKING A VIRTUAL MACHINE DISK"
+"L<parted(8)> and its graphical shell gparted can do some types of resizing "
+"operations on disk images.  They can resize and move partitions, but I don't "
+"think they can do anything with the contents, and they certainly don't "
+"understand LVM."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:208
+#: ../tools/virt-resize.pl:1473
 msgid ""
 msgid ""
-"Shrinking is somewhat more complex than expanding, and only an overview is "
-"given here."
+"L<guestfish(1)> can do everything that virt-resize can do and a lot more, "
+"but at a much lower level.  You will probably end up hand-calculating sector "
+"offsets, which is something that virt-resize was designed to avoid.  If you "
+"want to see the guestfish-equivalent commands that virt-resize runs, use the "
+"C<--debug> flag."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:211
+#: ../tools/virt-resize.pl:1488
 msgid ""
 msgid ""
-"Firstly virt-resize will not attempt to shrink any partition content (PVs, "
-"filesystems).  The user has to shrink content before passing the disk image "
-"to virt-resize, and virt-resize will check that the content has been shrunk "
-"properly."
+"L<virt-list-partitions(1)>, L<virt-list-filesystems(1)>, L<virt-df(1)>, "
+"L<guestfs(3)>, L<guestfish(1)>, L<lvm(8)>, L<pvresize(8)>, L<lvresize(8)>, "
+"L<resize2fs(8)>, L<ntfsresize(8)>, L<virsh(1)>, L<parted(8)>, "
+"L<truncate(1)>, L<fallocate(1)>, L<grub(8)>, L<grub-install(8)>, "
+"L<virt-rescue(1)>, L<Sys::Guestfs(3)>, L<http://libguestfs.org/>."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:216
-msgid "(Shrinking can also be done offline using L<guestfish(1)>)"
+#: ../tools/virt-list-filesystems.pl:32
+msgid "virt-list-filesystems - List filesystems in a virtual machine or disk image"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-resize.pl:218
+# type: verbatim
+#: ../tools/virt-list-filesystems.pl:36
+#, no-wrap
 msgid ""
 msgid ""
-"After shrinking PVs and filesystems, shut down the guest, and proceed with "
-"steps 3 and 4 above to allocate a new disk image."
+" virt-list-filesystems [--options] domname\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-resize.pl:221
-msgid "Then run virt-resize with any of the C<--shrink> and/or C<--resize> options."
+# type: verbatim
+#: ../tools/virt-list-filesystems.pl:38
+#, no-wrap
+msgid ""
+" virt-list-filesystems [--options] disk.img [disk.img ...]\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: =head2
-#: ../tools/virt-resize.pl:224
-msgid "IGNORING OR DELETING PARTITIONS"
+# type: textblock
+#: ../tools/virt-list-filesystems.pl:42
+msgid ""
+"C<virt-list-filesystems> is a command line tool to list the filesystems that "
+"are contained in a virtual machine or disk image."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:226
+#: ../tools/virt-list-filesystems.pl:46
 msgid ""
 msgid ""
-"virt-resize also gives a convenient way to ignore or delete partitions when "
-"copying from the input disk to the output disk.  Ignoring a partition speeds "
-"up the copy where you don't care about the existing contents of a "
-"partition.  Deleting a partition removes it completely, but note that it "
-"also renumbers any partitions after the one which is deleted, which can "
-"leave some guests unbootable."
+"C<virt-list-filesystems> is just a simple wrapper around L<libguestfs(3)> "
+"functionality.  For more complex cases you should look at the "
+"L<guestfish(1)> tool."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:243
-msgid "Display help."
+#: ../tools/virt-list-filesystems.pl:105
+msgid ""
+"With this option, C<virt-list-filesystems> displays the type of each "
+"filesystem too (where \"type\" means C<ext3>, C<xfs> etc.)"
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-resize.pl:257
-msgid "B<--resize part=size>"
+#: ../tools/virt-list-filesystems.pl:112
+msgid "B<-a> | B<--all>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:259
+#: ../tools/virt-list-filesystems.pl:114
 msgid ""
 msgid ""
-"Resize the named partition (expanding or shrinking it) so that it has the "
-"given size."
+"Normally we only show mountable filesystems.  If this option is given then "
+"swap devices are shown too."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:262
+#: ../tools/virt-list-filesystems.pl:218
 msgid ""
 msgid ""
-"C<size> can be expressed as an absolute number followed by b/K/M/G/T/P/E to "
-"mean bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Petabytes or "
-"Exabytes; or as a percentage of the current size; or as a relative number or "
-"percentage.  For example:"
+"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-tar(1)>, "
+"L<virt-list-partitions(1)>, L<Sys::Guestfs(3)>, L<Sys::Guestfs::Lib(3)>, "
+"L<Sys::Virt(3)>, L<http://libguestfs.org/>."
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-cat.pl:34
+msgid "virt-cat - Display a file in a virtual machine"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-resize.pl:267
+#: ../tools/virt-cat.pl:38
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" --resize /dev/sda2=10G\n"
+" virt-cat [--options] domname file\n"
 "\n"
 msgstr ""
 
 # type: verbatim
 "\n"
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-resize.pl:269
+#: ../tools/virt-cat.pl:40
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" --resize /dev/sda4=90%\n"
+" virt-cat [--options] disk.img [disk.img ...] file\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-resize.pl:271
-#, no-wrap
+# type: textblock
+#: ../tools/virt-cat.pl:44
 msgid ""
 msgid ""
-" --resize /dev/sda2=+1G\n"
-"\n"
+"C<virt-cat> is a command line tool to display the contents of C<file> where "
+"C<file> exists in the named virtual machine (or disk image)."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-resize.pl:273
-#, no-wrap
+# type: textblock
+#: ../tools/virt-cat.pl:47
 msgid ""
 msgid ""
-" --resize /dev/sda2=-200M\n"
-"\n"
+"C<virt-cat> can be used to quickly view a single file.  To edit a file, use "
+"C<virt-edit>.  For more complex cases you should look at the L<guestfish(1)> "
+"tool."
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-cat.pl:53
+msgid "Display C</etc/fstab> file from inside the libvirt VM called C<mydomain>:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-resize.pl:275
+#: ../tools/virt-cat.pl:56
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" --resize /dev/sda1=+128K\n"
+" virt-cat mydomain /etc/fstab\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../tools/virt-cat.pl:58
+msgid "List syslog messages from a VM:"
+msgstr ""
+
 # type: verbatim
 # type: verbatim
-#: ../tools/virt-resize.pl:277
+#: ../tools/virt-cat.pl:60
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" --resize /dev/sda1=+10%\n"
+" virt-cat mydomain /var/log/messages | tail\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
+# type: textblock
+#: ../tools/virt-cat.pl:62
+msgid "Find out what DHCP IP address a VM acquired:"
+msgstr ""
+
 # type: verbatim
 # type: verbatim
-#: ../tools/virt-resize.pl:279
+#: ../tools/virt-cat.pl:64
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" --resize /dev/sda1=-10%\n"
+" virt-cat mydomain /var/log/messages | grep 'dhclient: bound to' | tail\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:281
-msgid ""
-"You can increase the size of any partition.  Virt-resize will expand the "
-"direct content of the partition if it knows how (see C<--expand> below)."
+#: ../tools/virt-cat.pl:66
+msgid "Find out what packages were recently installed:"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-resize.pl:285
+# type: verbatim
+#: ../tools/virt-cat.pl:68
+#, no-wrap
 msgid ""
 msgid ""
-"You can only I<decrease> the size of partitions that contain filesystems or "
-"PVs which have already been shrunk.  Virt-resize will check this has been "
-"done before proceeding, or else will print an error (see also "
-"C<--resize-force>)."
+" virt-cat mydomain /var/log/yum.log | tail\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:290 ../tools/virt-resize.pl:382 ../tools/virt-resize.pl:399
-msgid "You can give this option multiple times."
-msgstr ""
-
-# type: =item
-#: ../tools/virt-resize.pl:296
-msgid "B<--resize-force part=size>"
+#: ../tools/virt-cat.pl:70
+msgid "Find out who is logged on inside a virtual machine:"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-resize.pl:298
+# type: verbatim
+#: ../tools/virt-cat.pl:72
+#, no-wrap
 msgid ""
 msgid ""
-"This is the same as C<--resize> except that it will let you decrease the "
-"size of any partition.  Generally this means you will lose any data which "
-"was at the end of the partition you shrink, but you may not care about that "
-"(eg. if shrinking an unused partition, or if you can easily recreate it such "
-"as a swap partition)."
+" virt-cat mydomain /var/run/utmp > /tmp/utmp\n"
+" who /tmp/utmp\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:304
-msgid "See also the C<--ignore> option."
-msgstr ""
-
-# type: =item
-#: ../tools/virt-resize.pl:310
-msgid "B<--expand part>"
+#: ../tools/virt-cat.pl:75
+msgid "or who was logged on:"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-resize.pl:312
+# type: verbatim
+#: ../tools/virt-cat.pl:77
+#, no-wrap
 msgid ""
 msgid ""
-"Expand the named partition so it uses up all extra space (space left over "
-"after any other resize changes that you request have been done)."
+" virt-cat mydomain /var/log/wtmp > /tmp/wtmp\n"
+" last -f /tmp/wtmp\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:315
+#: ../tools/virt-cat.pl:190
 msgid ""
 msgid ""
-"If virt-resize knows how, it will expand the direct content of the "
-"partition.  For example, if the partition is an LVM PV, it will expand the "
-"PV to fit (like calling L<pvresize(8)>).  Virt-resize leaves any other "
-"content it doesn't know about alone."
+"L<guestfs(3)>, L<guestfish(1)>, L<virt-edit(1)>, L<Sys::Guestfs(3)>, "
+"L<Sys::Guestfs::Lib(3)>, L<Sys::Virt(3)>, L<http://libguestfs.org/>."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:320
-msgid "Currently virt-resize can resize:"
+#: ../tools/virt-tar.pl:34
+msgid "virt-tar - Extract or upload files to a virtual machine"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-resize.pl:326
+# type: verbatim
+#: ../tools/virt-tar.pl:38
+#, no-wrap
 msgid ""
 msgid ""
-"ext2, ext3 and ext4 filesystems when they are contained directly inside a "
-"partition."
+" virt-tar [--options] -x domname directory tarball\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-resize.pl:331
+# type: verbatim
+#: ../tools/virt-tar.pl:40
+#, no-wrap
 msgid ""
 msgid ""
-"NTFS filesystems contained directly in a partition, if libguestfs was "
-"compiled with support for NTFS."
+" virt-tar [--options] -u domname tarball directory\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-resize.pl:334
+# type: verbatim
+#: ../tools/virt-tar.pl:42
+#, no-wrap
 msgid ""
 msgid ""
-"The filesystem must have been shut down consistently last time it was used.  "
-"Additionally, L<ntfsresize(8)> marks the resized filesystem as requiring a "
-"consistency check, so at the first boot after resizing Windows will check "
-"the disk."
+" virt-tar [--options] disk.img [disk.img ...] -x directory tarball\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-resize.pl:341
+# type: verbatim
+#: ../tools/virt-tar.pl:44
+#, no-wrap
 msgid ""
 msgid ""
-"LVM PVs (physical volumes).  However virt-resize does I<not> resize anything "
-"inside the PV.  The user will have to resize LVs as desired."
+" virt-tar [--options] disk.img [disk.img ...] -u tarball directory\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:347 ../tools/virt-resize.pl:369
-msgid "Note that you cannot use C<--expand> and C<--shrink> together."
-msgstr ""
-
-# type: =item
-#: ../tools/virt-resize.pl:353
-msgid "B<--shrink part>"
+#: ../tools/virt-tar.pl:48
+msgid "Download C</home> from the VM into a local tarball:"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-resize.pl:355
+# type: verbatim
+#: ../tools/virt-tar.pl:50
+#, no-wrap
 msgid ""
 msgid ""
-"Shrink the named partition until the overall disk image fits in the "
-"destination.  The named partition B<must> contain a filesystem or PV which "
-"has already been shrunk using another tool (eg. L<guestfish(1)> or other "
-"online tools).  Virt-resize will check this and give an error if it has not "
-"been done."
+" virt-tar -x domname /home home.tar\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-resize.pl:361
+# type: verbatim
+#: ../tools/virt-tar.pl:52
+#, no-wrap
 msgid ""
 msgid ""
-"The amount by which the overall disk must be shrunk (after carrying out all "
-"other operations requested by the user) is called the \"deficit\".  For "
-"example, a straight copy (assume no other operations)  from a 5GB disk image "
-"to a 4GB disk image results in a 1GB deficit.  In this case, virt-resize "
-"would give an error unless the user specified a partition to shrink and that "
-"partition had more than a gigabyte of free space."
-msgstr ""
-
-# type: =item
-#: ../tools/virt-resize.pl:375
-msgid "B<--ignore part>"
+" virt-tar -zx domname /home home.tar.gz\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:377
-msgid ""
-"Ignore the named partition.  Effectively this means the partition is "
-"allocated on the destination disk, but the content is not copied across from "
-"the source disk.  The content of the partition will be blank (all zero "
-"bytes)."
+#: ../tools/virt-tar.pl:54
+msgid "Upload a local tarball and unpack it inside C</tmp> in the VM:"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-resize.pl:388
-msgid "B<--delete part>"
+# type: verbatim
+#: ../tools/virt-tar.pl:56
+#, no-wrap
+msgid ""
+" virt-tar -u domname uploadstuff.tar /tmp\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-resize.pl:390
+# type: verbatim
+#: ../tools/virt-tar.pl:58
+#, no-wrap
 msgid ""
 msgid ""
-"Delete the named partition.  It would be more accurate to describe this as "
-"\"don't copy it over\", since virt-resize doesn't do in-place changes and "
-"the original disk image is left intact."
+" virt-tar -zu domname uploadstuff.tar.gz /tmp\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:394
+#: ../tools/virt-tar.pl:62
 msgid ""
 msgid ""
-"Note that when you delete a partition, then anything contained in the "
-"partition is also deleted.  Furthermore, this causes any partitions that "
-"come after to be I<renumbered>, which can easily make your guest unbootable."
-msgstr ""
-
-# type: =item
-#: ../tools/virt-resize.pl:405
-msgid "B<--LV-expand logvol>"
+"You must I<not> use C<virt-tar> with the C<-u> option (upload) on live "
+"virtual machines.  If you do this, you risk disk corruption in the VM.  "
+"C<virt-tar> tries to stop you from doing this, but doesn't catch all cases."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:407
+#: ../tools/virt-tar.pl:67
 msgid ""
 msgid ""
-"This takes the logical volume and, as a final step, expands it to fill all "
-"the space available in its volume group.  A typical usage, assuming a Linux "
-"guest with a single PV C</dev/sda2> and a root device called "
-"C</dev/vg_guest/lv_root> would be:"
+"You can use C<-x> (extract) on live virtual machines, but you might get "
+"inconsistent results or errors if there is filesystem activity inside the "
+"VM.  If the live VM is synched and quiescent, then C<virt-tar> will usually "
+"work, but the only way to guarantee consistent results is if the virtual "
+"machine is shut down."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-resize.pl:412
-#, no-wrap
+# type: textblock
+#: ../tools/virt-tar.pl:75
 msgid ""
 msgid ""
-" virt-resize indisk outdisk \\\n"
-"   --expand /dev/sda2 --LV-expand /dev/vg_guest/lv_root\n"
-"\n"
+"C<virt-tar> is a general purpose archive tool for downloading and uploading "
+"parts of a guest filesystem.  There are many possibilities: making backups, "
+"uploading data files, snooping on guest activity, fixing or customizing "
+"guests, etc."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:415
+#: ../tools/virt-tar.pl:80
 msgid ""
 msgid ""
-"This would first expand the partition (and PV), and then expand the root "
-"device to fill the extra space in the PV."
+"If you want to just view a single file, use L<virt-cat(1)>.  If you just "
+"want to edit a single file, use L<virt-edit(1)>.  For more complex cases you "
+"should look at the L<guestfish(1)> tool."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:418
+#: ../tools/virt-tar.pl:84
 msgid ""
 msgid ""
-"The contents of the LV are also resized if virt-resize knows how to do "
-"that.  You can stop virt-resize from trying to expand the content by using "
-"the option C<--no-expand-content>."
+"There are two modes of operation: C<-x> (eXtract) downloads a directory and "
+"its contents (recursively) from the virtual machine into a local tarball.  "
+"C<-u> uploads from a local tarball, unpacking it into a directory inside the "
+"virtual machine.  You cannot use these two options together."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:422
-msgid "Use L<virt-list-filesystems(1)> to list the filesystems in the guest."
+#: ../tools/virt-tar.pl:90
+msgid ""
+"In addition, you may need to use the C<-z> (gZip) option to enable "
+"compression.  When uploading, you have to specify C<-z> if the upload file "
+"is compressed because virt-tar won't detect this on its own."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:425
+#: ../tools/virt-tar.pl:94
 msgid ""
 msgid ""
-"You can give this option multiple times, I<but> it doesn't make sense to do "
-"this unless the logical volumes you specify are all in different volume "
-"groups."
+"C<virt-tar> can only handle tar (optionally gzipped) format tarballs.  For "
+"example it cannot do PKZip files or bzip2 compression.  If you want that "
+"then you'll have to rebuild the tarballs yourself.  (This is a limitation of "
+"the L<libguestfs(3)> API)."
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-resize.pl:433
-msgid "B<--no-copy-boot-loader>"
+#: ../tools/virt-tar.pl:152
+msgid "B<-x> | B<--extract> | B<--download>"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-resize.pl:435
-msgid ""
-"By default, virt-resize copies over some sectors at the start of the disk "
-"(up to the beginning of the first partition).  Commonly these sectors "
-"contain the Master Boot Record (MBR) and the boot loader, and are required "
-"in order for the guest to boot correctly."
+# type: =item
+#: ../tools/virt-tar.pl:154
+msgid "B<-u> | B<--upload>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:440
+#: ../tools/virt-tar.pl:156
 msgid ""
 msgid ""
-"If you specify this flag, then this initial copy is not done.  You may need "
-"to reinstall the boot loader in this case."
-msgstr ""
-
-# type: =item
-#: ../tools/virt-resize.pl:448
-msgid "B<--no-extra-partition>"
+"Use C<-x> to extract (download) a directory from a virtual machine to a "
+"local tarball."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:450
+#: ../tools/virt-tar.pl:159
 msgid ""
 msgid ""
-"By default, virt-resize creates an extra partition if there is any extra, "
-"unused space after all resizing has happened.  Use this option to prevent "
-"the extra partition from being created.  If you do this then the extra space "
-"will be inaccessible until you run fdisk, parted, or some other partitioning "
-"tool in the guest."
+"Use C<-u> to upload and unpack from a local tarball into a virtual machine.  "
+"Please read the L</WARNING> section above before using this option."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:456
-msgid ""
-"Note that if the surplus space is smaller than 10 MB, no extra partition "
-"will be created."
+#: ../tools/virt-tar.pl:163
+msgid "You must specify exactly one of these options."
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-resize.pl:463
-msgid "B<--no-expand-content>"
+#: ../tools/virt-tar.pl:169
+msgid "B<-z> | B<--gzip>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:465
-msgid ""
-"By default, virt-resize will try to expand the direct contents of "
-"partitions, if it knows how (see C<--expand> option above)."
+#: ../tools/virt-tar.pl:171
+msgid "Specify that the input or output tarball is gzip-compressed."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:468
+#: ../tools/virt-tar.pl:285
 msgid ""
 msgid ""
-"If you give the C<--no-expand-content> option then virt-resize will not "
-"attempt this."
-msgstr ""
-
-# type: =item
-#: ../tools/virt-resize.pl:475
-msgid "B<-d> | B<--debug>"
+"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-edit(1)>, "
+"L<Sys::Guestfs(3)>, L<Sys::Guestfs::Lib(3)>, L<Sys::Virt(3)>, "
+"L<http://libguestfs.org/>."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:477 ../tools/virt-win-reg.pl:198
-msgid "Enable debugging messages."
+#: ../tools/virt-rescue.pl:33
+msgid "virt-rescue - Run a rescue shell on a virtual machine"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-resize.pl:483
-msgid "B<-n> | B<--dryrun>"
+# type: verbatim
+#: ../tools/virt-rescue.pl:37
+#, no-wrap
+msgid ""
+" virt-rescue [--options] domname\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-resize.pl:485
-msgid "Print a summary of what would be done, but don't do anything."
+# type: verbatim
+#: ../tools/virt-rescue.pl:39
+#, no-wrap
+msgid ""
+" virt-rescue [--options] disk.img [disk.img ...]\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-resize.pl:491
-msgid "B<-q> | B<--quiet>"
+# type: textblock
+#: ../tools/virt-rescue.pl:43
+msgid ""
+"You must I<not> use C<virt-rescue> on live virtual machines.  Doing so will "
+"probably result in disk corruption in the VM.  C<virt-rescue> tries to stop "
+"you from doing this, but doesn't catch all cases."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:493
-msgid "Don't print the summary."
+#: ../tools/virt-rescue.pl:47
+msgid ""
+"However if you use the I<--ro> (read only) option, then you can attach a "
+"shell to a live virtual machine.  The results might be strange or "
+"inconsistent at times but you won't get disk corruption."
 msgstr ""
 
 msgstr ""
 
-# type: =head2
-#: ../tools/virt-resize.pl:1352
-msgid "\"Partition 1 does not end on cylinder boundary.\""
+# type: textblock
+#: ../tools/virt-rescue.pl:53
+msgid ""
+"virt-rescue is like a Rescue CD, but for virtual machines, and without the "
+"need for a CD.  virt-rescue gives you a rescue shell and some simple "
+"recovery tools which you can use to examine or rescue a virtual machine or "
+"disk image."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:1354
+#: ../tools/virt-rescue.pl:58
 msgid ""
 msgid ""
-"Virt-resize aligns partitions to multiples of 64 sectors.  Usually this "
-"means the partitions will not be aligned to the ancient CHS geometry.  "
-"However CHS geometry is meaningless for disks manufactured since the early "
-"1990s, and doubly so for virtual hard drives.  Alignment of partitions to "
-"cylinders is not required by any modern operating system."
+"You can run virt-rescue on any virtual machine known to libvirt, or directly "
+"on disk image(s):"
 msgstr ""
 
 msgstr ""
 
-# type: =head2
-#: ../tools/virt-resize.pl:1361
-msgid "RESIZING WINDOWS VIRTUAL MACHINES"
+# type: verbatim
+#: ../tools/virt-rescue.pl:61
+#, no-wrap
+msgid ""
+" virt-rescue GuestName\n"
+"\n"
+msgstr ""
+
+# type: verbatim
+#: ../tools/virt-rescue.pl:63
+#, no-wrap
+msgid ""
+" virt-rescue --ro /path/to/disk.img\n"
+"\n"
+msgstr ""
+
+# type: verbatim
+#: ../tools/virt-rescue.pl:65
+#, no-wrap
+msgid ""
+" virt-rescue /dev/sdc\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-rescue.pl:67
+msgid "For live VMs you I<must> use the --ro option."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:1363
+#: ../tools/virt-rescue.pl:69
 msgid ""
 msgid ""
-"In Windows Vista and later versions, Microsoft switched to using a separate "
-"boot partition.  In these VMs, typically C</dev/sda1> is the boot partition "
-"and C</dev/sda2> is the main (C:) drive.  We have not had any luck resizing "
-"the boot partition.  Doing so seems to break the guest completely.  However "
-"expanding the second partition (ie. C: drive) should work."
+"When you run virt-rescue on a virtual machine or disk image, you are placed "
+"in an interactive bash shell where you can use many ordinary Linux "
+"commands.  What you see in C</> (C</bin>, C</lib> etc) is the rescue "
+"appliance.  You must mount the virtual machine's filesystems by hand.  There "
+"is an empty directory called C</sysroot> where you can mount filesystems."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:1370
+#: ../tools/virt-rescue.pl:76
 msgid ""
 msgid ""
-"Windows may initiate a lengthy \"chkdsk\" on first boot after a resize, if "
-"NTFS partitions have been expanded.  This is just a safety check and (unless "
-"it find errors) is nothing to worry about."
+"In the example below, we list logical volumes, then choose one to mount "
+"under C</sysroot>:"
 msgstr ""
 
 msgstr ""
 
-# type: =head1
-#: ../tools/virt-resize.pl:1374
-msgid "ALTERNATIVE TOOLS"
+# type: verbatim
+#: ../tools/virt-rescue.pl:79
+#, no-wrap
+msgid ""
+" ><rescue> lvs\n"
+" LV      VG        Attr   LSize   Origin Snap%  Move Log Copy%  Convert\n"
+" lv_root vg_f11x64 -wi-a-   8.83G\n"
+" lv_swap vg_f11x64 -wi-a- 992.00M\n"
+" ><rescue> mount /dev/vg_f11x64/lv_root /sysroot\n"
+" ><rescue> ls /sysroot\n"
+"\n"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:1376
+#: ../tools/virt-rescue.pl:86
 msgid ""
 msgid ""
-"There are several proprietary tools for resizing partitions.  We won't "
-"mention any here."
+"If you don't know what filesystems are available on the virtual machine then "
+"you can use commands such as L<parted(8)> and L<lvs(8)> to find out."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:1379
+#: ../tools/virt-rescue.pl:92
 msgid ""
 msgid ""
-"L<parted(8)> and its graphical shell gparted can do some types of resizing "
-"operations on disk images.  They can resize and move partitions, but I don't "
-"think they can do anything with the contents, and they certainly don't "
-"understand LVM."
+"Virt-rescue can be used on I<any> disk image file or device, not just a "
+"virtual machine.  For example you can use it on a blank file if you want to "
+"partition that file (although we would recommend using L<guestfish(1)> "
+"instead as it is more suitable for this purpose).  You can even use "
+"virt-rescue on things like SD cards."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:1384
+#: ../tools/virt-rescue.pl:98
 msgid ""
 msgid ""
-"L<guestfish(1)> can do everything that virt-resize can do and a lot more, "
-"but at a much lower level.  You will probably end up hand-calculating sector "
-"offsets, which is something that virt-resize was designed to avoid.  If you "
-"want to see the guestfish-equivalent commands that virt-resize runs, use the "
-"C<--debug> flag."
+"This tool is just designed for quick interactive hacking on a virtual "
+"machine.  For more structured access to a virtual machine disk image, you "
+"should use L<guestfs(3)>.  To get a structured shell that you can use to "
+"make scripted changes to guests, use L<guestfish(1)>."
+msgstr ""
+
+# type: =item
+#: ../tools/virt-rescue.pl:127
+msgid "B<--append kernelopts>"
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-rescue.pl:129
+msgid "Pass additional options to the rescue kernel."
+msgstr ""
+
+# type: =item
+#: ../tools/virt-rescue.pl:164
+msgid "B<--memsize MB> | B<-m MB>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-resize.pl:1392
+#: ../tools/virt-rescue.pl:166
 msgid ""
 msgid ""
-"L<virt-list-partitions(1)>, L<virt-list-filesystems(1)>, L<virt-df(1)>, "
-"L<guestfs(3)>, L<guestfish(1)>, L<lvm(8)>, L<pvresize(8)>, L<lvresize(8)>, "
-"L<resize2fs(8)>, L<ntfsresize(8)>, L<virsh(1)>, L<parted(8)>, "
-"L<Sys::Guestfs(3)>, L<http://libguestfs.org/>."
+"Change the amount of memory allocated to the rescue system.  The default is "
+"set by libguestfs and is small but adequate for running system tools.  The "
+"occasional program might need more memory.  The parameter is specified in "
+"megabytes."
+msgstr ""
+
+# type: =item
+#: ../tools/virt-rescue.pl:175
+msgid "B<--ro> | B<-r>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-tar.pl:34
-msgid "virt-tar - Extract or upload files to a virtual machine"
+#: ../tools/virt-rescue.pl:177
+msgid "Open the image read-only."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-tar.pl:38
-#, no-wrap
+# type: textblock
+#: ../tools/virt-rescue.pl:189
 msgid ""
 msgid ""
-" virt-tar [--options] -x domname directory tarball\n"
-"\n"
+"Enable SELinux in the rescue appliance.  You should read "
+"L<guestfs(3)/SELINUX> before using this option."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-tar.pl:40
-#, no-wrap
+# type: textblock
+#: ../tools/virt-rescue.pl:247
 msgid ""
 msgid ""
-" virt-tar [--options] -u domname tarball directory\n"
-"\n"
+"Several environment variables affect virt-rescue.  See "
+"L<guestfs(3)/ENVIRONMENT VARIABLES> for the complete list."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-tar.pl:42
-#, no-wrap
+# type: textblock
+#: ../tools/virt-rescue.pl:259
 msgid ""
 msgid ""
-" virt-tar [--options] disk.img [disk.img ...] -x directory tarball\n"
-"\n"
+"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<Sys::Guestfs(3)>, "
+"L<Sys::Guestfs::Lib(3)>, L<Sys::Virt(3)>, L<http://libguestfs.org/>."
+msgstr ""
+
+# type: textblock
+#: ../tools/virt-make-fs.pl:37
+msgid "virt-make-fs - Make a filesystem from a tar archive or files"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-tar.pl:44
+#: ../tools/virt-make-fs.pl:41
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-tar [--options] disk.img [disk.img ...] -u tarball directory\n"
+" virt-make-fs [--options] input.tar output.img\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-tar.pl:48
-msgid "Download C</home> from the VM into a local tarball:"
-msgstr ""
-
 # type: verbatim
 # type: verbatim
-#: ../tools/virt-tar.pl:50
+#: ../tools/virt-make-fs.pl:43
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-tar -x domname /home home.tar\n"
+" virt-make-fs [--options] input.tar.gz output.img\n"
 "\n"
 msgstr ""
 
 # type: verbatim
 "\n"
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-tar.pl:52
+#: ../tools/virt-make-fs.pl:45
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-tar -zx domname /home home.tar.gz\n"
+" virt-make-fs [--options] directory output.img\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-tar.pl:54
-msgid "Upload a local tarball and unpack it inside C</tmp> in the VM:"
+#: ../tools/virt-make-fs.pl:49
+msgid ""
+"Virt-make-fs is a command line tool for creating a filesystem from a tar "
+"archive or some files in a directory.  It is similar to tools like "
+"L<mkisofs(1)>, L<genisoimage(1)> and L<mksquashfs(1)>.  Unlike those tools, "
+"it can create common filesystem types like ext2/3 or NTFS, which can be "
+"useful if you want to attach these filesystems to existing virtual machines "
+"(eg. to import large amounts of read-only data to a VM)."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-tar.pl:56
-#, no-wrap
-msgid ""
-" virt-tar -u domname uploadstuff.tar /tmp\n"
-"\n"
+# type: textblock
+#: ../tools/virt-make-fs.pl:57
+msgid "Basic usage is:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-tar.pl:58
+#: ../tools/virt-make-fs.pl:59
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-tar -zu domname uploadstuff.tar.gz /tmp\n"
+" virt-make-fs input output\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-tar.pl:62
+#: ../tools/virt-make-fs.pl:61
 msgid ""
 msgid ""
-"You must I<not> use C<virt-tar> with the C<-u> option (upload) on live "
-"virtual machines.  If you do this, you risk disk corruption in the VM.  "
-"C<virt-tar> tries to stop you from doing this, but doesn't catch all cases."
+"where C<input> is either a directory containing files that you want to add, "
+"or a tar archive (either uncompressed tar or gzip-compressed tar); and "
+"C<output> is a disk image.  The input type is detected automatically.  The "
+"output disk image defaults to a raw ext2 image unless you specify extra "
+"flags (see L</OPTIONS> below)."
+msgstr ""
+
+# type: =head2
+#: ../tools/virt-make-fs.pl:67
+msgid "EXTRA SPACE"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-tar.pl:67
+#: ../tools/virt-make-fs.pl:69
 msgid ""
 msgid ""
-"You can use C<-x> (extract) on live virtual machines, but you might get "
-"inconsistent results or errors if there is filesystem activity inside the "
-"VM.  If the live VM is synched and quiescent, then C<virt-tar> will usually "
-"work, but the only way to guarantee consistent results is if the virtual "
-"machine is shut down."
+"Unlike formats such as tar and squashfs, a filesystem does not \"just fit\" "
+"the files that it contains, but might have extra space.  Depending on how "
+"you are going to use the output, you might think this extra space is wasted "
+"and want to minimize it, or you might want to leave space so that more files "
+"can be added later.  Virt-make-fs defaults to minimizing the extra space, "
+"but you can use the C<--size> flag to leave space in the filesystem if you "
+"want it."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-tar.pl:75
+#: ../tools/virt-make-fs.pl:77
 msgid ""
 msgid ""
-"C<virt-tar> is a general purpose archive tool for downloading and uploading "
-"parts of a guest filesystem.  There are many possibilities: making backups, "
-"uploading data files, snooping on guest activity, fixing or customizing "
-"guests, etc."
+"An alternative way to leave extra space but not make the output image any "
+"bigger is to use an alternative disk image format (instead of the default "
+"\"raw\" format).  Using C<--format=qcow2> will use the native QEmu/KVM qcow2 "
+"image format (check your hypervisor supports this before using it).  This "
+"allows you to choose a large C<--size> but the extra space won't actually be "
+"allocated in the image until you try to store something in it."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-tar.pl:80
+#: ../tools/virt-make-fs.pl:85
 msgid ""
 msgid ""
-"If you want to just view a single file, use L<virt-cat(1)>.  If you just "
-"want to edit a single file, use L<virt-edit(1)>.  For more complex cases you "
-"should look at the L<guestfish(1)> tool."
+"Don't forget that you can also use local commands including L<resize2fs(8)> "
+"and L<virt-resize(1)> to resize existing filesystems, or rerun "
+"virt-make-resize to build another image from scratch."
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-tar.pl:84
+# type: =head3
+#: ../tools/virt-make-fs.pl:89 ../tools/virt-make-fs.pl:123 ../tools/virt-make-fs.pl:142
+msgid "EXAMPLE"
+msgstr ""
+
+# type: verbatim
+#: ../tools/virt-make-fs.pl:91
+#, no-wrap
 msgid ""
 msgid ""
-"There are two modes of operation: C<-x> (eXtract) downloads a directory and "
-"its contents (recursively) from the virtual machine into a local tarball.  "
-"C<-u> uploads from a local tarball, unpacking it into a directory inside the "
-"virtual machine.  You cannot use these two options together."
+" virt-make-fs --format=qcow2 --size=+200M input output.img\n"
+"\n"
+msgstr ""
+
+# type: =head2
+#: ../tools/virt-make-fs.pl:93
+msgid "FILESYSTEM TYPE"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-tar.pl:90
+#: ../tools/virt-make-fs.pl:95
 msgid ""
 msgid ""
-"In addition, you may need to use the C<-z> (gZip) option to enable "
-"compression.  When uploading, you have to specify C<-z> if the upload file "
-"is compressed because virt-tar won't detect this on its own."
+"The default filesystem type is C<ext2>.  Just about any filesystem type that "
+"libguestfs supports can be used (but I<not> read-only formats like "
+"ISO9660).  Here are some of the more common choices:"
+msgstr ""
+
+# type: =item
+#: ../tools/virt-make-fs.pl:101
+msgid "I<ext3>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-tar.pl:94
+#: ../tools/virt-make-fs.pl:103
 msgid ""
 msgid ""
-"C<virt-tar> can only handle tar (optionally gzipped) format tarballs.  For "
-"example it cannot do PKZip files or bzip2 compression.  If you want that "
-"then you'll have to rebuild the tarballs yourself.  (This is a limitation of "
-"the L<libguestfs(3)> API)."
+"Note that ext3 filesystems contain a journal, typically 1-32 MB in size.  If "
+"you are not going to use the filesystem in a way that requires the journal, "
+"then this is just wasted overhead."
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-tar.pl:135
-msgid "B<-x> | B<--extract> | B<--download>"
+#: ../tools/virt-make-fs.pl:107
+msgid "I<ntfs> or I<vfat>"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-tar.pl:137
-msgid "B<-u> | B<--upload>"
+# type: textblock
+#: ../tools/virt-make-fs.pl:109
+msgid "Useful if exporting data to a Windows guest."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-tar.pl:139
+#: ../tools/virt-make-fs.pl:111
 msgid ""
 msgid ""
-"Use C<-x> to extract (download) a directory from a virtual machine to a "
-"local tarball."
+"I<Note for vfat>: The tar archive or local directory must only contain files "
+"which are owned by root (ie. UID:GID = 0:0).  The reason is that the tar "
+"program running within libguestfs is unable to change the ownership of "
+"non-root files, since vfat itself does not support this."
+msgstr ""
+
+# type: =item
+#: ../tools/virt-make-fs.pl:116
+msgid "I<minix>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-tar.pl:142
+#: ../tools/virt-make-fs.pl:118
 msgid ""
 msgid ""
-"Use C<-u> to upload and unpack from a local tarball into a virtual machine.  "
-"Please read the L</WARNING> section above before using this option."
+"Lower overhead than C<ext2>, but certain limitations on filename length and "
+"total filesystem size."
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-tar.pl:146
-msgid "You must specify exactly one of these options."
+# type: verbatim
+#: ../tools/virt-make-fs.pl:125
+#, no-wrap
+msgid ""
+" virt-make-fs --type=minix input minixfs.img\n"
+"\n"
 msgstr ""
 
 msgstr ""
 
-# type: =item
-#: ../tools/virt-tar.pl:152
-msgid "B<-z> | B<--gzip>"
+# type: =head2
+#: ../tools/virt-make-fs.pl:127
+msgid "TO PARTITION OR NOT TO PARTITION"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-tar.pl:154
-msgid "Specify that the input or output tarball is gzip-compressed."
+#: ../tools/virt-make-fs.pl:129
+msgid "Optionally virt-make-fs can add a partition table to the output disk."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-tar.pl:259
+#: ../tools/virt-make-fs.pl:131
 msgid ""
 msgid ""
-"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-edit(1)>, "
-"L<Sys::Guestfs(3)>, L<Sys::Guestfs::Lib(3)>, L<Sys::Virt(3)>, "
-"L<http://libguestfs.org/>."
+"Adding a partition can make the disk image more compatible with certain "
+"virtualized operating systems which don't expect to see a filesystem "
+"directly located on a block device (Linux doesn't care and will happily "
+"handle both types)."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:38
+#: ../tools/virt-make-fs.pl:136
 msgid ""
 msgid ""
-"virt-win-reg - Export and merge Windows Registry entries from a Windows "
-"guest"
+"On the other hand, if you have a partition table then the output image is no "
+"longer a straight filesystem.  For example you cannot run L<fsck(8)> "
+"directly on a partitioned disk image.  (However libguestfs tools such as "
+"L<guestfish(1)> and L<virt-resize(1)> can still be used)."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-win-reg.pl:42
-#, no-wrap
-msgid ""
-" virt-win-reg domname 'HKLM\\Path\\To\\Subkey'\n"
-"\n"
+# type: textblock
+#: ../tools/virt-make-fs.pl:144
+msgid "Add an MBR partition:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-win-reg.pl:44
+#: ../tools/virt-make-fs.pl:146
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-win-reg domname 'HKLM\\Path\\To\\Subkey' name\n"
+" virt-make-fs --partition -- input disk.img\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-win-reg.pl:46
-#, no-wrap
+# type: textblock
+#: ../tools/virt-make-fs.pl:148
 msgid ""
 msgid ""
-" virt-win-reg domname 'HKLM\\Path\\To\\Subkey' @\n"
-"\n"
+"If the output disk image could be terabyte-sized or larger, it's better to "
+"use an EFI/GPT-compatible partition table:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-win-reg.pl:48
+#: ../tools/virt-make-fs.pl:151
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" virt-win-reg --merge domname [input.reg ...]\n"
+" virt-make-fs --partition=gpt --size=+4T --format=qcow2 input disk.img\n"
 "\n"
 msgstr ""
 
 "\n"
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-win-reg.pl:50
-#, no-wrap
-msgid ""
-" virt-win-reg [--options] disk.img ... # instead of domname\n"
-"\n"
+# type: textblock
+#: ../tools/virt-make-fs.pl:179
+msgid "Enable debugging information."
+msgstr ""
+
+# type: =item
+#: ../tools/virt-make-fs.pl:185
+msgid "B<--size=E<lt>NE<gt>>"
+msgstr ""
+
+# type: =item
+#: ../tools/virt-make-fs.pl:187
+msgid "B<--size=+E<lt>NE<gt>>"
+msgstr ""
+
+# type: =item
+#: ../tools/virt-make-fs.pl:189
+msgid "B<-s E<lt>NE<gt>>"
+msgstr ""
+
+# type: =item
+#: ../tools/virt-make-fs.pl:191
+msgid "B<-s +E<lt>NE<gt>>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:54
-msgid ""
-"You must I<not> use C<virt-win-reg> with the C<--merge> option on live "
-"virtual machines.  If you do this, you I<will> get irreversible disk "
-"corruption in the VM.  C<virt-win-reg> tries to stop you from doing this, "
-"but doesn't catch all cases."
+#: ../tools/virt-make-fs.pl:193
+msgid "Use the C<--size> (or C<-s>) option to choose the size of the output image."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:59
+#: ../tools/virt-make-fs.pl:196
 msgid ""
 msgid ""
-"Modifying the Windows Registry is an inherently risky operation.  The format "
-"is deliberately obscure and undocumented, and Registry changes can leave the "
-"system unbootable.  Therefore when using the C<--merge> option, make sure "
-"you have a reliable backup first."
+"If this option is I<not> given, then the output image will be just large "
+"enough to contain all the files, with not much wasted space."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:66
+#: ../tools/virt-make-fs.pl:199
 msgid ""
 msgid ""
-"This program can export and merge Windows Registry entries from a Windows "
-"guest."
+"To choose a fixed size output disk, specify an absolute number followed by "
+"b/K/M/G/T/P/E to mean bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, "
+"Petabytes or Exabytes.  This must be large enough to contain all the input "
+"files, else you will get an error."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:69
+#: ../tools/virt-make-fs.pl:204
 msgid ""
 msgid ""
-"The first parameter is the libvirt guest name or the raw disk image of a "
-"Windows guest."
+"To leave extra space, specify C<+> (plus sign) and a number followed by "
+"b/K/M/G/T/P/E to mean bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, "
+"Petabytes or Exabytes.  For example: C<--size=+200M> means enough space for "
+"the input files, and (approximately) an extra 200 MB free space."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:72
+#: ../tools/virt-make-fs.pl:210
 msgid ""
 msgid ""
-"If C<--merge> is I<not> specified, then the chosen registry key is "
-"displayed/exported (recursively).  For example:"
+"Note that virt-make-fs estimates free space, and therefore will not produce "
+"filesystems containing precisely the free space requested.  (It is much more "
+"expensive and time-consuming to produce a filesystem which has precisely the "
+"desired free space)."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-win-reg.pl:75
-#, no-wrap
-msgid ""
-" $ virt-win-reg Windows7 'HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft'\n"
-"\n"
+# type: =item
+#: ../tools/virt-make-fs.pl:219
+msgid "B<--format=E<lt>fmtE<gt>>"
+msgstr ""
+
+# type: =item
+#: ../tools/virt-make-fs.pl:221
+msgid "B<-F E<lt>fmtE<gt>>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:77
-msgid "You can also display single values from within registry keys, for example:"
+#: ../tools/virt-make-fs.pl:223
+msgid "Choose the output disk image format."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-win-reg.pl:80
-#, no-wrap
-msgid ""
-" $ cvkey='HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion'\n"
-" $ virt-win-reg Windows7 $cvkey ProductName\n"
-" Windows 7 Enterprise\n"
-"\n"
+# type: textblock
+#: ../tools/virt-make-fs.pl:225
+msgid "The default is C<raw> (raw disk image)."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:84
+#: ../tools/virt-make-fs.pl:227
 msgid ""
 msgid ""
-"With C<--merge>, you can merge a textual regedit file into the Windows "
-"Registry:"
+"For other choices, see the L<qemu-img(1)> manpage.  The only other choice "
+"that would really make sense here is C<qcow2>."
 msgstr ""
 
 msgstr ""
 
-# type: verbatim
-#: ../tools/virt-win-reg.pl:87
-#, no-wrap
-msgid ""
-" $ virt-win-reg --merge Windows7 changes.reg\n"
-"\n"
+# type: =item
+#: ../tools/virt-make-fs.pl:234
+msgid "B<--type=E<lt>fsE<gt>>"
 msgstr ""
 
 msgstr ""
 
-# type: =head2
-#: ../tools/virt-win-reg.pl:89
-msgid "SUPPORTED SYSTEMS"
+# type: =item
+#: ../tools/virt-make-fs.pl:236
+msgid "B<-t E<lt>fsE<gt>>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:91
-msgid ""
-"The program currently supports Windows NT-derived guests starting with "
-"Windows XP through to at least Windows 7."
+#: ../tools/virt-make-fs.pl:238
+msgid "Choose the output filesystem type."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:94
-msgid ""
-"Registry support is done for C<HKEY_LOCAL_MACHINE\\SAM>, "
-"C<HKEY_LOCAL_MACHINE\\SECURITY>, C<HKEY_LOCAL_MACHINE\\SOFTWARE>, "
-"C<HKEY_LOCAL_MACHINE\\SYSTEM> and C<HKEY_USERS\\.DEFAULT>."
+#: ../tools/virt-make-fs.pl:240
+msgid "The default is C<ext2>."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:98
-msgid ""
-"You can use C<HKLM> as a shorthand for C<HKEY_LOCAL_MACHINE>, and C<HKU> for "
-"C<HKEY_USERS>."
+#: ../tools/virt-make-fs.pl:242
+msgid "Any filesystem which is supported read-write by libguestfs can be used here."
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-win-reg.pl:101
-msgid ""
-"C<HKEY_USERS\\$SID> and C<HKEY_CURRENT_USER> are B<not> supported at this "
-"time."
+# type: =item
+#: ../tools/virt-make-fs.pl:249
+msgid "B<--partition>"
 msgstr ""
 
 msgstr ""
 
-# type: =head2
-#: ../tools/virt-win-reg.pl:104
-msgid "NOTE"
+# type: =item
+#: ../tools/virt-make-fs.pl:251
+msgid "B<--partition=E<lt>parttypeE<gt>>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:106
+#: ../tools/virt-make-fs.pl:253
 msgid ""
 msgid ""
-"This program is only meant for simple access to the registry.  If you want "
-"to do complicated things with the registry, we suggest you download the "
-"Registry hive files from the guest using L<libguestfs(3)> or L<guestfish(1)> "
-"and access them locally, eg. using L<hivex(3)>, L<hivexsh(1)> or "
-"L<hivexregedit(1)>."
-msgstr ""
-
-# type: =head2
-#: ../tools/virt-win-reg.pl:112
-msgid "ENCODING"
+"If specified, this flag adds an MBR partition table to the output disk "
+"image."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:114
+#: ../tools/virt-make-fs.pl:256
 msgid ""
 msgid ""
-"C<virt-win-reg> expects that regedit files have already been reencoded in "
-"the local encoding.  Usually on Linux hosts, this means UTF-8 with "
-"Unix-style line endings.  Since Windows regedit files are often in UTF-16LE "
-"with Windows-style line endings, you may need to reencode the whole file "
-"before or after processing."
+"You can change the partition table type, eg. C<--partition=gpt> for large "
+"disks."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:120
+#: ../tools/virt-make-fs.pl:259
 msgid ""
 msgid ""
-"To reencode a file from Windows format to Linux (before processing it with "
-"the C<--merge> option), you would do something like this:"
+"Note that if you just use a lonesome C<--partition>, the Perl option parser "
+"might consider the next parameter to be the partition type.  For example:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-win-reg.pl:123
+#: ../tools/virt-make-fs.pl:263
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" iconv -f utf-16le -t utf-8 < win.reg | dos2unix > linux.reg\n"
+" virt-make-fs --partition input.tar ...\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:125
+#: ../tools/virt-make-fs.pl:265
 msgid ""
 msgid ""
-"To go in the opposite direction, after exporting and before sending the file "
-"to a Windows user, do something like this:"
+"would cause virt-make-fs to think you wanted to use a partition type of "
+"C<input.tar> which is completely wrong.  To avoid this, use C<--> (a double "
+"dash) between options and the input file argument:"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-win-reg.pl:128
+#: ../tools/virt-make-fs.pl:269
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" unix2dos linux.reg | iconv -f utf-8 -t utf-16le > win.reg\n"
+" virt-make-fs --partition -- input.tar ...\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:130
-msgid "For more information about encoding, see L<Win::Hivex::Regedit(3)>."
-msgstr ""
-
-# type: textblock
-#: ../tools/virt-win-reg.pl:132
+#: ../tools/virt-make-fs.pl:536
 msgid ""
 msgid ""
-"If you are unsure about the current encoding, use the L<file(1)> command.  "
-"Recent versions of Windows regedit.exe produce a UTF-16LE file with "
-"Windows-style (CRLF) line endings, like this:"
+"L<guestfish(1)>, L<virt-resize(1)>, L<virt-tar(1)>, L<mkisofs(1)>, "
+"L<genisoimage(1)>, L<mksquashfs(1)>, L<mke2fs(8)>, L<resize2fs(8)>, "
+"L<guestfs(3)>, L<Sys::Guestfs(3)>, L<http://libguestfs.org/>."
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-win-reg.pl:136
+#: ../tools/virt-make-fs.pl:553
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" $ file software.reg\n"
-" software.reg: Little-endian UTF-16 Unicode text, with very long lines,\n"
-" with CRLF line terminators\n"
+" export LIBGUESTFS_DEBUG=1\n"
+" virt-make-fs --debug [...] > /tmp/virt-make-fs.log 2>&1\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:140
-msgid "This file would need conversion before you could C<--merge> it."
-msgstr ""
-
-# type: =head2
-#: ../tools/virt-win-reg.pl:142
-msgid "SHELL QUOTING"
-msgstr ""
-
-# type: textblock
-#: ../tools/virt-win-reg.pl:144
+#: ../tools/virt-make-fs.pl:556
 msgid ""
 msgid ""
-"Be careful when passing parameters containing C<\\> (backslash) in the "
-"shell.  Usually you will have to use 'single quotes' or double backslashes "
-"(but not both) to protect them from the shell."
-msgstr ""
-
-# type: textblock
-#: ../tools/virt-win-reg.pl:148
-msgid "Paths and value names are case-insensitive."
-msgstr ""
-
-# type: =head2
-#: ../tools/virt-win-reg.pl:150
-msgid "CurrentControlSet etc."
+"Attach /tmp/virt-make-fs.log to a new bug report at "
+"L<https://bugzilla.redhat.com/>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:152
-msgid ""
-"Registry keys like C<CurrentControlSet> don't really exist in the Windows "
-"Registry at the level of the hive file, and therefore you cannot modify "
-"these."
+#: ../tools/virt-list-partitions.pl:32
+msgid "virt-list-partitions - List partitions in a virtual machine or disk image"
 msgstr ""
 
 msgstr ""
 
-# type: textblock
-#: ../tools/virt-win-reg.pl:156
+# type: verbatim
+#: ../tools/virt-list-partitions.pl:36
+#, no-wrap
 msgid ""
 msgid ""
-"C<CurrentControlSet> is usually an alias for C<ControlSet001>.  In some "
-"circumstances it might refer to another control set.  The way to find out is "
-"to look at the C<HKLM\\SYSTEM\\Select> key:"
+" virt-list-partitions [--options] domname\n"
+"\n"
 msgstr ""
 
 # type: verbatim
 msgstr ""
 
 # type: verbatim
-#: ../tools/virt-win-reg.pl:160
+#: ../tools/virt-list-partitions.pl:38
 #, no-wrap
 msgid ""
 #, no-wrap
 msgid ""
-" # virt-win-reg WindowsGuest 'HKLM\\SYSTEM\\Select'\n"
-" [HKEY_LOCAL_MACHINE\\SYSTEM\\Select]\n"
-" \"Current\"=dword:00000001\n"
-" \"Default\"=dword:00000001\n"
-" \"Failed\"=dword:00000000\n"
-" \"LastKnownGood\"=dword:00000002\n"
+" virt-list-partitions [--options] disk.img [disk.img ...]\n"
 "\n"
 msgstr ""
 
 # type: textblock
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:167
-msgid "\"Default\" is the one which Windows will choose when it boots."
+#: ../tools/virt-list-partitions.pl:42
+msgid ""
+"C<virt-list-partitions> is a command line tool to list the partitions that "
+"are contained in a virtual machine or disk image.  It is mainly useful as a "
+"first step to using L<virt-resize(1)>."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:169
-msgid "Similarly, other C<Current...> keys in the path may need to be replaced."
+#: ../tools/virt-list-partitions.pl:47
+msgid ""
+"C<virt-list-partitions> is just a simple wrapper around L<libguestfs(3)> "
+"functionality.  For more complex cases you should look at the "
+"L<guestfish(1)> tool."
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-win-reg.pl:216
-msgid "B<--merge>"
+#: ../tools/virt-list-partitions.pl:104
+msgid "B<-h> | B<--human-readable>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:218
-msgid ""
-"In merge mode, this merges a textual regedit file into the Windows Registry "
-"of the virtual machine.  If this flag is I<not> given then virt-win-reg "
-"displays or exports Registry entries instead."
+#: ../tools/virt-list-partitions.pl:106
+msgid "Show sizes in human-readable form (eg. \"1G\")."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:222
+#: ../tools/virt-list-partitions.pl:114
 msgid ""
 msgid ""
-"Note that C<--merge> is I<unsafe> to use on live virtual machines, and will "
-"result in disk corruption.  However exporting (without this flag)  is always "
-"safe."
+"With this option, C<virt-list-partitions> displays the type and size of each "
+"partition too (where \"type\" means C<ext3>, C<pv> etc.)"
 msgstr ""
 
 # type: =item
 msgstr ""
 
 # type: =item
-#: ../tools/virt-win-reg.pl:230
-msgid "B<--encoding> UTF-16LE|ASCII"
-msgstr ""
-
-# type: textblock
-#: ../tools/virt-win-reg.pl:232
-msgid ""
-"When merging (only), you may need to specify the encoding for strings to be "
-"used in the hive file.  This is explained in detail in "
-"L<Win::Hivex::Regedit(3)/ENCODING STRINGS>."
+#: ../tools/virt-list-partitions.pl:121
+msgid "B<-t> | B<--total>"
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:236
-msgid ""
-"The default is to use UTF-16LE, which should work with recent versions of "
-"Windows."
+#: ../tools/virt-list-partitions.pl:123
+msgid "Display the total size of each block device (as a separate row or rows)."
 msgstr ""
 
 # type: textblock
 msgstr ""
 
 # type: textblock
-#: ../tools/virt-win-reg.pl:463
+#: ../tools/virt-list-partitions.pl:256
 msgid ""
 msgid ""
-"L<hivex(3)>, L<hivexsh(1)>, L<hivexregedit(1)>, L<guestfs(3)>, "
-"L<guestfish(1)>, L<virt-cat(1)>, L<Sys::Guestfs(3)>, "
-"L<Sys::Guestfs::Lib(3)>, L<Win::Hivex(3)>, L<Win::Hivex::Regedit(3)>, "
+"L<guestfs(3)>, L<guestfish(1)>, L<virt-list-filesystems(1)>, "
+"L<virt-resize(1)>, L<Sys::Guestfs(3)>, L<Sys::Guestfs::Lib(3)>, "
 "L<Sys::Virt(3)>, L<http://libguestfs.org/>."
 msgstr ""
 "L<Sys::Virt(3)>, L<http://libguestfs.org/>."
 msgstr ""
-
-# type: verbatim
-#: ../tools/virt-win-reg.pl:481
-#, no-wrap
-msgid ""
-" export LIBGUESTFS_DEBUG=1\n"
-" virt-win-reg --debug [... rest ...] > /tmp/virt-win-reg.log 2>&1\n"
-"\n"
-msgstr ""
-
-# type: textblock
-#: ../tools/virt-win-reg.pl:484
-msgid ""
-"Attach /tmp/virt-win-reg.log to a new bug report at "
-"L<https://bugzilla.redhat.com/>"
-msgstr ""