Version 1.6.2. stable-1.6 1.6.2
authorRichard W.M. Jones <rjones@redhat.com>
Thu, 18 Nov 2010 12:59:23 +0000 (12:59 +0000)
committerRichard W.M. Jones <rjones@redhat.com>
Thu, 18 Nov 2010 12:59:23 +0000 (12:59 +0000)
17 files changed:
BUGS
configure.ac
po-docs/ja.po
po-docs/libguestfs-docs.pot
po/es.po
po/gu.po
po/hi.po
po/kn.po
po/libguestfs.pot
po/ml.po
po/mr.po
po/nl.po
po/or.po
po/pa.po
po/pl.po
po/ta.po
po/te.po

diff --git a/BUGS b/BUGS
index ffdb019..4444f10 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1,5 +1,5 @@
 NOTE: This file is automatically generated from "update-bugs".
-Last updated: 2010-11-05 15:21:17
+Last updated: 2010-11-18 12:58:43
 
 This contains a local list of the bugs that are open against
 libguestfs.  Bugs are tracked in the Red Hat Bugzilla database
@@ -303,45 +303,15 @@ You can help by testing the fixes.
 646822 MODIFIED https://bugzilla.redhat.com/show_bug.cgi?id=646822
   libguestfs trace mode should not print long binary strings
 
+652796 MODIFIED https://bugzilla.redhat.com/show_bug.cgi?id=652796
+  ruby bindings not installed by 'make install', hence omitted from the binary distribution
+
 --------------------------------------------------
 These bugs are in the VERIFIED state.
 
-613562 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=613562
-  virt-v2v | rhel6 v2v doesn't support install the guest driver by rhn
-
-617165 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=617165
-  mount operation failed and hung on some images which running in read-only mode
-
 579664 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=579664
   guestfish doesn't report error when there is not enough space for image allocation
 
-598771 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=598771
-  guestfish 'help' command should indicate error in exit status with an unknown command
-
-598807 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=598807
-  add_cdrom does not work in RHEL 6
-
-600148 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=600148
-  mkfs-b does not support vfat/ntfs
-
-604552 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=604552
-  libguestfs has extra characters after %{?dist}
-
-609990 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=609990
-  guestfish: using -m option in conjunction with --listen option causes appliance to die
-
-615870 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=615870
-  libguestfs-find-requires.sh is not autogenerating dependencies for libguestfs
-
-616438 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=616438
-  libguestfs missing runtime Requires: binutils
-
-616753 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=616753
-  libguestfs will use the wrong augeas lens for /etc/modules.conf
-
-619826 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=619826
-  [RFE] Need a way to determine if a particular block device is a logical volume
-
 636454 VERIFIED https://bugzilla.redhat.com/show_bug.cgi?id=636454
   [RFE] Need a way to determine if a particular block device is a logical volume
 
index e5f1076..b8592ee 100644 (file)
@@ -18,7 +18,7 @@
 # major/minor/release must be numbers
 m4_define([libguestfs_major],   [1])
 m4_define([libguestfs_minor],   [6])
-m4_define([libguestfs_release], [1])
+m4_define([libguestfs_release], [2])
 # extra can be any string
 m4_define([libguestfs_extra],   [])
 
index 5e13ad9..2cc3427 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: libguestfs@redhat.com\n"
-"POT-Creation-Date: 2010-11-05 15:21+0000\n"
+"POT-Creation-Date: 2010-11-18 12:58+0000\n"
 "PO-Revision-Date: 2010-09-02 14:46+0100\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -778,14 +778,16 @@ msgstr ""
 # type: =item
 #: ../src/guestfs.pod:360 ../src/guestfs.pod:365 ../src/guestfs.pod:370
 #: ../src/guestfs.pod:374 ../src/guestfs.pod:379 ../src/guestfs.pod:383
-#: ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:1186
-#: ../src/guestfs.pod:1191 ../src/guestfs.pod:1195 ../src/guestfs.pod:1411
-#: ../src/guestfs.pod:1416 ../src/guestfs.pod:1420 ../src/guestfs.pod:1522
-#: ../src/guestfs.pod:1526 ../src/guestfs.pod:1530 ../src/guestfs.pod:1535
-#: ../src/guestfs.pod:1543 ../src/guestfs.pod:1562 ../src/guestfs.pod:1570
-#: ../src/guestfs.pod:1800 ../src/guestfs.pod:1806 ../src/guestfs.pod:1811
-#: ../src/guestfs.pod:1817 ../src/guestfs.pod:1924 ../src/guestfs.pod:1928
-#: ../src/guestfs.pod:1932 ../src/guestfs.pod:1936
+#: ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:966
+#: ../src/guestfs.pod:970 ../src/guestfs.pod:974 ../src/guestfs.pod:979
+#: ../src/guestfs.pod:987 ../src/guestfs.pod:1006 ../src/guestfs.pod:1014
+#: ../src/guestfs.pod:1036 ../src/guestfs.pod:1040 ../src/guestfs.pod:1044
+#: ../src/guestfs.pod:1048 ../src/guestfs.pod:1052 ../src/guestfs.pod:1056
+#: ../src/guestfs.pod:1481 ../src/guestfs.pod:1486 ../src/guestfs.pod:1490
+#: ../src/guestfs.pod:1600 ../src/guestfs.pod:1605 ../src/guestfs.pod:1609
+#: ../src/guestfs.pod:1953 ../src/guestfs.pod:1959 ../src/guestfs.pod:1964
+#: ../src/guestfs.pod:1970 ../src/guestfs.pod:2077 ../src/guestfs.pod:2081
+#: ../src/guestfs.pod:2085 ../src/guestfs.pod:2089
 #: ../src/guestfs-actions.pod:15 ../src/guestfs-actions.pod:22
 #: ../src/guestfs-actions.pod:461 ../src/guestfs-actions.pod:469
 #: ../src/guestfs-actions.pod:476 ../src/guestfs-actions.pod:483
@@ -797,9 +799,9 @@ msgstr ""
 #: ../src/guestfs-actions.pod:1596 ../src/guestfs-actions.pod:1600
 #: ../src/guestfs-actions.pod:1605 ../src/guestfs-actions.pod:1610
 #: ../src/guestfs-actions.pod:1665 ../src/guestfs-actions.pod:1669
-#: ../src/guestfs-actions.pod:1674 ../fish/guestfish.pod:364
-#: ../fish/guestfish.pod:368 ../fish/guestfish.pod:372
-#: ../fish/guestfish.pod:376 ../fish/guestfish-actions.pod:13
+#: ../src/guestfs-actions.pod:1674 ../fish/guestfish.pod:371
+#: ../fish/guestfish.pod:375 ../fish/guestfish.pod:379
+#: ../fish/guestfish.pod:383 ../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
@@ -879,30 +881,31 @@ msgid ""
 "A secure alternative is to use libguestfs to install a \"firstboot\" script "
 "(a script which runs when the guest next boots normally), and to have this "
 "script run the commands you want in the normal context of the running guest, "
-"network security and so on."
+"network security and so on.  For information about other security issues, "
+"see L</SECURITY>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:411
+#: ../src/guestfs.pod:412
 msgid ""
 "The two main API calls to run commands are L</guestfs_command> and L</"
 "guestfs_sh> (there are also variations)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:414
+#: ../src/guestfs.pod:415
 msgid ""
 "The difference is that L</guestfs_sh> runs commands using the shell, so any "
 "shell globs, redirections, etc will work."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:417
+#: ../src/guestfs.pod:418
 msgid "CONFIGURATION FILES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:419
+#: ../src/guestfs.pod:420
 msgid ""
 "To read and write configuration files in Linux guest filesystems, we "
 "strongly recommend using Augeas.  For example, Augeas understands how to "
@@ -911,7 +914,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:424
+#: ../src/guestfs.pod:425
 msgid ""
 "The main Augeas calls are bound through the C<guestfs_aug_*> APIs.  We don't "
 "document Augeas itself here because there is excellent documentation on the "
@@ -919,7 +922,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:428
+#: ../src/guestfs.pod:429
 msgid ""
 "If you don't want to use Augeas (you fool!) then try calling L</"
 "guestfs_read_lines> to get the file as a list of lines which you can iterate "
@@ -927,29 +930,29 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:432
+#: ../src/guestfs.pod:433
 msgid "SELINUX"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:434
+#: ../src/guestfs.pod:435
 msgid ""
 "We support SELinux guests.  To ensure that labeling happens correctly in "
 "SELinux guests, you need to enable SELinux and load the guest's policy:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:440
+#: ../src/guestfs.pod:441 ../src/guestfs.pod:1151
 msgid "1."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:442
+#: ../src/guestfs.pod:443
 msgid "Before launching, do:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:444
+#: ../src/guestfs.pod:445
 #, no-wrap
 msgid ""
 " guestfs_set_selinux (g, 1);\n"
@@ -957,19 +960,19 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:446
+#: ../src/guestfs.pod:447 ../src/guestfs.pod:1155
 msgid "2."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:448
+#: ../src/guestfs.pod:449
 msgid ""
 "After mounting the guest's filesystem(s), load the policy.  This is best "
 "done by running the L<load_policy(8)> command in the guest itself:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:452
+#: ../src/guestfs.pod:453
 #, no-wrap
 msgid ""
 " guestfs_sh (g, \"/usr/sbin/load_policy\");\n"
@@ -977,26 +980,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:454
+#: ../src/guestfs.pod:455
 msgid ""
 "(Older versions of C<load_policy> require you to specify the name of the "
 "policy file)."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:457
+#: ../src/guestfs.pod:458
 msgid "3."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:459
+#: ../src/guestfs.pod:460
 msgid ""
 "Optionally, set the security context for the API.  The correct security "
 "context to use can only be known by inspecting the guest.  As an example:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:463
+#: ../src/guestfs.pod:464
 #, no-wrap
 msgid ""
 " guestfs_setcon (g, \"unconfined_u:unconfined_r:unconfined_t:s0\");\n"
@@ -1004,24 +1007,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:467
+#: ../src/guestfs.pod:468
 msgid "This will work for running commands and editing existing files."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:469
+#: ../src/guestfs.pod:470
 msgid ""
 "When new files are created, you may need to label them explicitly, for "
 "example by running the external command C<restorecon pathname>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:473
+#: ../src/guestfs.pod:474
 msgid "UMASK"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:475
+#: ../src/guestfs.pod:476
 msgid ""
 "Certain calls are affected by the current file mode creation mask (the "
 "\"umask\").  In particular ones which create files or directories, such as "
@@ -1031,14 +1034,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:481
+#: ../src/guestfs.pod:482
 msgid ""
 "The default umask is C<022>, so files are created with modes such as C<0644> "
 "and directories with C<0755>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:484
+#: ../src/guestfs.pod:485
 msgid ""
 "There are two ways to avoid being affected by umask.  Either set umask to 0 "
 "(call C<guestfs_umask (g, 0)> early after launching).  Or call L</"
@@ -1046,17 +1049,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:488
+#: ../src/guestfs.pod:489
 msgid "For more information about umask, see L<umask(2)>."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:490 ../fish/guestfish.pod:630
+#: ../src/guestfs.pod:491 ../fish/guestfish.pod:664
 msgid "ENCRYPTED DISKS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:492
+#: ../src/guestfs.pod:493
 msgid ""
 "Libguestfs allows you to access Linux guests which have been encrypted using "
 "whole disk encryption that conforms to the Linux Unified Key Setup (LUKS) "
@@ -1065,21 +1068,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:498
+#: ../src/guestfs.pod:499
 msgid ""
 "Use L</guestfs_vfs_type> to identify LUKS-encrypted block devices (it "
 "returns the string C<crypto_LUKS>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:501
+#: ../src/guestfs.pod:502
 msgid ""
 "Then open these devices by calling L</guestfs_luks_open>.  Obviously you "
 "will require the passphrase!"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:504
+#: ../src/guestfs.pod:505
 msgid ""
 "Opening a LUKS device creates a new device mapper device called C</dev/"
 "mapper/mapname> (where C<mapname> is the string you supply to L</"
@@ -1088,7 +1091,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:510
+#: ../src/guestfs.pod:511
 msgid ""
 "LVM volume groups on the device can be made visible by calling L</"
 "guestfs_vgscan> followed by L</guestfs_vg_activate_all>.  The logical volume"
@@ -1096,7 +1099,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:514
+#: ../src/guestfs.pod:515
 msgid ""
 "Use the reverse process to close a LUKS device.  Unmount any logical volumes "
 "on it, deactivate the volume groups by caling C<guestfs_vg_activate (g, 0, "
@@ -1106,12 +1109,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:521
+#: ../src/guestfs.pod:522
 msgid "INSPECTION"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:523
+#: ../src/guestfs.pod:524
 msgid ""
 "Libguestfs has APIs for inspecting an unknown disk image to find out if it "
 "contains operating systems.  (These APIs used to be in a separate Perl-only "
@@ -1121,14 +1124,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:529
+#: ../src/guestfs.pod:530
 msgid ""
 "Add all disks belonging to the unknown virtual machine and call L</"
 "guestfs_launch> in the usual way."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:532
+#: ../src/guestfs.pod:533
 msgid ""
 "Then call L</guestfs_inspect_os>.  This function uses other libguestfs calls "
 "and certain heuristics, and returns a list of operating systems that were "
@@ -1141,7 +1144,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:541
+#: ../src/guestfs.pod:542
 msgid ""
 "For each root, you can then call various C<guestfs_inspect_get_*> functions "
 "to get additional details about that operating system.  For example, call L</"
@@ -1150,7 +1153,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:547
+#: ../src/guestfs.pod:548
 msgid ""
 "Un*x-like and Linux-based operating systems usually consist of several "
 "filesystems which are mounted at boot time (for example, a separate boot "
@@ -1161,7 +1164,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:554
+#: ../src/guestfs.pod:555
 #, no-wrap
 msgid ""
 " /boot => /dev/sda1\n"
@@ -1171,21 +1174,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:558
+#: ../src/guestfs.pod:559
 msgid ""
 "The caller can then make calls to L</guestfs_mount_options> to mount the "
 "filesystems as suggested."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:561
+#: ../src/guestfs.pod:562
 msgid ""
 "Be careful to mount filesystems in the right order (eg. C</> before C</"
 "usr>).  Sorting the keys of the hash by length, shortest first, should work."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:565
+#: ../src/guestfs.pod:566
 msgid ""
 "Inspection currently only works for some common operating systems.  "
 "Contributors are welcome to send patches for other operating systems that we "
@@ -1193,7 +1196,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:569
+#: ../src/guestfs.pod:570
 msgid ""
 "Encrypted disks must be opened before inspection.  See L</ENCRYPTED DISKS> "
 "for more details.  The L</guestfs_inspect_os> function just ignores any "
@@ -1201,7 +1204,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:573
+#: ../src/guestfs.pod:574
 msgid ""
 "A note on the implementation: The call L</guestfs_inspect_os> performs "
 "inspection and caches the results in the guest handle.  Subsequent calls to "
@@ -1211,19 +1214,19 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:580
+#: ../src/guestfs.pod:581
 msgid "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:582
+#: ../src/guestfs.pod:583
 msgid ""
 "Libguestfs can mount NTFS partitions.  It does this using the L<http://www."
 "ntfs-3g.org/> driver."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:585
+#: ../src/guestfs.pod:586
 msgid ""
 "DOS and Windows still use drive letters, and the filesystems are always "
 "treated as case insensitive by Windows itself, and therefore you might find "
@@ -1233,7 +1236,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:591
+#: ../src/guestfs.pod:592
 msgid ""
 "Drive letter mappings are outside the scope of libguestfs.  You have to use "
 "libguestfs to read the appropriate Windows Registry and configuration files, "
@@ -1242,21 +1245,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:596
+#: ../src/guestfs.pod:597
 msgid ""
 "Replacing backslash characters with forward slash characters is also outside "
 "the scope of libguestfs, but something that you can easily do."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:599
+#: ../src/guestfs.pod:600
 msgid ""
 "Where we can help is in resolving the case insensitivity of paths.  For "
 "this, call L</guestfs_case_sensitive_path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:602
+#: ../src/guestfs.pod:603
 msgid ""
 "Libguestfs also provides some help for decoding Windows Registry \"hive\" "
 "files, through the library C<hivex> which is part of the libguestfs project "
@@ -1267,19 +1270,19 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:610
+#: ../src/guestfs.pod:611
 msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:612
+#: ../src/guestfs.pod:613
 msgid ""
 "Although we don't want to discourage you from using the C API, we will "
 "mention here that the same API is also available in other languages."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:615
+#: ../src/guestfs.pod:616
 msgid ""
 "The API is broadly identical in all supported languages.  This means that "
 "the C call C<guestfs_mount(g,path)> is C<$g-E<gt>mount($path)> in Perl, C<g."
@@ -1288,14 +1291,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:621
+#: ../src/guestfs.pod:622
 msgid ""
 "Error messages are automatically transformed into exceptions if the language "
 "supports it."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:624
+#: ../src/guestfs.pod:625
 msgid ""
 "We don't try to \"object orientify\" parts of the API in OO languages, "
 "although contributors are welcome to write higher level APIs above what we "
@@ -1303,36 +1306,36 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:630
+#: ../src/guestfs.pod:631
 msgid "B<C++>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:632
+#: ../src/guestfs.pod:633
 msgid ""
 "You can use the I<guestfs.h> header file from C++ programs.  The C++ API is "
 "identical to the C API.  C++ classes and exceptions are not used."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:636
+#: ../src/guestfs.pod:637
 msgid "B<C#>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:638
+#: ../src/guestfs.pod:639
 msgid ""
 "The C# bindings are highly experimental.  Please read the warnings at the "
 "top of C<csharp/Libguestfs.cs>."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:641
+#: ../src/guestfs.pod:642
 msgid "B<Haskell>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:643
+#: ../src/guestfs.pod:644
 msgid ""
 "This is the only language binding that is working but incomplete.  Only "
 "calls which return simple integers have been bound in Haskell, and we are "
@@ -1340,66 +1343,66 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:647
+#: ../src/guestfs.pod:648
 msgid "B<Java>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:649
+#: ../src/guestfs.pod:650
 msgid ""
 "Full documentation is contained in the Javadoc which is distributed with "
 "libguestfs."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:652
+#: ../src/guestfs.pod:653
 msgid "B<OCaml>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:654
+#: ../src/guestfs.pod:655
 msgid "For documentation see the file C<guestfs.mli>."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:656
+#: ../src/guestfs.pod:657
 msgid "B<Perl>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:658
+#: ../src/guestfs.pod:659
 msgid "For documentation see L<Sys::Guestfs(3)>."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:660
+#: ../src/guestfs.pod:661
 msgid "B<PHP>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:662
+#: ../src/guestfs.pod:663
 msgid ""
 "For documentation see C<README-PHP> supplied with libguestfs sources or in "
 "the php-libguestfs package for your distribution."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:665
+#: ../src/guestfs.pod:666
 msgid "The PHP binding only works correctly on 64 bit machines."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:667
+#: ../src/guestfs.pod:668
 msgid "B<Python>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:669
+#: ../src/guestfs.pod:670
 msgid "For documentation do:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:671
+#: ../src/guestfs.pod:672
 #, no-wrap
 msgid ""
 " $ python\n"
@@ -1409,34 +1412,34 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:675
+#: ../src/guestfs.pod:676
 msgid "B<Ruby>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:677
+#: ../src/guestfs.pod:678
 msgid ""
 "Use the Guestfs module.  There is no Ruby-specific documentation, but you "
 "can find examples written in Ruby in the libguestfs source."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:680
+#: ../src/guestfs.pod:681
 msgid "B<shell scripts>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:682
+#: ../src/guestfs.pod:683
 msgid "For documentation see L<guestfish(1)>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:686
+#: ../src/guestfs.pod:687
 msgid "LIBGUESTFS GOTCHAS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:688
+#: ../src/guestfs.pod:689
 msgid ""
 "L<http://en.wikipedia.org/wiki/Gotcha_(programming)>: \"A feature of a "
 "system [...] that works in the way it is documented but is counterintuitive "
@@ -1444,7 +1447,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:692
+#: ../src/guestfs.pod:693
 msgid ""
 "Since we developed libguestfs and the associated tools, there are several "
 "things we would have designed differently, but are now stuck with for "
@@ -1453,12 +1456,12 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:700
+#: ../src/guestfs.pod:701
 msgid "Autosync / forgetting to sync."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:702
+#: ../src/guestfs.pod:703
 msgid ""
 "When modifying a filesystem from C or another language, you B<must> unmount "
 "all filesystems and call L</guestfs_sync> explicitly before you close the "
@@ -1466,7 +1469,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:706
+#: ../src/guestfs.pod:707
 #, no-wrap
 msgid ""
 " guestfs_set_autosync (g, 1);\n"
@@ -1474,14 +1477,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:708
+#: ../src/guestfs.pod:709
 msgid ""
 "to have the unmount/sync done automatically for you when the handle 'g' is "
 "closed.  (This feature is called \"autosync\", L</guestfs_set_autosync> q.v.)"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:712
+#: ../src/guestfs.pod:713
 msgid ""
 "If you forget to do this, then it is entirely possible that your changes "
 "won't be written out, or will be partially written, or (very rarely) that "
@@ -1489,7 +1492,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:716
+#: ../src/guestfs.pod:717
 msgid ""
 "Note that in L<guestfish(3)> autosync is the default.  So quick and dirty "
 "guestfish scripts that forget to sync will work just fine, which can make "
@@ -1497,19 +1500,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:720
+#: ../src/guestfs.pod:721
 msgid ""
 "Update: Autosync is enabled by default for all API users starting from "
 "libguestfs 1.5.24."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:723
+#: ../src/guestfs.pod:724
 msgid "Mount option C<-o sync> should not be the default."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:725
+#: ../src/guestfs.pod:726
 msgid ""
 "If you use L</guestfs_mount>, then C<-o sync,noatime> are added implicitly.  "
 "However C<-o sync> does not add any reliability benefit, but does have a "
@@ -1517,31 +1520,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:729
+#: ../src/guestfs.pod:730
 msgid ""
 "The work around is to use L</guestfs_mount_options> and set the mount "
 "options that you actually want to use."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:732
+#: ../src/guestfs.pod:733
 msgid "Read-only should be the default."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:734
+#: ../src/guestfs.pod:735
 msgid ""
 "In L<guestfish(3)>, I<--ro> should be the default, and you should have to "
 "specify I<--rw> if you want to make changes to the image."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:737
+#: ../src/guestfs.pod:738
 msgid "This would reduce the potential to corrupt live VM images."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:739
+#: ../src/guestfs.pod:740
 msgid ""
 "Note that many filesystems change the disk when you just mount and unmount, "
 "even if you didn't perform any writes.  You need to use L</"
@@ -1549,12 +1552,12 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:743
+#: ../src/guestfs.pod:744
 msgid "guestfish command line is hard to use."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:745
+#: ../src/guestfs.pod:746
 msgid ""
 "C<guestfish disk.img> doesn't do what people expect (open C<disk.img> for "
 "examination).  It tries to run a guestfish command C<disk.img> which doesn't "
@@ -1564,12 +1567,12 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:752
+#: ../src/guestfs.pod:753
 msgid "guestfish megabyte modifiers don't work right on all commands"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:754
+#: ../src/guestfs.pod:755
 msgid ""
 "In recent guestfish you can use C<1M> to mean 1 megabyte (and similarly for "
 "other modifiers).  What guestfish actually does is to multiply the number "
@@ -1579,12 +1582,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:761
+#: ../src/guestfs.pod:762
 msgid "The most common is L</guestfs_lvcreate>.  The guestfish command:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:763
+#: ../src/guestfs.pod:764
 #, no-wrap
 msgid ""
 " lvcreate LV VG 100M\n"
@@ -1592,7 +1595,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:765
+#: ../src/guestfs.pod:766
 msgid ""
 "does not do what you might expect.  Instead because L</guestfs_lvcreate> is "
 "already expecting megabytes, this tries to create a 100 I<terabyte> (100 "
@@ -1601,19 +1604,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:770
+#: ../src/guestfs.pod:771
 msgid ""
 "This could be fixed in the generator by specially marking parameters and "
 "return values which take bytes or other units."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:773
+#: ../src/guestfs.pod:774
 msgid "Library should return errno with error messages."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:775
+#: ../src/guestfs.pod:776
 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 "
@@ -1622,19 +1625,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:781
+#: ../src/guestfs.pod:782
 msgid ""
 "In libguestfs 1.5.4, the protocol was changed so that the Linux errno is "
 "sent back from the daemon."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:784
+#: ../src/guestfs.pod:785
 msgid "Ambiguity between devices and paths"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:786
+#: ../src/guestfs.pod:787
 msgid ""
 "There is a subtle ambiguity in the API between a device name (eg. C</dev/"
 "sdb2>) and a similar pathname.  A file might just happen to be called "
@@ -1642,7 +1645,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:791
+#: ../src/guestfs.pod:792
 msgid ""
 "In the current API we usually resolve this ambiguity by having two separate "
 "calls, for example L</guestfs_checksum> and L</guestfs_checksum_device>.  "
@@ -1651,7 +1654,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:797
+#: ../src/guestfs.pod:798
 msgid ""
 "To avoid both the ambiguity and the need to duplicate some calls, we could "
 "make paths/devices into structured names.  One way to do this would be to "
@@ -1661,7 +1664,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:803
+#: ../src/guestfs.pod:804
 #, no-wrap
 msgid ""
 " type path = Path of string | Device of int | Partition of int * int\n"
@@ -1669,12 +1672,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:805
+#: ../src/guestfs.pod:806
 msgid "which would allow you to pass arguments like:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:807
+#: ../src/guestfs.pod:808
 #, no-wrap
 msgid ""
 " Path \"/foo/bar\"\n"
@@ -1685,19 +1688,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:812
+#: ../src/guestfs.pod:813
 msgid ""
 "As you can see there are still problems to resolve even with this "
 "representation.  Also consider how it might work in guestfish."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:817
+#: ../src/guestfs.pod:818
 msgid "PROTOCOL LIMITS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:819
+#: ../src/guestfs.pod:820
 msgid ""
 "Internally libguestfs uses a message-based protocol to pass API calls and "
 "their responses to and from a small \"appliance\" (see L</INTERNALS> for "
@@ -1708,7 +1711,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:827
+#: ../src/guestfs.pod:828
 msgid ""
 "A simple call such as L</guestfs_cat> returns its result (the file data) in "
 "a simple string.  Because this string is at some point internally encoded as "
@@ -1717,7 +1720,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:833
+#: ../src/guestfs.pod:834
 msgid ""
 "In order to transfer large files into and out of the guest filesystem, you "
 "need to use particular calls that support this.  The sections L</UPLOADING> "
@@ -1725,26 +1728,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:837
+#: ../src/guestfs.pod:838
 msgid ""
 "You might also consider mounting the disk image using our FUSE filesystem "
 "support (L<guestmount(1)>)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:840
+#: ../src/guestfs.pod:841
 msgid "KEYS AND PASSPHRASES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:842
+#: ../src/guestfs.pod:843
 msgid ""
 "Certain libguestfs calls take a parameter that contains sensitive key "
 "material, passed in as a C string."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:845
+#: ../src/guestfs.pod:846
 msgid ""
 "In the future we would hope to change the libguestfs implementation so that "
 "keys are L<mlock(2)>-ed into physical RAM, and thus can never end up in "
@@ -1753,7 +1756,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:850
+#: ../src/guestfs.pod:851
 msgid ""
 "Therefore you should be aware that any key parameter you pass to libguestfs "
 "might end up being written out to the swap partition.  If this is a concern, "
@@ -1761,17 +1764,548 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:855
+#: ../src/guestfs.pod:856
+msgid "MULTIPLE HANDLES AND MULTIPLE THREADS"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:858
+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:861
+msgid ""
+"Only use the handle from a single thread.  Either use the handle exclusively "
+"from one thread, or provide your own mutex so that two threads cannot issue "
+"calls on the same handle at the same time."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:865
+msgid ""
+"See the graphical program guestfs-browser for one possible architecture for "
+"multithreaded programs using libvirt and libguestfs."
+msgstr ""
+
+# type: =head1
+#: ../src/guestfs.pod:868
+msgid "PATH"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:870
+msgid ""
+"Libguestfs needs a kernel and initrd.img, which it finds by looking along an "
+"internal path."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:873
+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:876
+msgid ""
+"Use L</guestfs_set_path> or set the environment variable L</LIBGUESTFS_PATH> "
+"to change the directories that libguestfs will search in.  The value is a "
+"colon-separated list of paths.  The current directory is I<not> searched "
+"unless the path contains an empty element or C<.>.  For example "
+"C<LIBGUESTFS_PATH=:/usr/lib/guestfs> would search the current directory and "
+"then C</usr/lib/guestfs>."
+msgstr ""
+
+# type: =head1
+#: ../src/guestfs.pod:883
+msgid "QEMU WRAPPERS"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:885
+msgid ""
+"If you want to compile your own qemu, run qemu from a non-standard location, "
+"or pass extra arguments to qemu, then you can write a shell-script wrapper "
+"around qemu."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:889
+msgid ""
+"There is one important rule to remember: you I<must C<exec qemu>> as the "
+"last command in the shell script (so that qemu replaces the shell and "
+"becomes the direct child of the libguestfs-using program).  If you don't do "
+"this, then the qemu process won't be cleaned up correctly."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:894
+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:897
+#, no-wrap
+msgid ""
+" #!/bin/sh -\n"
+" qemudir=/home/rjones/d/qemu\n"
+" exec $qemudir/x86_64-softmmu/qemu-system-x86_64 -L $qemudir/pc-bios \"$@\"\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:901
+msgid ""
+"Save this script as C</tmp/qemu.wrapper> (or wherever), C<chmod +x>, and "
+"then use it by setting the LIBGUESTFS_QEMU environment variable.  For "
+"example:"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs.pod:905
+#, no-wrap
+msgid ""
+" LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:907
+msgid ""
+"Note that libguestfs also calls qemu with the -help and -version options in "
+"order to determine features."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:910
+msgid "ABI GUARANTEE"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:912
+msgid ""
+"We guarantee the libguestfs ABI (binary interface), for public, high-level "
+"actions as outlined in this section.  Although we will deprecate some "
+"actions, for example if they get replaced by newer calls, we will keep the "
+"old actions forever.  This allows you the developer to program in confidence "
+"against the libguestfs API."
+msgstr ""
+
+# type: =head1
+#: ../src/guestfs.pod:918
+msgid "BLOCK DEVICE NAMING"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:920
+msgid ""
+"In the kernel there is now quite a profusion of schemata for naming block "
+"devices (in this context, by I<block device> I mean a physical or virtual "
+"hard drive).  The original Linux IDE driver used names starting with C</dev/"
+"hd*>.  SCSI devices have historically used a different naming scheme, C</dev/"
+"sd*>.  When the Linux kernel I<libata> driver became a popular replacement "
+"for the old IDE driver (particularly for SATA devices) those devices also "
+"used the C</dev/sd*> scheme.  Additionally we now have virtual machines with "
+"paravirtualized drivers.  This has created several different naming systems, "
+"such as C</dev/vd*> for virtio disks and C</dev/xvd*> for Xen PV disks."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:932
+msgid ""
+"As discussed above, libguestfs uses a qemu appliance running an embedded "
+"Linux kernel to access block devices.  We can run a variety of appliances "
+"based on a variety of Linux kernels."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:936
+msgid ""
+"This causes a problem for libguestfs because many API calls use device or "
+"partition names.  Working scripts and the recipe (example) scripts that we "
+"make available over the internet could fail if the naming scheme changes."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:941
+msgid ""
+"Therefore libguestfs defines C</dev/sd*> as the I<standard naming scheme>.  "
+"Internally C</dev/sd*> names are translated, if necessary, to other names as "
+"required.  For example, under RHEL 5 which uses the C</dev/hd*> scheme, any "
+"device parameter C</dev/sda2> is translated to C</dev/hda2> transparently."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:947
+msgid ""
+"Note that this I<only> applies to parameters.  The L</guestfs_list_devices>, "
+"L</guestfs_list_partitions> and similar calls return the true names of the "
+"devices and partitions as known to the appliance."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:952
+msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:954
+msgid ""
+"Usually this translation is transparent.  However in some (very rare)  cases "
+"you may need to know the exact algorithm.  Such cases include where you use "
+"L</guestfs_config> to add a mixture of virtio and IDE devices to the qemu-"
+"based appliance, so have a mixture of C</dev/sd*> and C</dev/vd*> devices."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:960
+msgid ""
+"The algorithm is applied only to I<parameters> which are known to be either "
+"device or partition names.  Return values from functions such as L</"
+"guestfs_list_devices> are never changed."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:968
+msgid "Is the string a parameter which is a device or partition name?"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:972
+msgid "Does the string begin with C</dev/sd>?"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:976
+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:981
+msgid "Replace initial C</dev/sd> string with C</dev/hd>."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:983
+msgid "For example, change C</dev/sda2> to C</dev/hda2>."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:985
+msgid "If that named device exists, use it.  If not, continue."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:989
+msgid "Replace initial C</dev/sd> string with C</dev/vd>."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:991
+msgid "If that named device exists, use it.  If not, return an error."
+msgstr ""
+
+# type: =head3
+#: ../src/guestfs.pod:995
+msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:997
+msgid ""
+"Although the standard naming scheme and automatic translation is useful for "
+"simple programs and guestfish scripts, for larger programs it is best not to "
+"rely on this mechanism."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1001
+msgid ""
+"Where possible for maximum future portability programs using libguestfs "
+"should use these future-proof techniques:"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1008
+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:1011
+msgid ""
+"Since those device names exist by definition, they will never be translated."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1016
+msgid ""
+"Use higher level ways to identify filesystems, such as LVM names, UUIDs and "
+"filesystem labels."
+msgstr ""
+
+# type: =head1
+#: ../src/guestfs.pod:1021
+msgid "SECURITY"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1023
+msgid ""
+"This section discusses security implications of using libguestfs, "
+"particularly with untrusted or malicious guests or disk images."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1026
+msgid "GENERAL SECURITY CONSIDERATIONS"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1028
+msgid ""
+"Be careful with any files or data that you download from a guest (by "
+"\"download\" we mean not just the L</guestfs_download> command but any "
+"command that reads files, filenames, directories or anything else from a "
+"disk image).  An attacker could manipulate the data to fool your program "
+"into doing the wrong thing.  Consider cases such as:"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1038
+msgid "the data (file etc) not being present"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1042
+msgid "being present but empty"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1046
+msgid "being much larger than normal"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1050
+msgid "containing arbitrary 8 bit data"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1054
+msgid "being in an unexpected character encoding"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1058
+msgid "containing homoglyphs."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1062
+msgid "SECURITY OF MOUNTING FILESYSTEMS"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1064
+msgid ""
+"When you mount a filesystem under Linux, mistakes in the kernel filesystem "
+"(VFS) module can sometimes be escalated into exploits by deliberately "
+"creating a malicious, malformed filesystem.  These exploits are very severe "
+"for two reasons.  Firstly there are very many filesystem drivers in the "
+"kernel, and many of them are infrequently used and not much developer "
+"attention has been paid to the code.  Linux userspace helps potential "
+"crackers by detecting the filesystem type and automatically choosing the "
+"right VFS driver, even if that filesystem type is obscure or unexpected for "
+"the administrator.  Secondly, a kernel-level exploit is like a local root "
+"exploit (worse in some ways), giving immediate and total access to the "
+"system right down to the hardware level."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1077
+msgid ""
+"That explains why you should never mount a filesystem from an untrusted "
+"guest on your host kernel.  How about libguestfs? We run a Linux kernel "
+"inside a qemu virtual machine, usually running as a non-root user.  The "
+"attacker would need to write a filesystem which first exploited the kernel, "
+"and then exploited either qemu virtualization (eg. a faulty qemu driver) or "
+"the libguestfs protocol, and finally to be as serious as the host kernel "
+"exploit it would need to escalate its privileges to root.  This multi-step "
+"escalation, performed by a static piece of data, is thought to be extremely "
+"hard to do, although we never say 'never' about security issues."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1088
+msgid ""
+"In any case callers can reduce the attack surface by forcing the filesystem "
+"type when mounting (use L</guestfs_mount_vfs>)."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1091
+msgid "PROTOCOL SECURITY"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1093
+msgid ""
+"The protocol is designed to be secure, being based on RFC 4506 (XDR)  with a "
+"defined upper message size.  However a program that uses libguestfs must "
+"also take care - for example you can write a program that downloads a binary "
+"from a disk image and executes it locally, and no amount of protocol "
+"security will save you from the consequences."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1099
+msgid "INSPECTION SECURITY"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1101
+msgid ""
+"Parts of the inspection API (see L</INSPECTION>) return untrusted strings "
+"directly from the guest, and these could contain any 8 bit data.  Callers "
+"should be careful to escape these before printing them to a structured file "
+"(for example, use HTML escaping if creating a web page)."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1107
+msgid ""
+"The inspection API parses guest configuration using two external libraries: "
+"Augeas (Linux configuration) and hivex (Windows Registry).  Both are "
+"designed to be robust in the face of malicious data, although denial of "
+"service attacks are still possible, for example with oversized configuration "
+"files."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1113
+msgid "RUNNING UNTRUSTED GUEST COMMANDS"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1115
+msgid ""
+"Be very cautious about running commands from the guest.  By running a "
+"command in the guest, you are giving CPU time to a binary that you do not "
+"control, under the same user account as the library, albeit wrapped in qemu "
+"virtualization.  More information and alternatives can be found in the "
+"section L</RUNNING COMMANDS>."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1121
+msgid "CVE-2010-3851"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1123
+msgid "https://bugzilla.redhat.com/642934"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1125
+msgid ""
+"This security bug concerns the automatic disk format detection that qemu "
+"does on disk images."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1128
+msgid ""
+"A raw disk image is just the raw bytes, there is no header.  Other disk "
+"images like qcow2 contain a special header.  Qemu deals with this by looking "
+"for one of the known headers, and if none is found then assuming the disk "
+"image must be raw."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1133
+msgid ""
+"This allows a guest which has been given a raw disk image to write some "
+"other header.  At next boot (or when the disk image is accessed by "
+"libguestfs) qemu would do autodetection and think the disk image format was, "
+"say, qcow2 based on the header written by the guest."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1138
+msgid ""
+"This in itself would not be a problem, but qcow2 offers many features, one "
+"of which is to allow a disk image to refer to another image (called the "
+"\"backing disk\").  It does this by placing the path to the backing disk "
+"into the qcow2 header.  This path is not validated and could point to any "
+"host file (eg. \"/etc/passwd\").  The backing disk is then exposed through "
+"\"holes\" in the qcow2 disk image, which of course is completely under the "
+"control of the attacker."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1146
+msgid ""
+"In libguestfs this is rather hard to exploit except under two circumstances:"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1153
+msgid "You have enabled the network or have opened the disk in write mode."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1157
+msgid ""
+"You are also running untrusted code from the guest (see L</RUNNING "
+"COMMANDS>)."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1162
+msgid ""
+"The way to avoid this is to specify the expected disk format when adding "
+"disks (the optional C<format> option to L</guestfs_add_drive_opts>).  You "
+"should always do this if the disk is raw format, and it's a good idea for "
+"other cases too."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1167
+msgid ""
+"For disks added from libvirt using calls like L</guestfs_add_domain>, the "
+"format is fetched from libvirt and passed through."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1170
+msgid ""
+"For libguestfs tools, use the I<--format> command line parameter as "
+"appropriate."
+msgstr ""
+
+# type: =head1
+#: ../src/guestfs.pod:1173
 msgid "CONNECTION MANAGEMENT"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:857
+#: ../src/guestfs.pod:1175
 msgid "guestfs_h *"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:859
+#: ../src/guestfs.pod:1177
 msgid ""
 "C<guestfs_h> is the opaque type representing a connection handle.  Create a "
 "handle by calling L</guestfs_create>.  Call L</guestfs_close> to free the "
@@ -1779,19 +2313,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:863
+#: ../src/guestfs.pod:1181
 msgid ""
 "For information on using multiple handles and threads, see the section L</"
 "MULTIPLE HANDLES AND MULTIPLE THREADS> below."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:866
+#: ../src/guestfs.pod:1184
 msgid "guestfs_create"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:868
+#: ../src/guestfs.pod:1186
 #, no-wrap
 msgid ""
 " guestfs_h *guestfs_create (void);\n"
@@ -1799,43 +2333,43 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:870
+#: ../src/guestfs.pod:1188
 msgid "Create a connection handle."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:872
+#: ../src/guestfs.pod:1190
 msgid ""
 "You have to call L</guestfs_add_drive_opts> (or one of the equivalent calls) "
 "on the handle at least once."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:875
+#: ../src/guestfs.pod:1193
 msgid ""
 "This function returns a non-NULL pointer to a handle on success or NULL on "
 "error."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:878
+#: ../src/guestfs.pod:1196
 msgid "After configuring the handle, you have to call L</guestfs_launch>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:880
+#: ../src/guestfs.pod:1198
 msgid ""
 "You may also want to configure error handling for the handle.  See L</ERROR "
 "HANDLING> section below."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:883
+#: ../src/guestfs.pod:1201
 msgid "guestfs_close"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:885
+#: ../src/guestfs.pod:1203
 #, no-wrap
 msgid ""
 " void guestfs_close (guestfs_h *g);\n"
@@ -1843,17 +2377,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:887
+#: ../src/guestfs.pod:1205
 msgid "This closes the connection handle and frees up all resources used."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:889
+#: ../src/guestfs.pod:1207
 msgid "ERROR HANDLING"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:891
+#: ../src/guestfs.pod:1209
 msgid ""
 "API functions can return errors.  For example, almost all functions that "
 "return C<int> will return C<-1> to indicate an error.  You can get "
@@ -1862,7 +2396,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:897
+#: ../src/guestfs.pod:1215
 msgid ""
 "When the handle is created, a default error handler is installed which "
 "prints the error message string to C<stderr>.  For small short-running "
@@ -1870,7 +2404,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:901
+#: ../src/guestfs.pod:1219
 #, no-wrap
 msgid ""
 " if (guestfs_launch (g) == -1)\n"
@@ -1879,21 +2413,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:904
+#: ../src/guestfs.pod:1222
 msgid ""
 "since the default error handler will ensure that an error message has been "
 "printed to C<stderr> before the program exits."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:907
+#: ../src/guestfs.pod:1225
 msgid ""
 "For other programs the caller will almost certainly want to install an "
 "alternate error handler or do error handling in-line like this:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:910
+#: ../src/guestfs.pod:1228
 #, no-wrap
 msgid ""
 " g = guestfs_create ();\n"
@@ -1901,7 +2435,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:912
+#: ../src/guestfs.pod:1230
 #, no-wrap
 msgid ""
 " /* This disables the default behaviour of printing errors\n"
@@ -1911,7 +2445,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:916
+#: ../src/guestfs.pod:1234
 #, no-wrap
 msgid ""
 " if (guestfs_launch (g) == -1) {\n"
@@ -1924,7 +2458,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:923
+#: ../src/guestfs.pod:1241
 msgid ""
 "Out of memory errors are handled differently.  The default action is to call "
 "L<abort(3)>.  If this is undesirable, then you can set a handler using L</"
@@ -1932,7 +2466,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:927
+#: ../src/guestfs.pod:1245
 msgid ""
 "L</guestfs_create> returns C<NULL> if the handle cannot be created, and "
 "because there is no handle if this happens there is no way to get additional "
@@ -1942,12 +2476,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:933
+#: ../src/guestfs.pod:1251
 msgid "guestfs_last_error"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:935
+#: ../src/guestfs.pod:1253
 #, no-wrap
 msgid ""
 " const char *guestfs_last_error (guestfs_h *g);\n"
@@ -1955,26 +2489,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:937
+#: ../src/guestfs.pod:1255
 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:941
+#: ../src/guestfs.pod:1259
 msgid ""
 "The lifetime of the returned string is until the next error occurs, or L</"
 "guestfs_close> is called."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:944
+#: ../src/guestfs.pod:1262
 msgid "guestfs_set_error_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:946
+#: ../src/guestfs.pod:1264
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n"
@@ -1987,7 +2521,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:953
+#: ../src/guestfs.pod:1271
 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 "
@@ -1995,7 +2529,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:957
+#: ../src/guestfs.pod:1275
 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 "
@@ -2003,22 +2537,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:961
+#: ../src/guestfs.pod:1279
 msgid "The default handler prints messages on C<stderr>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:963
+#: ../src/guestfs.pod:1281
 msgid "If you set C<cb> to C<NULL> then I<no> handler is called."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:965
+#: ../src/guestfs.pod:1283
 msgid "guestfs_get_error_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:967
+#: ../src/guestfs.pod:1285
 #, no-wrap
 msgid ""
 " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n"
@@ -2027,17 +2561,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:970
+#: ../src/guestfs.pod:1288
 msgid "Returns the current error handler callback."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:972
+#: ../src/guestfs.pod:1290
 msgid "guestfs_set_out_of_memory_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:974
+#: ../src/guestfs.pod:1292
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_abort_cb) (void);\n"
@@ -2047,30 +2581,30 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:978
+#: ../src/guestfs.pod:1296
 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:981
+#: ../src/guestfs.pod:1299
 msgid "The default is to call L<abort(3)>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:983
+#: ../src/guestfs.pod:1301
 msgid ""
 "You cannot set C<cb> to C<NULL>.  You can't ignore out of memory situations."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:986
+#: ../src/guestfs.pod:1304
 msgid "guestfs_get_out_of_memory_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:988
+#: ../src/guestfs.pod:1306
 #, no-wrap
 msgid ""
 " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n"
@@ -2078,87 +2612,42 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:990
+#: ../src/guestfs.pod:1308
 msgid "This returns the current out of memory handler."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:992
-msgid "PATH"
+#: ../src/guestfs.pod:1310
+msgid "API CALLS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:994
-msgid ""
-"Libguestfs needs a kernel and initrd.img, which it finds by looking along an "
-"internal path."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:997
-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:1000
-msgid ""
-"Use L</guestfs_set_path> or set the environment variable L</LIBGUESTFS_PATH> "
-"to change the directories that libguestfs will search in.  The value is a "
-"colon-separated list of paths.  The current directory is I<not> searched "
-"unless the path contains an empty element or C<.>.  For example "
-"C<LIBGUESTFS_PATH=:/usr/lib/guestfs> would search the current directory and "
-"then C</usr/lib/guestfs>."
-msgstr ""
-
-# type: =head1
-#: ../src/guestfs.pod:1007
-msgid "HIGH-LEVEL API ACTIONS"
-msgstr ""
-
-# type: =head2
-#: ../src/guestfs.pod:1009
-msgid "ABI GUARANTEE"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1011
-msgid ""
-"We guarantee the libguestfs ABI (binary interface), for public, high-level "
-"actions as outlined in this section.  Although we will deprecate some "
-"actions, for example if they get replaced by newer calls, we will keep the "
-"old actions forever.  This allows you the developer to program in confidence "
-"against the libguestfs API."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1017 ../fish/guestfish.pod:860
+#: ../src/guestfs.pod:1312 ../fish/guestfish.pod:894
 msgid "@ACTIONS@"
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1019
+#: ../src/guestfs.pod:1314
 msgid "STRUCTURES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1021
+#: ../src/guestfs.pod:1316
 msgid "@STRUCTS@"
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1023
+#: ../src/guestfs.pod:1318
 msgid "AVAILABILITY"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1025
+#: ../src/guestfs.pod:1320
 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1027
+#: ../src/guestfs.pod:1322
 msgid ""
 "Using L</guestfs_available> you can test availability of the following "
 "groups of functions.  This test queries the appliance to see if the "
@@ -2166,17 +2655,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1032
+#: ../src/guestfs.pod:1327
 msgid "@AVAILABILITY@"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1034
+#: ../src/guestfs.pod:1329
 msgid "GUESTFISH supported COMMAND"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1036
+#: ../src/guestfs.pod:1331
 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 "
@@ -2184,19 +2673,19 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1041
+#: ../src/guestfs.pod:1336
 msgid "SINGLE CALLS AT COMPILE TIME"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1043
+#: ../src/guestfs.pod:1338
 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:1046
+#: ../src/guestfs.pod:1341
 #, no-wrap
 msgid ""
 " #define LIBGUESTFS_HAVE_DD 1\n"
@@ -2204,12 +2693,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1048
+#: ../src/guestfs.pod:1343
 msgid "if L</guestfs_dd> is available."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1050
+#: ../src/guestfs.pod:1345
 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 "
@@ -2217,7 +2706,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1055
+#: ../src/guestfs.pod:1350
 #, no-wrap
 msgid ""
 " AC_CHECK_LIB([guestfs],[guestfs_create])\n"
@@ -2226,19 +2715,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1058
+#: ../src/guestfs.pod:1353
 msgid ""
 "which would result in C<HAVE_GUESTFS_DD> being either defined or not defined "
 "in your program."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1061
+#: ../src/guestfs.pod:1356
 msgid "SINGLE CALLS AT RUN TIME"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1063
+#: ../src/guestfs.pod:1358
 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 "
@@ -2248,7 +2737,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1070
+#: ../src/guestfs.pod:1365
 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 "
@@ -2256,7 +2745,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1074
+#: ../src/guestfs.pod:1369
 #, no-wrap
 msgid ""
 " #include <stdio.h>\n"
@@ -2268,7 +2757,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1080
+#: ../src/guestfs.pod:1375
 #, no-wrap
 msgid ""
 " main ()\n"
@@ -2280,7 +2769,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1086
+#: ../src/guestfs.pod:1381
 #, no-wrap
 msgid ""
 "   /* Test if the function guestfs_dd is really available. */\n"
@@ -2295,7 +2784,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1095
+#: ../src/guestfs.pod:1390
 #, no-wrap
 msgid ""
 "   if (!has_function)\n"
@@ -2314,7 +2803,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1108
+#: ../src/guestfs.pod:1403
 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 "
@@ -2322,7 +2811,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1113
+#: ../src/guestfs.pod:1408
 #, no-wrap
 msgid ""
 " Requires: libguestfs >= 1.0.80\n"
@@ -2330,12 +2819,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1115
+#: ../src/guestfs.pod:1410
 msgid "CALLS WITH OPTIONAL ARGUMENTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1117
+#: ../src/guestfs.pod:1412
 msgid ""
 "A recent feature of the API is the introduction of calls which take optional "
 "arguments.  In C these are declared 3 ways.  The main way is as a call which "
@@ -2343,7 +2832,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1122
+#: ../src/guestfs.pod:1417
 #, no-wrap
 msgid ""
 " int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n"
@@ -2351,14 +2840,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1124
+#: ../src/guestfs.pod:1419
 msgid ""
 "Call this with a list of optional arguments, terminated by C<-1>.  So to "
 "call with no optional arguments specified:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1127
+#: ../src/guestfs.pod:1422
 #, no-wrap
 msgid ""
 " guestfs_add_drive_opts (g, filename, -1);\n"
@@ -2366,12 +2855,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1129
+#: ../src/guestfs.pod:1424
 msgid "With a single optional argument:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1131
+#: ../src/guestfs.pod:1426
 #, no-wrap
 msgid ""
 " guestfs_add_drive_opts (g, filename,\n"
@@ -2381,12 +2870,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1135
+#: ../src/guestfs.pod:1430
 msgid "With two:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1137
+#: ../src/guestfs.pod:1432
 #, no-wrap
 msgid ""
 " guestfs_add_drive_opts (g, filename,\n"
@@ -2397,19 +2886,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1142
+#: ../src/guestfs.pod:1437
 msgid ""
 "and so forth.  Don't forget the terminating C<-1> otherwise Bad Things will "
 "happen!"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1145
+#: ../src/guestfs.pod:1440
 msgid "USING va_list FOR OPTIONAL ARGUMENTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1147
+#: ../src/guestfs.pod:1442
 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 "
@@ -2417,7 +2906,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1151
+#: ../src/guestfs.pod:1446
 #, no-wrap
 msgid ""
 " int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n"
@@ -2426,12 +2915,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1154
+#: ../src/guestfs.pod:1449
 msgid "CONSTRUCTING OPTIONAL ARGUMENTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1156
+#: ../src/guestfs.pod:1451
 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 "
@@ -2441,7 +2930,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1162
+#: ../src/guestfs.pod:1457
 #, no-wrap
 msgid ""
 " struct guestfs_add_drive_opts_argv {\n"
@@ -2456,12 +2945,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1171
+#: ../src/guestfs.pod:1466
 msgid "You could call it like this:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1173
+#: ../src/guestfs.pod:1468
 #, no-wrap
 msgid ""
 " struct guestfs_add_drive_opts_argv optargs = {\n"
@@ -2474,7 +2963,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1180
+#: ../src/guestfs.pod:1475
 #, no-wrap
 msgid ""
 " guestfs_add_drive_opts_argv (g, filename, &optargs);\n"
@@ -2482,36 +2971,36 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1182 ../src/guestfs-actions.pod:11
+#: ../src/guestfs.pod:1477 ../src/guestfs-actions.pod:11
 #: ../src/guestfs-actions.pod:1661 ../fish/guestfish-actions.pod:9
 #: ../fish/guestfish-actions.pod:1244
 msgid "Notes:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1188
+#: ../src/guestfs.pod:1483
 msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1193
+#: ../src/guestfs.pod:1488
 msgid "You do not need to fill in all fields of the structure."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1197
+#: ../src/guestfs.pod:1492
 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:1202
+#: ../src/guestfs.pod:1497
 msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1204
+#: ../src/guestfs.pod:1499
 msgid ""
 "In other languages, optional arguments are expressed in the way that is "
 "natural for that language.  We refer you to the language-specific "
@@ -2519,201 +3008,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1208
+#: ../src/guestfs.pod:1503
 msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>."
 msgstr ""
 
-# type: =end
-#: ../src/guestfs.pod:1210 ../src/guestfs.pod:1215
-msgid "html"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1212
-msgid ""
-"<!-- old anchor for the next section --> <a name="
-"\"state_machine_and_low_level_event_api\"/>"
-msgstr ""
-
-# type: =head1
-#: ../src/guestfs.pod:1217
-msgid "ARCHITECTURE"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1219
-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:1223
-#, 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:1243
-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:1246
-msgid ""
-"Inside the appliance is a Linux kernel and a complete stack of userspace "
-"tools (such as LVM and ext2 programs) and a small controlling daemon called "
-"L</guestfsd>.  The library talks to L</guestfsd> using remote procedure "
-"calls (RPC).  There is a mostly one-to-one correspondence between libguestfs "
-"API calls and RPC calls to the daemon.  Lastly the disk image(s) are "
-"attached to the qemu process which translates device access by the "
-"appliance's Linux kernel into accesses to the image."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1255
-msgid ""
-"A common misunderstanding is that the appliance \"is\" the virtual machine.  "
-"Although the disk image you are attached to might also be used by some "
-"virtual machine, libguestfs doesn't know or care about this.  (But you will "
-"care if both libguestfs's qemu process and your virtual machine are trying "
-"to update the disk image at the same time, since these usually results in "
-"massive disk corruption)."
-msgstr ""
-
-# type: =head1
-#: ../src/guestfs.pod:1262
-msgid "STATE MACHINE"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1264
-msgid "libguestfs uses a state machine to model the child process:"
-msgstr ""
-
-# type: verbatim
-#: ../src/guestfs.pod:1266
-#, no-wrap
-msgid ""
-"                         |\n"
-"                    guestfs_create\n"
-"                         |\n"
-"                         |\n"
-"                     ____V_____\n"
-"                    /          \\\n"
-"                    |  CONFIG  |\n"
-"                    \\__________/\n"
-"                     ^ ^   ^  \\\n"
-"                    /  |    \\  \\ guestfs_launch\n"
-"                   /   |    _\\__V______\n"
-"                  /    |   /           \\\n"
-"                 /     |   | LAUNCHING |\n"
-"                /      |   \\___________/\n"
-"               /       |       /\n"
-"              /        |  guestfs_launch\n"
-"             /         |     /\n"
-"    ______  /        __|____V\n"
-"   /      \\ ------> /        \\\n"
-"   | BUSY |         | READY  |\n"
-"   \\______/ <------ \\________/\n"
-"\n"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1288
-msgid ""
-"The normal transitions are (1) CONFIG (when the handle is created, but there "
-"is no child process), (2) LAUNCHING (when the child process is booting up), "
-"(3) alternating between READY and BUSY as commands are issued to, and "
-"carried out by, the child process."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1293
-msgid ""
-"The guest may be killed by L</guestfs_kill_subprocess>, or may die "
-"asynchronously at any time (eg. due to some internal error), and that causes "
-"the state to transition back to CONFIG."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1297
-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:1300
-msgid ""
-"The API offers one call that goes from CONFIG through LAUNCHING to READY.  "
-"L</guestfs_launch> blocks until the child process is READY to accept "
-"commands (or until some failure or timeout).  L</guestfs_launch> internally "
-"moves the state from CONFIG to LAUNCHING while it is running."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1306
-msgid ""
-"API actions such as L</guestfs_mount> can only be issued when in the READY "
-"state.  These API calls block waiting for the command to be carried out (ie. "
-"the state to transition to BUSY and then back to READY).  There are no non-"
-"blocking versions, and no way to issue more than one command per handle at "
-"the same time."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1312
-msgid ""
-"Finally, the child process sends asynchronous messages back to the main "
-"program, such as kernel log messages.  You can register a callback to "
-"receive these messages."
-msgstr ""
-
 # type: =head2
-#: ../src/guestfs.pod:1316
+#: ../src/guestfs.pod:1505
 msgid "SETTING CALLBACKS TO HANDLE EVENTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1318
+#: ../src/guestfs.pod:1507
 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:1321
+#: ../src/guestfs.pod:1510
 msgid ""
 "Use the C<guestfs_set_*_callback> functions to set a callback for different "
 "types of events."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1324
+#: ../src/guestfs.pod:1513
 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 "
@@ -2722,12 +3041,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1329
+#: ../src/guestfs.pod:1518
 msgid "guestfs_set_log_message_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1331
+#: ../src/guestfs.pod:1520
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_log_message_cb) (guestfs_h *g, void *opaque,\n"
@@ -2739,31 +3058,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1337
+#: ../src/guestfs.pod:1526
 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:1340
+#: ../src/guestfs.pod:1529
 msgid "Use this function to capture kernel messages and similar."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1342
+#: ../src/guestfs.pod:1531
 msgid ""
 "Normally there is no log message handler, and log messages are just "
 "discarded."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1345
+#: ../src/guestfs.pod:1534
 msgid "guestfs_set_subprocess_quit_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1347
+#: ../src/guestfs.pod:1536
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_subprocess_quit_cb) (guestfs_h *g, void *opaque);\n"
@@ -2774,7 +3093,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1352
+#: ../src/guestfs.pod:1541
 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 "
@@ -2782,12 +3101,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1357
+#: ../src/guestfs.pod:1546
 msgid "guestfs_set_launch_done_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1359
+#: ../src/guestfs.pod:1548
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_launch_done_cb) (guestfs_h *g, void *opaque);\n"
@@ -2798,7 +3117,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1364
+#: ../src/guestfs.pod:1553
 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 "
@@ -2806,12 +3125,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1368
+#: ../src/guestfs.pod:1557
 msgid "guestfs_set_close_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1370
+#: ../src/guestfs.pod:1559
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_close_cb) (guestfs_h *g, void *opaque);\n"
@@ -2822,14 +3141,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1375
+#: ../src/guestfs.pod:1564
 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:1378
+#: ../src/guestfs.pod:1567
 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 "
@@ -2840,12 +3159,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1386
+#: ../src/guestfs.pod:1575
 msgid "guestfs_set_progress_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1388
+#: ../src/guestfs.pod:1577
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_progress_cb) (guestfs_h *g, void *opaque,\n"
@@ -2858,7 +3177,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1395
+#: ../src/guestfs.pod:1584
 msgid ""
 "Some long-running operations can generate progress messages.  If this "
 "callback is registered, then it will be called each time a progress message "
@@ -2868,7 +3187,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1401
+#: ../src/guestfs.pod:1590
 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 "
@@ -2877,31 +3196,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1407
+#: ../src/guestfs.pod:1596
 msgid "The only defined and stable parts of the API are:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1413
+#: ../src/guestfs.pod:1602
 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:1418
+#: ../src/guestfs.pod:1607
 msgid "0 E<lt>= C<position> E<lt>= C<total>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1422
+#: ../src/guestfs.pod:1611
 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:1425
+#: ../src/guestfs.pod:1614
 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 "
@@ -2909,7 +3228,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1431
+#: ../src/guestfs.pod:1620
 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 "
@@ -2918,12 +3237,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1436
+#: ../src/guestfs.pod:1625
 msgid "PRIVATE DATA AREA"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1438
+#: ../src/guestfs.pod:1627
 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 "
@@ -2931,12 +3250,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1442
+#: ../src/guestfs.pod:1631
 msgid "To attach a named piece of data, use the following call:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1444
+#: ../src/guestfs.pod:1633
 #, no-wrap
 msgid ""
 " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n"
@@ -2944,7 +3263,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1446
+#: ../src/guestfs.pod:1635
 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 "
@@ -2952,7 +3271,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1450
+#: ../src/guestfs.pod:1639
 msgid ""
 "You can use any C<key> you want, but names beginning with an underscore "
 "character are reserved for internal libguestfs purposes (for implementing "
@@ -2961,12 +3280,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1455
+#: ../src/guestfs.pod:1644
 msgid "To retrieve the pointer, use:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1457
+#: ../src/guestfs.pod:1646
 #, no-wrap
 msgid ""
 " void *guestfs_get_private (guestfs_h *g, const char *key);\n"
@@ -2974,7 +3293,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1459
+#: ../src/guestfs.pod:1648
 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 "
@@ -2982,7 +3301,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1463
+#: ../src/guestfs.pod:1652
 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 "
@@ -2990,191 +3309,205 @@ msgid ""
 "handle is closed.  If the data must be freed, then the caller must either "
 "free it before calling L</guestfs_close> or must set up a close callback to "
 "do it (see L</guestfs_set_close_callback>, and note that only one callback "
-"can be registered for a handle)."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1471
-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:1474
-msgid "BLOCK DEVICE NAMING"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1476
-msgid ""
-"In the kernel there is now quite a profusion of schemata for naming block "
-"devices (in this context, by I<block device> I mean a physical or virtual "
-"hard drive).  The original Linux IDE driver used names starting with C</dev/"
-"hd*>.  SCSI devices have historically used a different naming scheme, C</dev/"
-"sd*>.  When the Linux kernel I<libata> driver became a popular replacement "
-"for the old IDE driver (particularly for SATA devices) those devices also "
-"used the C</dev/sd*> scheme.  Additionally we now have virtual machines with "
-"paravirtualized drivers.  This has created several different naming systems, "
-"such as C</dev/vd*> for virtio disks and C</dev/xvd*> for Xen PV disks."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1488
-msgid ""
-"As discussed above, libguestfs uses a qemu appliance running an embedded "
-"Linux kernel to access block devices.  We can run a variety of appliances "
-"based on a variety of Linux kernels."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1492
-msgid ""
-"This causes a problem for libguestfs because many API calls use device or "
-"partition names.  Working scripts and the recipe (example) scripts that we "
-"make available over the internet could fail if the naming scheme changes."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1497
-msgid ""
-"Therefore libguestfs defines C</dev/sd*> as the I<standard naming scheme>.  "
-"Internally C</dev/sd*> names are translated, if necessary, to other names as "
-"required.  For example, under RHEL 5 which uses the C</dev/hd*> scheme, any "
-"device parameter C</dev/sda2> is translated to C</dev/hda2> transparently."
+"can be registered for a handle)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1503
+#: ../src/guestfs.pod:1660
 msgid ""
-"Note that this I<only> applies to parameters.  The L</guestfs_list_devices>, "
-"L</guestfs_list_partitions> and similar calls return the true names of the "
-"devices and partitions as known to the appliance."
+"The private data area is implemented using a hash table, and should be "
+"reasonably efficient for moderate numbers of keys."
 msgstr ""
 
-# type: =head2
-#: ../src/guestfs.pod:1508
-msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION"
+# type: =end
+#: ../src/guestfs.pod:1663 ../src/guestfs.pod:1668
+msgid "html"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1510
+#: ../src/guestfs.pod:1665
 msgid ""
-"Usually this translation is transparent.  However in some (very rare)  cases "
-"you may need to know the exact algorithm.  Such cases include where you use "
-"L</guestfs_config> to add a mixture of virtio and IDE devices to the qemu-"
-"based appliance, so have a mixture of C</dev/sd*> and C</dev/vd*> devices."
+"<!-- old anchor for the next section --> <a name="
+"\"state_machine_and_low_level_event_api\"/>"
 msgstr ""
 
-# type: textblock
-#: ../src/guestfs.pod:1516
-msgid ""
-"The algorithm is applied only to I<parameters> which are known to be either "
-"device or partition names.  Return values from functions such as L</"
-"guestfs_list_devices> are never changed."
+# type: =head1
+#: ../src/guestfs.pod:1670
+msgid "ARCHITECTURE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1524
-msgid "Is the string a parameter which is a device or partition name?"
+#: ../src/guestfs.pod:1672
+msgid ""
+"Internally, libguestfs is implemented by running an appliance (a special "
+"type of small virtual machine) using L<qemu(1)>.  Qemu runs as a child "
+"process of the main program."
 msgstr ""
 
-# type: textblock
-#: ../src/guestfs.pod:1528
-msgid "Does the string begin with C</dev/sd>?"
+# type: verbatim
+#: ../src/guestfs.pod:1676
+#, 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:1532
+#: ../src/guestfs.pod:1696
 msgid ""
-"Does the named device exist? If so, we use that device.  However if I<not> "
-"then we continue with this algorithm."
+"The library, linked to the main program, creates the child process and hence "
+"the appliance in the L</guestfs_launch> function."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1537
-msgid "Replace initial C</dev/sd> string with C</dev/hd>."
+#: ../src/guestfs.pod:1699
+msgid ""
+"Inside the appliance is a Linux kernel and a complete stack of userspace "
+"tools (such as LVM and ext2 programs) and a small controlling daemon called "
+"L</guestfsd>.  The library talks to L</guestfsd> using remote procedure "
+"calls (RPC).  There is a mostly one-to-one correspondence between libguestfs "
+"API calls and RPC calls to the daemon.  Lastly the disk image(s) are "
+"attached to the qemu process which translates device access by the "
+"appliance's Linux kernel into accesses to the image."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1539
-msgid "For example, change C</dev/sda2> to C</dev/hda2>."
+#: ../src/guestfs.pod:1708
+msgid ""
+"A common misunderstanding is that the appliance \"is\" the virtual machine.  "
+"Although the disk image you are attached to might also be used by some "
+"virtual machine, libguestfs doesn't know or care about this.  (But you will "
+"care if both libguestfs's qemu process and your virtual machine are trying "
+"to update the disk image at the same time, since these usually results in "
+"massive disk corruption)."
 msgstr ""
 
-# type: textblock
-#: ../src/guestfs.pod:1541
-msgid "If that named device exists, use it.  If not, continue."
+# type: =head1
+#: ../src/guestfs.pod:1715
+msgid "STATE MACHINE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1545
-msgid "Replace initial C</dev/sd> string with C</dev/vd>."
+#: ../src/guestfs.pod:1717
+msgid "libguestfs uses a state machine to model the child process:"
 msgstr ""
 
-# type: textblock
-#: ../src/guestfs.pod:1547
-msgid "If that named device exists, use it.  If not, return an error."
+# type: verbatim
+#: ../src/guestfs.pod:1719
+#, no-wrap
+msgid ""
+"                         |\n"
+"                    guestfs_create\n"
+"                         |\n"
+"                         |\n"
+"                     ____V_____\n"
+"                    /          \\\n"
+"                    |  CONFIG  |\n"
+"                    \\__________/\n"
+"                     ^ ^   ^  \\\n"
+"                    /  |    \\  \\ guestfs_launch\n"
+"                   /   |    _\\__V______\n"
+"                  /    |   /           \\\n"
+"                 /     |   | LAUNCHING |\n"
+"                /      |   \\___________/\n"
+"               /       |       /\n"
+"              /        |  guestfs_launch\n"
+"             /         |     /\n"
+"    ______  /        __|____V\n"
+"   /      \\ ------> /        \\\n"
+"   | BUSY |         | READY  |\n"
+"   \\______/ <------ \\________/\n"
+"\n"
 msgstr ""
 
-# type: =head2
-#: ../src/guestfs.pod:1551
-msgid "PORTABILITY CONCERNS"
+# type: textblock
+#: ../src/guestfs.pod:1741
+msgid ""
+"The normal transitions are (1) CONFIG (when the handle is created, but there "
+"is no child process), (2) LAUNCHING (when the child process is booting up), "
+"(3) alternating between READY and BUSY as commands are issued to, and "
+"carried out by, the child process."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1553
+#: ../src/guestfs.pod:1746
 msgid ""
-"Although the standard naming scheme and automatic translation is useful for "
-"simple programs and guestfish scripts, for larger programs it is best not to "
-"rely on this mechanism."
+"The guest may be killed by L</guestfs_kill_subprocess>, or may die "
+"asynchronously at any time (eg. due to some internal error), and that causes "
+"the state to transition back to CONFIG."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1557
+#: ../src/guestfs.pod:1750
 msgid ""
-"Where possible for maximum future portability programs using libguestfs "
-"should use these future-proof techniques:"
+"Configuration commands for qemu such as L</guestfs_add_drive> can only be "
+"issued when in the CONFIG state."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1564
+#: ../src/guestfs.pod:1753
 msgid ""
-"Use L</guestfs_list_devices> or L</guestfs_list_partitions> to list actual "
-"device names, and then use those names directly."
+"The API offers one call that goes from CONFIG through LAUNCHING to READY.  "
+"L</guestfs_launch> blocks until the child process is READY to accept "
+"commands (or until some failure or timeout).  L</guestfs_launch> internally "
+"moves the state from CONFIG to LAUNCHING while it is running."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1567
+#: ../src/guestfs.pod:1759
 msgid ""
-"Since those device names exist by definition, they will never be translated."
+"API actions such as L</guestfs_mount> can only be issued when in the READY "
+"state.  These API calls block waiting for the command to be carried out (ie. "
+"the state to transition to BUSY and then back to READY).  There are no non-"
+"blocking versions, and no way to issue more than one command per handle at "
+"the same time."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1572
+#: ../src/guestfs.pod:1765
 msgid ""
-"Use higher level ways to identify filesystems, such as LVM names, UUIDs and "
-"filesystem labels."
+"Finally, the child process sends asynchronous messages back to the main "
+"program, such as kernel log messages.  You can register a callback to "
+"receive these messages."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1577
+#: ../src/guestfs.pod:1769
 msgid "INTERNALS"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1579
+#: ../src/guestfs.pod:1771
 msgid "COMMUNICATION PROTOCOL"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1581
+#: ../src/guestfs.pod:1773
 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:1584
+#: ../src/guestfs.pod:1776
 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 "
@@ -3182,14 +3515,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1588
+#: ../src/guestfs.pod:1780
 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:1591
+#: ../src/guestfs.pod:1783
 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 "
@@ -3199,17 +3532,17 @@ msgid ""
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1598
+#: ../src/guestfs.pod:1790
 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1600
+#: ../src/guestfs.pod:1792
 msgid "For ordinary functions, the request message is:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1602
+#: ../src/guestfs.pod:1794
 #, no-wrap
 msgid ""
 " total length (header + arguments,\n"
@@ -3220,7 +3553,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1607
+#: ../src/guestfs.pod:1799
 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 "
@@ -3229,26 +3562,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1613
+#: ../src/guestfs.pod:1805
 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:1616
+#: ../src/guestfs.pod:1808
 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:1620
+#: ../src/guestfs.pod:1812
 msgid "The reply message for ordinary functions is:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1622
+#: ../src/guestfs.pod:1814
 #, no-wrap
 msgid ""
 " total length (header + ret,\n"
@@ -3259,27 +3592,27 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1627
+#: ../src/guestfs.pod:1819
 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:1630
+#: ../src/guestfs.pod:1822
 msgid ""
 "As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1633
+#: ../src/guestfs.pod:1825
 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:1636
+#: ../src/guestfs.pod:1828
 #, no-wrap
 msgid ""
 " total length (header + error,\n"
@@ -3290,19 +3623,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1641
+#: ../src/guestfs.pod:1833
 msgid ""
 "The C<guestfs_message_error> structure contains the error message as a "
 "string."
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1644
+#: ../src/guestfs.pod:1836
 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1646
+#: ../src/guestfs.pod:1838
 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 "
@@ -3310,7 +3643,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1650
+#: ../src/guestfs.pod:1842
 #, no-wrap
 msgid ""
 " total length (header + arguments,\n"
@@ -3324,12 +3657,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1658
+#: ../src/guestfs.pod:1850
 msgid "The \"sequence of chunks\" is:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1660
+#: ../src/guestfs.pod:1852
 #, no-wrap
 msgid ""
 " length of chunk (not including length word itself)\n"
@@ -3343,7 +3676,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1668
+#: ../src/guestfs.pod:1860
 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 "
@@ -3351,7 +3684,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1672
+#: ../src/guestfs.pod:1864
 msgid ""
 "At time of writing there are no functions that have more than one FileIn "
 "parameter.  However this is (theoretically) supported, by sending the "
@@ -3360,7 +3693,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1677
+#: ../src/guestfs.pod:1869
 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 "
@@ -3369,7 +3702,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1683
+#: ../src/guestfs.pod:1875
 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 "
@@ -3381,7 +3714,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1692
+#: ../src/guestfs.pod:1884
 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 "
@@ -3391,19 +3724,19 @@ msgid ""
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1698
+#: ../src/guestfs.pod:1890
 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1700
+#: ../src/guestfs.pod:1892
 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:1703
+#: ../src/guestfs.pod:1895
 #, no-wrap
 msgid ""
 " total length (header + ret,\n"
@@ -3417,143 +3750,54 @@ msgid ""
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1711
+#: ../src/guestfs.pod:1903
 msgid "INITIAL MESSAGE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1713
+#: ../src/guestfs.pod:1905
 msgid ""
 "When the daemon launches it sends an initial word (C<GUESTFS_LAUNCH_FLAG>) "
-"which indicates that the guest and daemon is alive.  This is what L</"
-"guestfs_launch> waits for."
-msgstr ""
-
-# type: =head3
-#: ../src/guestfs.pod:1717
-msgid "PROGRESS NOTIFICATION MESSAGES"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1719
-msgid ""
-"The daemon may send progress notification messages at any time.  These are "
-"distinguished by the normal length word being replaced by "
-"C<GUESTFS_PROGRESS_FLAG>, followed by a fixed size progress message."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1723
-msgid ""
-"The library turns them into progress callbacks (see "
-"C<guestfs_set_progress_callback>) if there is a callback registered, or "
-"discards them if not."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1727
-msgid ""
-"The daemon self-limits the frequency of progress messages it sends (see "
-"C<daemon/proto.c:notify_progress>).  Not all calls generate progress "
-"messages."
-msgstr ""
-
-# type: =head1
-#: ../src/guestfs.pod:1731
-msgid "MULTIPLE HANDLES AND MULTIPLE THREADS"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1733
-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:1736
-msgid ""
-"Only use the handle from a single thread.  Either use the handle exclusively "
-"from one thread, or provide your own mutex so that two threads cannot issue "
-"calls on the same handle at the same time."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1740
-msgid ""
-"See the graphical program guestfs-browser for one possible architecture for "
-"multithreaded programs using libvirt and libguestfs."
-msgstr ""
-
-# type: =head1
-#: ../src/guestfs.pod:1743
-msgid "QEMU WRAPPERS"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1745
-msgid ""
-"If you want to compile your own qemu, run qemu from a non-standard location, "
-"or pass extra arguments to qemu, then you can write a shell-script wrapper "
-"around qemu."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1749
-msgid ""
-"There is one important rule to remember: you I<must C<exec qemu>> as the "
-"last command in the shell script (so that qemu replaces the shell and "
-"becomes the direct child of the libguestfs-using program).  If you don't do "
-"this, then the qemu process won't be cleaned up correctly."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1754
-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:1757
-#, no-wrap
-msgid ""
-" #!/bin/sh -\n"
-" qemudir=/home/rjones/d/qemu\n"
-" exec $qemudir/x86_64-softmmu/qemu-system-x86_64 -L $qemudir/pc-bios \"$@\"\n"
-"\n"
+"which indicates that the guest and daemon is alive.  This is what L</"
+"guestfs_launch> waits for."
+msgstr ""
+
+# type: =head3
+#: ../src/guestfs.pod:1909
+msgid "PROGRESS NOTIFICATION MESSAGES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1761
+#: ../src/guestfs.pod:1911
 msgid ""
-"Save this script as C</tmp/qemu.wrapper> (or wherever), C<chmod +x>, and "
-"then use it by setting the LIBGUESTFS_QEMU environment variable.  For "
-"example:"
+"The daemon may send progress notification messages at any time.  These are "
+"distinguished by the normal length word being replaced by "
+"C<GUESTFS_PROGRESS_FLAG>, followed by a fixed size progress message."
 msgstr ""
 
-# type: verbatim
-#: ../src/guestfs.pod:1765
-#, no-wrap
+# type: textblock
+#: ../src/guestfs.pod:1915
 msgid ""
-" LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n"
-"\n"
+"The library turns them into progress callbacks (see "
+"C<guestfs_set_progress_callback>) if there is a callback registered, or "
+"discards them if not."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1767
+#: ../src/guestfs.pod:1919
 msgid ""
-"Note that libguestfs also calls qemu with the -help and -version options in "
-"order to determine features."
+"The daemon self-limits the frequency of progress messages it sends (see "
+"C<daemon/proto.c:notify_progress>).  Not all calls generate progress "
+"messages."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1770
+#: ../src/guestfs.pod:1923
 msgid "LIBGUESTFS VERSION NUMBERS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1772
+#: ../src/guestfs.pod:1925
 msgid ""
 "Since April 2010, libguestfs has started to make separate development and "
 "stable releases, along with corresponding branches in our git repository.  "
@@ -3561,7 +3805,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1777
+#: ../src/guestfs.pod:1930
 #, no-wrap
 msgid ""
 "                 even numbers for stable: 1.2.x, 1.4.x, ...\n"
@@ -3578,12 +3822,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1788
+#: ../src/guestfs.pod:1941
 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1790
+#: ../src/guestfs.pod:1943
 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 "
@@ -3593,26 +3837,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1796
+#: ../src/guestfs.pod:1949
 msgid "Our criteria for backporting changes are:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1802
+#: ../src/guestfs.pod:1955
 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:1808
+#: ../src/guestfs.pod:1961
 msgid ""
 "Bug fixes which are not controversial, fix obvious problems, and have been "
 "well tested are backported."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1813
+#: ../src/guestfs.pod:1966
 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 "
@@ -3620,7 +3864,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1819
+#: ../src/guestfs.pod:1972
 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 "
@@ -3628,7 +3872,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1825
+#: ../src/guestfs.pod:1978
 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 "
@@ -3639,47 +3883,47 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1833 ../fish/guestfish.pod:867
+#: ../src/guestfs.pod:1986 ../fish/guestfish.pod:901
 #: ../test-tool/libguestfs-test-tool.pod:104 ../tools/virt-edit.pl:330
 #: ../tools/virt-rescue.pl:255
 msgid "ENVIRONMENT VARIABLES"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1837 ../fish/guestfish.pod:893
+#: ../src/guestfs.pod:1990 ../fish/guestfish.pod:927
 msgid "LIBGUESTFS_APPEND"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1839 ../fish/guestfish.pod:895
+#: ../src/guestfs.pod:1992 ../fish/guestfish.pod:929
 msgid "Pass additional options to the guest kernel."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1841 ../fish/guestfish.pod:897
+#: ../src/guestfs.pod:1994 ../fish/guestfish.pod:931
 msgid "LIBGUESTFS_DEBUG"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1843
+#: ../src/guestfs.pod:1996
 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:1846 ../fish/guestfish.pod:902
+#: ../src/guestfs.pod:1999 ../fish/guestfish.pod:936
 msgid "LIBGUESTFS_MEMSIZE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1848 ../fish/guestfish.pod:904
+#: ../src/guestfs.pod:2001 ../fish/guestfish.pod:938
 msgid ""
 "Set the memory allocated to the qemu process, in megabytes.  For example:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1851 ../fish/guestfish.pod:907
+#: ../src/guestfs.pod:2004 ../fish/guestfish.pod:941
 #, no-wrap
 msgid ""
 " LIBGUESTFS_MEMSIZE=700\n"
@@ -3687,58 +3931,58 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1853 ../fish/guestfish.pod:909
+#: ../src/guestfs.pod:2006 ../fish/guestfish.pod:943
 msgid "LIBGUESTFS_PATH"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1855
+#: ../src/guestfs.pod:2008
 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:1858 ../fish/guestfish.pod:914
+#: ../src/guestfs.pod:2011 ../fish/guestfish.pod:948
 msgid "LIBGUESTFS_QEMU"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1860 ../fish/guestfish.pod:916
+#: ../src/guestfs.pod:2013 ../fish/guestfish.pod:950
 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:1864
+#: ../src/guestfs.pod:2017
 msgid "See also L</QEMU WRAPPERS> above."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1866 ../fish/guestfish.pod:920
+#: ../src/guestfs.pod:2019 ../fish/guestfish.pod:954
 msgid "LIBGUESTFS_TRACE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1868
+#: ../src/guestfs.pod:2021
 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:1871 ../fish/guestfish.pod:929
+#: ../src/guestfs.pod:2024 ../fish/guestfish.pod:963
 msgid "TMPDIR"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1873 ../fish/guestfish.pod:931
+#: ../src/guestfs.pod:2026 ../fish/guestfish.pod:965
 msgid "Location of temporary directory, defaults to C</tmp>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1875 ../fish/guestfish.pod:933
+#: ../src/guestfs.pod:2028 ../fish/guestfish.pod:967
 msgid ""
 "If libguestfs was compiled to use the supermin appliance then the real "
 "appliance is cached in this directory, shared between all handles belonging "
@@ -3747,8 +3991,8 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1883 ../fish/guestfish.pod:991
-#: ../test-tool/libguestfs-test-tool.pod:109 ../fuse/guestmount.pod:214
+#: ../src/guestfs.pod:2036 ../fish/guestfish.pod:1025
+#: ../test-tool/libguestfs-test-tool.pod:109 ../fuse/guestmount.pod:221
 #: ../inspector/virt-inspector.pl:570 ../tools/virt-edit.pl:350
 #: ../tools/virt-win-reg.pl:484 ../tools/virt-df.pl:640
 #: ../tools/virt-ls.pl:232 ../tools/virt-resize.pl:1486
@@ -3759,7 +4003,7 @@ msgid "SEE ALSO"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1885
+#: ../src/guestfs.pod:2038
 msgid ""
 "L<guestfish(1)>, L<guestmount(1)>, L<virt-cat(1)>, L<virt-df(1)>, L<virt-edit"
 "(1)>, L<virt-inspector(1)>, L<virt-list-filesystems(1)>, L<virt-list-"
@@ -3769,85 +4013,85 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1903
+#: ../src/guestfs.pod:2056
 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:1910 ../tools/virt-win-reg.pl:499
+#: ../src/guestfs.pod:2063 ../tools/virt-win-reg.pl:499
 #: ../tools/virt-make-fs.pl:548
 msgid "BUGS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1912
+#: ../src/guestfs.pod:2065
 msgid "To get a list of bugs against libguestfs use this link:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1914
+#: ../src/guestfs.pod:2067
 msgid ""
 "L<https://bugzilla.redhat.com/buglist.cgi?"
 "component=libguestfs&product=Virtualization+Tools>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1916
+#: ../src/guestfs.pod:2069
 msgid "To report a new bug against libguestfs use this link:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1918
+#: ../src/guestfs.pod:2071
 msgid ""
 "L<https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1920
+#: ../src/guestfs.pod:2073
 msgid "When reporting a bug, please check:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1926
+#: ../src/guestfs.pod:2079
 msgid "That the bug hasn't been reported already."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1930
+#: ../src/guestfs.pod:2083
 msgid "That you are testing a recent version."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1934
+#: ../src/guestfs.pod:2087
 msgid "Describe the bug accurately, and give a way to reproduce it."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1938
+#: ../src/guestfs.pod:2091
 msgid ""
 "Run libguestfs-test-tool and paste the B<complete, unedited> output into the "
 "bug report."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1943 ../fish/guestfish.pod:1008
-#: ../test-tool/libguestfs-test-tool.pod:115 ../fuse/guestmount.pod:225
+#: ../src/guestfs.pod:2096 ../fish/guestfish.pod:1042
+#: ../test-tool/libguestfs-test-tool.pod:115 ../fuse/guestmount.pod:232
 #: ../inspector/virt-inspector.pl:580
 msgid "AUTHORS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1945 ../fish/guestfish.pod:1010
-#: ../test-tool/libguestfs-test-tool.pod:117 ../fuse/guestmount.pod:227
+#: ../src/guestfs.pod:2098 ../fish/guestfish.pod:1044
+#: ../test-tool/libguestfs-test-tool.pod:117 ../fuse/guestmount.pod:234
 msgid "Richard W.M. Jones (C<rjones at redhat dot com>)"
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1947 ../fish/guestfish.pod:1012
-#: ../test-tool/libguestfs-test-tool.pod:119 ../fuse/guestmount.pod:229
+#: ../src/guestfs.pod:2100 ../fish/guestfish.pod:1046
+#: ../test-tool/libguestfs-test-tool.pod:119 ../fuse/guestmount.pod:236
 #: ../inspector/virt-inspector.pl:594 ../tools/virt-edit.pl:366
 #: ../tools/virt-win-reg.pl:514 ../tools/virt-df.pl:653
 #: ../tools/virt-ls.pl:247 ../tools/virt-resize.pl:1512
@@ -3858,13 +4102,13 @@ msgid "COPYRIGHT"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1949 ../fish/guestfish.pod:1014
-#: ../fuse/guestmount.pod:231
+#: ../src/guestfs.pod:2102 ../fish/guestfish.pod:1048
+#: ../fuse/guestmount.pod:238
 msgid "Copyright (C) 2009-2010 Red Hat Inc.  L<http://libguestfs.org/>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1952
+#: ../src/guestfs.pod:2105
 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 "
@@ -3873,7 +4117,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1957
+#: ../src/guestfs.pod:2110
 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 "
@@ -3882,7 +4126,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1962
+#: ../src/guestfs.pod:2115
 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, "
@@ -8076,7 +8320,7 @@ msgstr ""
 
 # type: textblock
 #: ../src/guestfs-actions.pod:2253 ../fish/guestfish-actions.pod:1678
-msgid "Debian or a Debian-derived distro such as Ubuntu."
+msgid "Debian."
 msgstr ""
 
 # type: =item
@@ -8140,37 +8384,37 @@ msgid "Red Hat Enterprise Linux and some derivatives."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2279 ../src/guestfs-actions.pod:2441
-#: ../fish/guestfish-actions.pod:1704 ../fish/guestfish-actions.pod:1834
-msgid "\"windows\""
+#: ../src/guestfs-actions.pod:2279 ../fish/guestfish-actions.pod:1704
+msgid "\"ubuntu\""
 msgstr ""
 
 # type: textblock
 #: ../src/guestfs-actions.pod:2281 ../fish/guestfish-actions.pod:1706
-msgid ""
-"Windows does not have distributions.  This string is returned if the OS type "
-"is Windows."
+msgid "Ubuntu."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2284 ../fish/guestfish-actions.pod:1709
-msgid "\"ubuntu\""
+#: ../src/guestfs-actions.pod:2283 ../src/guestfs-actions.pod:2445
+#: ../fish/guestfish-actions.pod:1708 ../fish/guestfish-actions.pod:1838
+msgid "\"unknown\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2286 ../fish/guestfish-actions.pod:1711
-msgid "Ubuntu."
+#: ../src/guestfs-actions.pod:2285 ../fish/guestfish-actions.pod:1710
+msgid "The distro could not be determined."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2288 ../src/guestfs-actions.pod:2445
-#: ../fish/guestfish-actions.pod:1713 ../fish/guestfish-actions.pod:1838
-msgid "\"unknown\""
+#: ../src/guestfs-actions.pod:2287 ../src/guestfs-actions.pod:2441
+#: ../fish/guestfish-actions.pod:1712 ../fish/guestfish-actions.pod:1834
+msgid "\"windows\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2290 ../fish/guestfish-actions.pod:1715
-msgid "The distro could not be determined."
+#: ../src/guestfs-actions.pod:2289 ../fish/guestfish-actions.pod:1714
+msgid ""
+"Windows does not have distributions.  This string is returned if the OS type "
+"is Windows."
 msgstr ""
 
 # type: textblock
@@ -15627,7 +15871,7 @@ msgstr ""
 #: ../fish/guestfish.pod:13
 #, no-wrap
 msgid ""
-" guestfish -a disk.img\n"
+" guestfish [--ro|--rw] -a disk.img\n"
 "\n"
 msgstr ""
 
@@ -15635,7 +15879,7 @@ msgstr ""
 #: ../fish/guestfish.pod:15
 #, no-wrap
 msgid ""
-" guestfish -a disk.img -m dev[:mountpoint]\n"
+" guestfish [--ro|--rw] -a disk.img -m dev[:mountpoint]\n"
 "\n"
 msgstr ""
 
@@ -15651,7 +15895,7 @@ msgstr ""
 #: ../fish/guestfish.pod:19
 #, no-wrap
 msgid ""
-" guestfish -a disk.img -i\n"
+" guestfish [--ro|--rw] -a disk.img -i\n"
 "\n"
 msgstr ""
 
@@ -15697,7 +15941,7 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:41 ../fish/guestfish.pod:800
+#: ../fish/guestfish.pod:41 ../fish/guestfish.pod:834
 #: ../fuse/guestmount.pod:39 ../tools/virt-edit.pl:58
 #: ../tools/virt-resize.pl:66 ../tools/virt-cat.pl:50 ../tools/virt-tar.pl:45
 msgid "EXAMPLES"
@@ -15838,7 +16082,7 @@ msgstr ""
 #: ../fish/guestfish.pod:102
 #, no-wrap
 msgid ""
-" guestfish --add disk.img \\\n"
+" guestfish --rw --add disk.img \\\n"
 "   --mount /dev/vg_guest/lv_root \\\n"
 "   --mount /dev/sda1:/boot \\\n"
 "   edit /boot/grub/grub.conf\n"
@@ -15881,7 +16125,7 @@ msgstr ""
 #: ../fish/guestfish.pod:118
 #, no-wrap
 msgid ""
-" guestfish -a disk.img -i edit /boot/grub/grub.conf\n"
+" guestfish --rw -a disk.img -i edit /boot/grub/grub.conf\n"
 "\n"
 msgstr ""
 
@@ -15933,7 +16177,7 @@ msgid "To list what is available do:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:139 ../fish/guestfish.pod:791
+#: ../fish/guestfish.pod:139 ../fish/guestfish.pod:825
 #, no-wrap
 msgid ""
 " guestfish -N help | less\n"
@@ -15949,7 +16193,7 @@ msgstr ""
 #: ../fish/guestfish.pod:143
 #, no-wrap
 msgid ""
-" eval `guestfish --listen`\n"
+" eval \"`guestfish --listen`\"\n"
 " guestfish --remote add-ro disk.img\n"
 " guestfish --remote run\n"
 " guestfish --remote lvs\n"
@@ -16106,7 +16350,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:211 ../fish/guestfish.pod:504
+#: ../fish/guestfish.pod:211 ../fish/guestfish.pod:538
 #: ../inspector/virt-inspector.pl:549
 msgid "For example:"
 msgstr ""
@@ -16195,7 +16439,7 @@ msgstr ""
 #: ../fish/guestfish.pod:243
 #, no-wrap
 msgid ""
-" guestfish -a /dev/Guests/MyGuest -i\n"
+" guestfish --rw -a /dev/Guests/MyGuest -i\n"
 "\n"
 msgstr ""
 
@@ -16374,68 +16618,85 @@ msgid ""
 "I<--ro> option."
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish.pod:318
+msgid "See also L</OPENING DISKS FOR READ AND WRITE> below."
+msgstr ""
+
 # type: =item
-#: ../fish/guestfish.pod:318 ../fuse/guestmount.pod:194
+#: ../fish/guestfish.pod:320 ../fuse/guestmount.pod:196
 #: ../tools/virt-rescue.pl:195
 msgid "B<--selinux>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:320
+#: ../fish/guestfish.pod:322
 msgid "Enable SELinux support for the guest.  See L<guestfs(3)/SELINUX>."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:322 ../fuse/guestmount.pod:198
+#: ../fish/guestfish.pod:324 ../fuse/guestmount.pod:200
 msgid "B<-v> | B<--verbose>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:324
+#: ../fish/guestfish.pod:326
 msgid ""
 "Enable very verbose messages.  This is particularly useful if you find a bug."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:327 ../fuse/guestmount.pod:202
+#: ../fish/guestfish.pod:329 ../fuse/guestmount.pod:204
 msgid "B<-V> | B<--version>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:329
+#: ../fish/guestfish.pod:331
 msgid "Display the guestfish / libguestfs version number and exit."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:331
+#: ../fish/guestfish.pod:333 ../fuse/guestmount.pod:208
+msgid "B<-w> | B<--rw>"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:335
+msgid ""
+"This option does nothing at the moment.  See L</OPENING DISKS FOR READ AND "
+"WRITE> below."
+msgstr ""
+
+# type: =item
+#: ../fish/guestfish.pod:338
 msgid "B<-x>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:333
+#: ../fish/guestfish.pod:340
 msgid "Echo each command before executing it."
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:337
+#: ../fish/guestfish.pod:344
 msgid "COMMANDS ON COMMAND LINE"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:339
+#: ../fish/guestfish.pod:346
 msgid ""
 "Any additional (non-option) arguments are treated as commands to execute."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:342
+#: ../fish/guestfish.pod:349
 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:345
+#: ../fish/guestfish.pod:352
 #, no-wrap
 msgid ""
 " guestfish cmd [args...] : cmd [args...] : cmd [args...] ...\n"
@@ -16443,7 +16704,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:347
+#: ../fish/guestfish.pod:354
 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 non-"
@@ -16451,7 +16712,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:351
+#: ../fish/guestfish.pod:358
 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 "
@@ -16459,12 +16720,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:356
+#: ../fish/guestfish.pod:363
 msgid "USING launch (OR run)"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:358
+#: ../fish/guestfish.pod:365
 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 actions/"
@@ -16472,34 +16733,34 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:366
+#: ../fish/guestfish.pod:373
 msgid "add or -a/--add"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:370
+#: ../fish/guestfish.pod:377
 msgid "launch (aka run)"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:374
+#: ../fish/guestfish.pod:381
 msgid "mount or -m/--mount"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:378
+#: ../fish/guestfish.pod:385
 msgid "any other commands"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:382
+#: ../fish/guestfish.pod:389
 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:385
+#: ../fish/guestfish.pod:392
 msgid ""
 "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 "
@@ -16507,19 +16768,72 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:390
+#: ../fish/guestfish.pod:397
+msgid "OPENING DISKS FOR READ AND WRITE"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:399
+msgid ""
+"The guestfish (and L<guestmount(1)>) options I<--ro> and I<--rw> affect "
+"whether the other command line options I<-a>, I<-c>, I<-d>, I<-i> and I<-m> "
+"open disk images read-only or for writing."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:403
+msgid ""
+"In libguestfs E<lt> 1.6.2, guestfish and guestmount defaulted to opening "
+"disk images supplied on the command line for write.  To open a disk image "
+"read-only you have to do I<-a image --ro>."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:407
+msgid ""
+"This matters: If you accidentally open a live VM disk image writable then "
+"you will cause irreversible disk corruption."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:410
+msgid ""
+"By libguestfs 1.8 we intend to change the default the other way.  Disk "
+"images will be opened read-only.  You will have to either specify "
+"I<guestfish --rw> or change a configuration file in order to get write "
+"access for disk images specified by those other command line options."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:415
+msgid ""
+"This version of guestfish has a I<--rw> option which does nothing (it is "
+"already the default).  However it is highly recommended that you use this "
+"option to indicate that guestfish needs write access, and to prepare your "
+"scripts for the day when this option will be required for write access."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:421
+msgid ""
+"B<Note:> This does I<not> affect commands like L</add> and L</mount>, or any "
+"other libguestfs program apart from guestfish and guestmount."
+msgstr ""
+
+# type: =head1
+#: ../fish/guestfish.pod:424
 msgid "QUOTING"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:392
+#: ../fish/guestfish.pod:426
 msgid ""
 "You can quote ordinary parameters using either single or double quotes.  For "
 "example:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:395
+#: ../fish/guestfish.pod:429
 #, no-wrap
 msgid ""
 " add \"file with a space.img\"\n"
@@ -16527,7 +16841,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:397
+#: ../fish/guestfish.pod:431
 #, no-wrap
 msgid ""
 " rm '/file name'\n"
@@ -16535,7 +16849,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:399
+#: ../fish/guestfish.pod:433
 #, no-wrap
 msgid ""
 " rm '/\"'\n"
@@ -16543,7 +16857,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:401
+#: ../fish/guestfish.pod:435
 msgid ""
 "A few commands require a list of strings to be passed.  For these, use a "
 "whitespace-separated list, enclosed in quotes.  Strings containing "
@@ -16552,7 +16866,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:406
+#: ../fish/guestfish.pod:440
 #, no-wrap
 msgid ""
 " vgcreate VG \"/dev/sda1 /dev/sdb1\"\n"
@@ -16562,19 +16876,19 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:410
+#: ../fish/guestfish.pod:444
 msgid "OPTIONAL ARGUMENTS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:412
+#: ../fish/guestfish.pod:446
 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
+#: ../fish/guestfish.pod:450
 #, no-wrap
 msgid ""
 " add-drive-opts filename\n"
@@ -16582,7 +16896,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:418
+#: ../fish/guestfish.pod:452
 #, no-wrap
 msgid ""
 " add-drive-opts filename readonly:true\n"
@@ -16590,7 +16904,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:420
+#: ../fish/guestfish.pod:454
 #, no-wrap
 msgid ""
 " add-drive-opts filename format:qcow2 readonly:false\n"
@@ -16598,197 +16912,197 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:422
+#: ../fish/guestfish.pod:456
 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
+#: ../fish/guestfish.pod:459
 msgid "NUMBERS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:427
+#: ../fish/guestfish.pod:461
 msgid ""
 "This section applies to all commands which can take integers as parameters."
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:430
+#: ../fish/guestfish.pod:464
 msgid "SIZE SUFFIX"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:432
+#: ../fish/guestfish.pod:466
 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:438
+#: ../fish/guestfish.pod:472
 msgid "B<k> or B<K> or B<KiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:440
+#: ../fish/guestfish.pod:474
 msgid "The size in kilobytes (multiplied by 1024)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:442
+#: ../fish/guestfish.pod:476
 msgid "B<KB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:444
+#: ../fish/guestfish.pod:478
 msgid "The size in SI 1000 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:446
+#: ../fish/guestfish.pod:480
 msgid "B<M> or B<MiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:448
+#: ../fish/guestfish.pod:482
 msgid "The size in megabytes (multiplied by 1048576)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:450
+#: ../fish/guestfish.pod:484
 msgid "B<MB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:452
+#: ../fish/guestfish.pod:486
 msgid "The size in SI 1000000 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:454
+#: ../fish/guestfish.pod:488
 msgid "B<G> or B<GiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:456
+#: ../fish/guestfish.pod:490
 msgid "The size in gigabytes (multiplied by 2**30)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:458
+#: ../fish/guestfish.pod:492
 msgid "B<GB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:460
+#: ../fish/guestfish.pod:494
 msgid "The size in SI 10**9 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:462
+#: ../fish/guestfish.pod:496
 msgid "B<T> or B<TiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:464
+#: ../fish/guestfish.pod:498
 msgid "The size in terabytes (multiplied by 2**40)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:466
+#: ../fish/guestfish.pod:500
 msgid "B<TB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:468
+#: ../fish/guestfish.pod:502
 msgid "The size in SI 10**12 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:470
+#: ../fish/guestfish.pod:504
 msgid "B<P> or B<PiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:472
+#: ../fish/guestfish.pod:506
 msgid "The size in petabytes (multiplied by 2**50)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:474
+#: ../fish/guestfish.pod:508
 msgid "B<PB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:476
+#: ../fish/guestfish.pod:510
 msgid "The size in SI 10**15 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:478
+#: ../fish/guestfish.pod:512
 msgid "B<E> or B<EiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:480
+#: ../fish/guestfish.pod:514
 msgid "The size in exabytes (multiplied by 2**60)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:482
+#: ../fish/guestfish.pod:516
 msgid "B<EB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:484
+#: ../fish/guestfish.pod:518
 msgid "The size in SI 10**18 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:486
+#: ../fish/guestfish.pod:520
 msgid "B<Z> or B<ZiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:488
+#: ../fish/guestfish.pod:522
 msgid "The size in zettabytes (multiplied by 2**70)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:490
+#: ../fish/guestfish.pod:524
 msgid "B<ZB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:492
+#: ../fish/guestfish.pod:526
 msgid "The size in SI 10**21 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:494
+#: ../fish/guestfish.pod:528
 msgid "B<Y> or B<YiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:496
+#: ../fish/guestfish.pod:530
 msgid "The size in yottabytes (multiplied by 2**80)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:498
+#: ../fish/guestfish.pod:532
 msgid "B<YB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:500
+#: ../fish/guestfish.pod:534
 msgid "The size in SI 10**24 byte units."
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:506
+#: ../fish/guestfish.pod:540
 #, no-wrap
 msgid ""
 " truncate-size /file 1G\n"
@@ -16796,12 +17110,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:508
+#: ../fish/guestfish.pod:542
 msgid "would truncate the file to 1 gigabyte."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:510
+#: ../fish/guestfish.pod:544
 msgid ""
 "Be careful because a few commands take sizes in kilobytes or megabytes (eg. "
 "the parameter to L</memsize> is specified in megabytes already).  Adding a "
@@ -16809,19 +17123,19 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:514
+#: ../fish/guestfish.pod:548
 msgid "OCTAL AND HEXADECIMAL NUMBERS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:516
+#: ../fish/guestfish.pod:550
 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:519
+#: ../fish/guestfish.pod:553
 #, no-wrap
 msgid ""
 " 1234      decimal number 1234\n"
@@ -16831,7 +17145,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:523
+#: ../fish/guestfish.pod:557
 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 "
@@ -16839,7 +17153,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:527
+#: ../fish/guestfish.pod:561
 #, no-wrap
 msgid ""
 " chmod 0777 /public  # OK\n"
@@ -16848,7 +17162,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:530
+#: ../fish/guestfish.pod:564
 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 "
@@ -16856,12 +17170,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:534
+#: ../fish/guestfish.pod:568
 msgid "WILDCARDS AND GLOBBING"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:536
+#: ../fish/guestfish.pod:570
 msgid ""
 "Neither guestfish nor the underlying guestfs API performs wildcard expansion "
 "(globbing) by default.  So for example the following will not do what you "
@@ -16869,7 +17183,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:540
+#: ../fish/guestfish.pod:574
 #, no-wrap
 msgid ""
 " rm-rf /home/*\n"
@@ -16877,19 +17191,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:542
+#: ../fish/guestfish.pod:576
 msgid ""
 "Assuming you don't have a directory called literally C</home/*> then the "
 "above command will return an error."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:545
+#: ../fish/guestfish.pod:579
 msgid "To perform wildcard expansion, use the C<glob> command."
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:547
+#: ../fish/guestfish.pod:581
 #, no-wrap
 msgid ""
 " glob rm-rf /home/*\n"
@@ -16897,14 +17211,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:549
+#: ../fish/guestfish.pod:583
 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:552
+#: ../fish/guestfish.pod:586
 #, no-wrap
 msgid ""
 " rm-rf /home/jim\n"
@@ -16914,24 +17228,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:556
+#: ../fish/guestfish.pod:590
 msgid "C<glob> only works on simple guest paths and not on device names."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:558
+#: ../fish/guestfish.pod:592
 msgid ""
 "If you have several parameters, each containing a wildcard, then glob will "
 "perform a Cartesian product."
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:561
+#: ../fish/guestfish.pod:595
 msgid "COMMENTS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:563
+#: ../fish/guestfish.pod:597
 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 "
@@ -16939,7 +17253,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:567
+#: ../fish/guestfish.pod:601
 #, no-wrap
 msgid ""
 " # this is a comment\n"
@@ -16949,24 +17263,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:571
+#: ../fish/guestfish.pod:605
 msgid "Blank lines are also ignored."
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:573
+#: ../fish/guestfish.pod:607
 msgid "RUNNING COMMANDS LOCALLY"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:575
+#: ../fish/guestfish.pod:609
 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:579
+#: ../fish/guestfish.pod:613
 #, no-wrap
 msgid ""
 " !mkdir local\n"
@@ -16975,7 +17289,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:582
+#: ../fish/guestfish.pod:616
 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>.  "
@@ -16983,19 +17297,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:586
+#: ../fish/guestfish.pod:620
 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:589
+#: ../fish/guestfish.pod:623
 msgid "PIPES"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:591
+#: ../fish/guestfish.pod:625
 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 "
@@ -17003,7 +17317,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:595
+#: ../fish/guestfish.pod:629
 #, no-wrap
 msgid ""
 " cat /etc/passwd | awk -F: '$3 == 0 { print }'\n"
@@ -17011,7 +17325,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:597
+#: ../fish/guestfish.pod:631
 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 "
@@ -17019,7 +17333,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:602
+#: ../fish/guestfish.pod:636
 #, no-wrap
 msgid ""
 " hexdump /bin/ls | head\n"
@@ -17029,7 +17343,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:606
+#: ../fish/guestfish.pod:640
 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 "
@@ -17038,14 +17352,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:611
+#: ../fish/guestfish.pod:645
 msgid ""
 "To use a literal argument which begins with a pipe symbol, you have to quote "
 "it, eg:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:614
+#: ../fish/guestfish.pod:648
 #, no-wrap
 msgid ""
 " echo \"|\"\n"
@@ -17053,12 +17367,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:616
+#: ../fish/guestfish.pod:650
 msgid "HOME DIRECTORIES"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:618
+#: ../fish/guestfish.pod:652
 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, "
@@ -17066,21 +17380,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:622
+#: ../fish/guestfish.pod:656
 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:625
+#: ../fish/guestfish.pod:659
 msgid ""
 "To use a literal argument which begins with a tilde, you have to quote it, "
 "eg:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:628
+#: ../fish/guestfish.pod:662
 #, no-wrap
 msgid ""
 " echo \"~\"\n"
@@ -17088,7 +17402,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:632
+#: ../fish/guestfish.pod:666
 msgid ""
 "Libguestfs has some support for Linux guests encrypted according to the "
 "Linux Unified Key Setup (LUKS) standard, which includes nearly all whole "
@@ -17097,12 +17411,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:637
+#: ../fish/guestfish.pod:671
 msgid "Identify encrypted block devices and partitions using L</vfs-type>:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:639
+#: ../fish/guestfish.pod:673
 #, no-wrap
 msgid ""
 " ><fs> vfs-type /dev/sda2\n"
@@ -17111,14 +17425,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:642
+#: ../fish/guestfish.pod:676
 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:645
+#: ../fish/guestfish.pod:679
 #, no-wrap
 msgid ""
 " ><fs> luks-open /dev/sda2 luksdev\n"
@@ -17127,14 +17441,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:648
+#: ../fish/guestfish.pod:682
 msgid ""
 "Finally you have to tell LVM to scan for volume groups on the newly created "
 "mapper device:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:651
+#: ../fish/guestfish.pod:685
 #, no-wrap
 msgid ""
 " vgscan\n"
@@ -17143,12 +17457,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:654
+#: ../fish/guestfish.pod:688
 msgid "The logical volume(s) can now be mounted in the usual way."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:656
+#: ../fish/guestfish.pod:690
 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 "
@@ -17156,7 +17470,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:660
+#: ../fish/guestfish.pod:694
 #, no-wrap
 msgid ""
 " vg-activate false /dev/VG\n"
@@ -17165,19 +17479,19 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:663
+#: ../fish/guestfish.pod:697
 msgid "WINDOWS PATHS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:665
+#: ../fish/guestfish.pod:699
 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:668
+#: ../fish/guestfish.pod:702
 #, no-wrap
 msgid ""
 " file /WINDOWS/system32/config/system.LOG\n"
@@ -17185,7 +17499,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:670
+#: ../fish/guestfish.pod:704
 #, no-wrap
 msgid ""
 " file win:/windows/system32/config/system.log\n"
@@ -17193,7 +17507,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:672
+#: ../fish/guestfish.pod:706
 #, no-wrap
 msgid ""
 " file win:\\windows\\system32\\config\\system.log\n"
@@ -17201,7 +17515,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:674
+#: ../fish/guestfish.pod:708
 #, no-wrap
 msgid ""
 " file WIN:C:\\Windows\\SYSTEM32\\conFIG\\SYSTEM.LOG\n"
@@ -17209,7 +17523,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:676
+#: ../fish/guestfish.pod:710
 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 "
@@ -17217,12 +17531,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:680
+#: ../fish/guestfish.pod:714
 msgid "UPLOADING AND DOWNLOADING FILES"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:682
+#: ../fish/guestfish.pod:716
 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 "
@@ -17230,7 +17544,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:686
+#: ../fish/guestfish.pod:720
 #, no-wrap
 msgid ""
 " upload - /foo\n"
@@ -17238,13 +17552,13 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:688
+#: ../fish/guestfish.pod:722
 msgid ""
 "reads stdin and creates from that a file C</foo> in the disk image, and:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:691
+#: ../fish/guestfish.pod:725
 #, no-wrap
 msgid ""
 " tar-out /etc - | tar tf -\n"
@@ -17252,14 +17566,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:693
+#: ../fish/guestfish.pod:727
 msgid ""
 "writes the tarball to stdout and then pipes that into the external \"tar\" "
 "command (see L</PIPES>)."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:696
+#: ../fish/guestfish.pod:730
 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 "
@@ -17267,7 +17581,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:700
+#: ../fish/guestfish.pod:734
 #, no-wrap
 msgid ""
 " upload -<<END /foo\n"
@@ -17279,7 +17593,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:706
+#: ../fish/guestfish.pod:740
 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 "
@@ -17287,19 +17601,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:710
+#: ../fish/guestfish.pod:744
 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:713
+#: ../fish/guestfish.pod:747
 msgid "EXIT ON ERROR BEHAVIOUR"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:715
+#: ../fish/guestfish.pod:749
 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 error "
@@ -17307,19 +17621,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:720
+#: ../fish/guestfish.pod:754
 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:724
+#: ../fish/guestfish.pod:758
 msgid "REMOTE CONTROL GUESTFISH OVER A SOCKET"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:726
+#: ../fish/guestfish.pod:760
 msgid ""
 "Guestfish can be remote-controlled over a socket.  This is useful "
 "particularly in shell scripts where you want to make several different "
@@ -17328,25 +17642,25 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:731
+#: ../fish/guestfish.pod:765
 msgid "Start a guestfish server process using:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:733
+#: ../fish/guestfish.pod:767
 #, no-wrap
 msgid ""
-" eval `guestfish --listen`\n"
+" eval \"`guestfish --listen`\"\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:735
+#: ../fish/guestfish.pod:769
 msgid "and then send it commands by doing:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:737
+#: ../fish/guestfish.pod:771
 #, no-wrap
 msgid ""
 " guestfish --remote cmd [...]\n"
@@ -17354,12 +17668,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:739
+#: ../fish/guestfish.pod:773
 msgid "To cause the server to exit, send it the exit command:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:741
+#: ../fish/guestfish.pod:775
 #, no-wrap
 msgid ""
 " guestfish --remote exit\n"
@@ -17367,7 +17681,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:743
+#: ../fish/guestfish.pod:777
 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 "
@@ -17375,12 +17689,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:747
+#: ../fish/guestfish.pod:781
 msgid "CONTROLLING MULTIPLE GUESTFISH PROCESSES"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:749
+#: ../fish/guestfish.pod:783
 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 "
@@ -17388,12 +17702,12 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:753
+#: ../fish/guestfish.pod:787
 #, no-wrap
 msgid ""
-" eval `guestfish --listen`\n"
+" eval \"`guestfish --listen`\"\n"
 " pid1=$GUESTFISH_PID\n"
-" eval `guestfish --listen`\n"
+" eval \"`guestfish --listen`\"\n"
 " pid2=$GUESTFISH_PID\n"
 " ...\n"
 " guestfish --remote=$pid1 cmd\n"
@@ -17402,12 +17716,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:761
+#: ../fish/guestfish.pod:795
 msgid "REMOTE CONTROL DETAILS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:763
+#: ../fish/guestfish.pod:797
 msgid ""
 "Remote control happens over a Unix domain socket called C</tmp/.guestfish-"
 "$UID/socket-$PID>, where C<$UID> is the effective user ID of the process, "
@@ -17415,17 +17729,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:767
+#: ../fish/guestfish.pod:801
 msgid "Guestfish client and server versions must match exactly."
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:769
+#: ../fish/guestfish.pod:803
 msgid "PREPARED DISK IMAGES"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:771
+#: ../fish/guestfish.pod:805
 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.  "
@@ -17435,7 +17749,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:777
+#: ../fish/guestfish.pod:811
 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 "
@@ -17443,7 +17757,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:781
+#: ../fish/guestfish.pod:815
 msgid ""
 "The type briefly describes how the disk should be sized, partitioned, how "
 "filesystem(s) should be created, and how content should be added.  "
@@ -17455,31 +17769,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:789
+#: ../fish/guestfish.pod:823
 msgid "To list the available types and any extra parameters they take, run:"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:793
+#: ../fish/guestfish.pod:827
 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:797
+#: ../fish/guestfish.pod:831
 msgid ""
 "If any I<-N> or I<--new> options are given, the guest is automatically "
 "launched."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:802
+#: ../fish/guestfish.pod:836
 msgid "Create a 100MB disk with an ext4-formatted partition:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:804
+#: ../fish/guestfish.pod:838
 #, no-wrap
 msgid ""
 " guestfish -N fs:ext4\n"
@@ -17487,12 +17801,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:806
+#: ../fish/guestfish.pod:840
 msgid "Create a 32MB disk with a VFAT-formatted partition, and mount it:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:808
+#: ../fish/guestfish.pod:842
 #, no-wrap
 msgid ""
 " guestfish -N fs:vfat:32M -m /dev/sda1\n"
@@ -17500,12 +17814,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:810
+#: ../fish/guestfish.pod:844
 msgid "Create a blank 200MB disk:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:812
+#: ../fish/guestfish.pod:846
 #, no-wrap
 msgid ""
 " guestfish -N disk:200M\n"
@@ -17513,19 +17827,19 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:814
+#: ../fish/guestfish.pod:848
 msgid "PROGRESS BARS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:816
+#: ../fish/guestfish.pod:850
 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:820
+#: ../fish/guestfish.pod:854
 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 "
@@ -17533,7 +17847,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:824
+#: ../fish/guestfish.pod:858
 #, no-wrap
 msgid ""
 " ><fs> copy-size /large-file /another-file 2048M\n"
@@ -17542,7 +17856,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:827
+#: ../fish/guestfish.pod:861
 msgid ""
 "The spinner on the left hand side moves round once for every progress "
 "notification received from the backend.  This is a (reasonably) golden "
@@ -17553,7 +17867,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:834
+#: ../fish/guestfish.pod:868
 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>, "
@@ -17561,24 +17875,24 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:839
+#: ../fish/guestfish.pod:873
 msgid "GUESTFISH COMMANDS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:841
+#: ../fish/guestfish.pod:875
 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:844
+#: ../fish/guestfish.pod:878
 msgid "help"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:846
+#: ../fish/guestfish.pod:880
 #, no-wrap
 msgid ""
 " help\n"
@@ -17587,152 +17901,152 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:849
+#: ../fish/guestfish.pod:883
 msgid ""
 "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
+#: ../fish/guestfish.pod:886
 msgid "quit | exit"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:854
+#: ../fish/guestfish.pod:888
 msgid "This exits guestfish.  You can also use C<^D> key."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:856
+#: ../fish/guestfish.pod:890
 msgid "@FISH_COMMANDS@"
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:858
+#: ../fish/guestfish.pod:892
 msgid "COMMANDS"
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:862 ../test-tool/libguestfs-test-tool.pod:83
+#: ../fish/guestfish.pod:896 ../test-tool/libguestfs-test-tool.pod:83
 msgid "EXIT CODE"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:864
+#: ../fish/guestfish.pod:898
 msgid ""
 "guestfish returns 0 if the commands completed without error, or 1 if there "
 "was an error."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:871
+#: ../fish/guestfish.pod:905
 msgid "EDITOR"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:873
+#: ../fish/guestfish.pod:907
 msgid ""
 "The C<edit> command uses C<$EDITOR> as the editor.  If not set, it uses "
 "C<vi>."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:876
+#: ../fish/guestfish.pod:910
 msgid "GUESTFISH_PID"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:878
+#: ../fish/guestfish.pod:912
 msgid ""
 "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
+#: ../fish/guestfish.pod:916
 msgid "HEXEDITOR"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:884
+#: ../fish/guestfish.pod:918
 msgid ""
 "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
+#: ../fish/guestfish.pod:922
 msgid "HOME"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:890
+#: ../fish/guestfish.pod:924
 msgid ""
 "If compiled with GNU readline support, various files in the home directory "
 "can be used.  See L</FILES>."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:899
+#: ../fish/guestfish.pod:933
 msgid ""
 "Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages.  This has the same "
 "effect as using the B<-v> option."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:911
+#: ../fish/guestfish.pod:945
 msgid ""
 "Set the path that guestfish uses to search for kernel and initrd.img.  See "
 "the discussion of paths in L<guestfs(3)>."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:922
+#: ../fish/guestfish.pod:956
 msgid "Set C<LIBGUESTFS_TRACE=1> to enable command traces."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:924
+#: ../fish/guestfish.pod:958
 msgid "PAGER"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:926
+#: ../fish/guestfish.pod:960
 msgid ""
 "The C<more> command uses C<$PAGER> as the pager.  If not set, it uses "
 "C<more>."
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:941 ../test-tool/libguestfs-test-tool.pod:88
+#: ../fish/guestfish.pod:975 ../test-tool/libguestfs-test-tool.pod:88
 msgid "FILES"
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:945
+#: ../fish/guestfish.pod:979
 msgid "$HOME/.guestfish"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:947
+#: ../fish/guestfish.pod:981
 msgid ""
 "If compiled with GNU readline support, then the command history is saved in "
 "this file."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:950
+#: ../fish/guestfish.pod:984
 msgid "$HOME/.inputrc"
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:952
+#: ../fish/guestfish.pod:986
 msgid "/etc/inputrc"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:954
+#: ../fish/guestfish.pod:988
 msgid ""
 "If compiled with GNU readline support, then these files can be used to "
 "configure readline.  For further information, please see L<readline(3)/"
@@ -17740,12 +18054,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:958
+#: ../fish/guestfish.pod:992
 msgid "To write rules which only apply to guestfish, use:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:960
+#: ../fish/guestfish.pod:994
 #, no-wrap
 msgid ""
 " $if guestfish\n"
@@ -17755,26 +18069,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:964
+#: ../fish/guestfish.pod:998
 msgid ""
 "Variables that you can set in inputrc that change the behaviour of guestfish "
 "in useful ways include:"
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:969
+#: ../fish/guestfish.pod:1003
 msgid "completion-ignore-case (default: on)"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:971
+#: ../fish/guestfish.pod:1005
 msgid ""
 "By default, guestfish will ignore case when tab-completing paths on the "
 "disk.  Use:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:974
+#: ../fish/guestfish.pod:1008
 #, no-wrap
 msgid ""
 " set completion-ignore-case off\n"
@@ -17782,22 +18096,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:976
+#: ../fish/guestfish.pod:1010
 msgid "to make guestfish case sensitive."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:980
+#: ../fish/guestfish.pod:1014
 msgid "test1.img"
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:982
+#: ../fish/guestfish.pod:1016
 msgid "test2.img (etc)"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:984
+#: ../fish/guestfish.pod:1018
 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 "
@@ -17806,7 +18120,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:993
+#: ../fish/guestfish.pod:1027
 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)>, "
@@ -17815,8 +18129,8 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:1017 ../test-tool/libguestfs-test-tool.pod:124
-#: ../fuse/guestmount.pod:234 ../inspector/virt-inspector.pl:598
+#: ../fish/guestfish.pod:1051 ../test-tool/libguestfs-test-tool.pod:124
+#: ../fuse/guestmount.pod:241 ../inspector/virt-inspector.pl:598
 #: ../tools/virt-edit.pl:370 ../tools/virt-win-reg.pl:518
 #: ../tools/virt-df.pl:657 ../tools/virt-ls.pl:251
 #: ../tools/virt-resize.pl:1516 ../tools/virt-list-filesystems.pl:206
@@ -17831,8 +18145,8 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:1022 ../test-tool/libguestfs-test-tool.pod:129
-#: ../fuse/guestmount.pod:239 ../inspector/virt-inspector.pl:603
+#: ../fish/guestfish.pod:1056 ../test-tool/libguestfs-test-tool.pod:129
+#: ../fuse/guestmount.pod:246 ../inspector/virt-inspector.pl:603
 #: ../tools/virt-edit.pl:375 ../tools/virt-win-reg.pl:523
 #: ../tools/virt-df.pl:662 ../tools/virt-ls.pl:256
 #: ../tools/virt-resize.pl:1521 ../tools/virt-list-filesystems.pl:211
@@ -17847,8 +18161,8 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:1027 ../test-tool/libguestfs-test-tool.pod:134
-#: ../fuse/guestmount.pod:244 ../inspector/virt-inspector.pl:608
+#: ../fish/guestfish.pod:1061 ../test-tool/libguestfs-test-tool.pod:134
+#: ../fuse/guestmount.pod:251 ../inspector/virt-inspector.pl:608
 #: ../tools/virt-edit.pl:380 ../tools/virt-win-reg.pl:528
 #: ../tools/virt-df.pl:667 ../tools/virt-ls.pl:261
 #: ../tools/virt-resize.pl:1526 ../tools/virt-list-filesystems.pl:216
@@ -24522,37 +24836,49 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fuse/guestmount.pod:196
+#: ../fuse/guestmount.pod:194
+msgid "See also L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>."
+msgstr ""
+
+# type: textblock
+#: ../fuse/guestmount.pod:198
 msgid "Enable SELinux support for the guest."
 msgstr ""
 
 # type: textblock
-#: ../fuse/guestmount.pod:200
+#: ../fuse/guestmount.pod:202
 msgid "Enable verbose messages from underlying libguestfs."
 msgstr ""
 
 # type: textblock
-#: ../fuse/guestmount.pod:204
+#: ../fuse/guestmount.pod:206
 msgid "Display the program version and exit."
 msgstr ""
 
+# type: textblock
+#: ../fuse/guestmount.pod:210
+msgid ""
+"This option does nothing at the moment.  See L<guestfish(1)/OPENING DISKS "
+"FOR READ AND WRITE>."
+msgstr ""
+
 # type: =item
-#: ../fuse/guestmount.pod:206
+#: ../fuse/guestmount.pod:213
 msgid "B<-x> | B<--trace>"
 msgstr ""
 
 # type: textblock
-#: ../fuse/guestmount.pod:208
+#: ../fuse/guestmount.pod:215
 msgid "Trace libguestfs calls."
 msgstr ""
 
 # type: textblock
-#: ../fuse/guestmount.pod:210
+#: ../fuse/guestmount.pod:217
 msgid "This also stops the daemon from forking into the background."
 msgstr ""
 
 # type: textblock
-#: ../fuse/guestmount.pod:216
+#: ../fuse/guestmount.pod:223
 msgid ""
 "L<guestfish(1)>, L<virt-inspector(1)>, L<virt-cat(1)>, L<virt-edit(1)>, "
 "L<virt-tar(1)>, L<guestfs(3)>, L<http://libguestfs.org/>, L<http://fuse.sf."
@@ -27658,7 +27984,7 @@ msgstr ""
 
 # type: =item
 #: ../tools/virt-rescue.pl:175
-msgid "B<--network MB>"
+msgid "B<--network>"
 msgstr ""
 
 # type: textblock
index 625e95b..33cf493 100644 (file)
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: libguestfs 1.6.1\n"
+"Project-Id-Version: libguestfs 1.6.2\n"
 "Report-Msgid-Bugs-To: libguestfs@redhat.com\n"
-"POT-Creation-Date: 2010-11-05 15:21+0000\n"
+"POT-Creation-Date: 2010-11-18 12:58+0000\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"
@@ -753,7 +753,7 @@ msgid "There are many limitations to this:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:360 ../src/guestfs.pod:365 ../src/guestfs.pod:370 ../src/guestfs.pod:374 ../src/guestfs.pod:379 ../src/guestfs.pod:383 ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:1186 ../src/guestfs.pod:1191 ../src/guestfs.pod:1195 ../src/guestfs.pod:1411 ../src/guestfs.pod:1416 ../src/guestfs.pod:1420 ../src/guestfs.pod:1522 ../src/guestfs.pod:1526 ../src/guestfs.pod:1530 ../src/guestfs.pod:1535 ../src/guestfs.pod:1543 ../src/guestfs.pod:1562 ../src/guestfs.pod:1570 ../src/guestfs.pod:1800 ../src/guestfs.pod:1806 ../src/guestfs.pod:1811 ../src/guestfs.pod:1817 ../src/guestfs.pod:1924 ../src/guestfs.pod:1928 ../src/guestfs.pod:1932 ../src/guestfs.pod:1936 ../src/guestfs-actions.pod:15 ../src/guestfs-actions.pod:22 ../src/guestfs-actions.pod:461 ../src/guestfs-actions.pod:469 ../src/guestfs-actions.pod:476 ../src/guestfs-actions.pod:483 ../src/guestfs-actions.pod:1422 ../src/guestfs-actions.pod:1426 ../src/guestfs-actions.pod:1430 ../src/guestfs-actions.pod:1434 ../src/guestfs-actions.pod:1442 ../src/guestfs-actions.pod:1446 ../src/guestfs-actions.pod:1450 ../src/guestfs-actions.pod:1460 ../src/guestfs-actions.pod:1464 ../src/guestfs-actions.pod:1468 ../src/guestfs-actions.pod:1596 ../src/guestfs-actions.pod:1600 ../src/guestfs-actions.pod:1605 ../src/guestfs-actions.pod:1610 ../src/guestfs-actions.pod:1665 ../src/guestfs-actions.pod:1669 ../src/guestfs-actions.pod:1674 ../fish/guestfish.pod:364 ../fish/guestfish.pod:368 ../fish/guestfish.pod:372 ../fish/guestfish.pod:376 ../fish/guestfish-actions.pod:13 ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:339 ../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 ../inspector/virt-inspector.pl:584 ../inspector/virt-inspector.pl:588 ../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
+#: ../src/guestfs.pod:360 ../src/guestfs.pod:365 ../src/guestfs.pod:370 ../src/guestfs.pod:374 ../src/guestfs.pod:379 ../src/guestfs.pod:383 ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:966 ../src/guestfs.pod:970 ../src/guestfs.pod:974 ../src/guestfs.pod:979 ../src/guestfs.pod:987 ../src/guestfs.pod:1006 ../src/guestfs.pod:1014 ../src/guestfs.pod:1036 ../src/guestfs.pod:1040 ../src/guestfs.pod:1044 ../src/guestfs.pod:1048 ../src/guestfs.pod:1052 ../src/guestfs.pod:1056 ../src/guestfs.pod:1481 ../src/guestfs.pod:1486 ../src/guestfs.pod:1490 ../src/guestfs.pod:1600 ../src/guestfs.pod:1605 ../src/guestfs.pod:1609 ../src/guestfs.pod:1953 ../src/guestfs.pod:1959 ../src/guestfs.pod:1964 ../src/guestfs.pod:1970 ../src/guestfs.pod:2077 ../src/guestfs.pod:2081 ../src/guestfs.pod:2085 ../src/guestfs.pod:2089 ../src/guestfs-actions.pod:15 ../src/guestfs-actions.pod:22 ../src/guestfs-actions.pod:461 ../src/guestfs-actions.pod:469 ../src/guestfs-actions.pod:476 ../src/guestfs-actions.pod:483 ../src/guestfs-actions.pod:1422 ../src/guestfs-actions.pod:1426 ../src/guestfs-actions.pod:1430 ../src/guestfs-actions.pod:1434 ../src/guestfs-actions.pod:1442 ../src/guestfs-actions.pod:1446 ../src/guestfs-actions.pod:1450 ../src/guestfs-actions.pod:1460 ../src/guestfs-actions.pod:1464 ../src/guestfs-actions.pod:1468 ../src/guestfs-actions.pod:1596 ../src/guestfs-actions.pod:1600 ../src/guestfs-actions.pod:1605 ../src/guestfs-actions.pod:1610 ../src/guestfs-actions.pod:1665 ../src/guestfs-actions.pod:1669 ../src/guestfs-actions.pod:1674 ../fish/guestfish.pod:371 ../fish/guestfish.pod:375 ../fish/guestfish.pod:379 ../fish/guestfish.pod:383 ../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 ../inspector/virt-inspector.pl:584 ../inspector/virt-inspector.pl:588 ../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 ""
 
@@ -818,30 +818,31 @@ msgid ""
 "A secure alternative is to use libguestfs to install a \"firstboot\" script "
 "(a script which runs when the guest next boots normally), and to have this "
 "script run the commands you want in the normal context of the running guest, "
-"network security and so on."
+"network security and so on.  For information about other security issues, "
+"see L</SECURITY>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:411
+#: ../src/guestfs.pod:412
 msgid ""
 "The two main API calls to run commands are L</guestfs_command> and "
 "L</guestfs_sh> (there are also variations)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:414
+#: ../src/guestfs.pod:415
 msgid ""
 "The difference is that L</guestfs_sh> runs commands using the shell, so any "
 "shell globs, redirections, etc will work."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:417
+#: ../src/guestfs.pod:418
 msgid "CONFIGURATION FILES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:419
+#: ../src/guestfs.pod:420
 msgid ""
 "To read and write configuration files in Linux guest filesystems, we "
 "strongly recommend using Augeas.  For example, Augeas understands how to "
@@ -850,7 +851,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:424
+#: ../src/guestfs.pod:425
 msgid ""
 "The main Augeas calls are bound through the C<guestfs_aug_*> APIs.  We don't "
 "document Augeas itself here because there is excellent documentation on the "
@@ -858,7 +859,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:428
+#: ../src/guestfs.pod:429
 msgid ""
 "If you don't want to use Augeas (you fool!) then try calling "
 "L</guestfs_read_lines> to get the file as a list of lines which you can "
@@ -866,29 +867,29 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:432
+#: ../src/guestfs.pod:433
 msgid "SELINUX"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:434
+#: ../src/guestfs.pod:435
 msgid ""
 "We support SELinux guests.  To ensure that labeling happens correctly in "
 "SELinux guests, you need to enable SELinux and load the guest's policy:"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:440
+#: ../src/guestfs.pod:441 ../src/guestfs.pod:1151
 msgid "1."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:442
+#: ../src/guestfs.pod:443
 msgid "Before launching, do:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:444
+#: ../src/guestfs.pod:445
 #, no-wrap
 msgid ""
 " guestfs_set_selinux (g, 1);\n"
@@ -896,19 +897,19 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:446
+#: ../src/guestfs.pod:447 ../src/guestfs.pod:1155
 msgid "2."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:448
+#: ../src/guestfs.pod:449
 msgid ""
 "After mounting the guest's filesystem(s), load the policy.  This is best "
 "done by running the L<load_policy(8)> command in the guest itself:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:452
+#: ../src/guestfs.pod:453
 #, no-wrap
 msgid ""
 " guestfs_sh (g, \"/usr/sbin/load_policy\");\n"
@@ -916,26 +917,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:454
+#: ../src/guestfs.pod:455
 msgid ""
 "(Older versions of C<load_policy> require you to specify the name of the "
 "policy file)."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:457
+#: ../src/guestfs.pod:458
 msgid "3."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:459
+#: ../src/guestfs.pod:460
 msgid ""
 "Optionally, set the security context for the API.  The correct security "
 "context to use can only be known by inspecting the guest.  As an example:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:463
+#: ../src/guestfs.pod:464
 #, no-wrap
 msgid ""
 " guestfs_setcon (g, \"unconfined_u:unconfined_r:unconfined_t:s0\");\n"
@@ -943,24 +944,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:467
+#: ../src/guestfs.pod:468
 msgid "This will work for running commands and editing existing files."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:469
+#: ../src/guestfs.pod:470
 msgid ""
 "When new files are created, you may need to label them explicitly, for "
 "example by running the external command C<restorecon pathname>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:473
+#: ../src/guestfs.pod:474
 msgid "UMASK"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:475
+#: ../src/guestfs.pod:476
 msgid ""
 "Certain calls are affected by the current file mode creation mask (the "
 "\"umask\").  In particular ones which create files or directories, such as "
@@ -970,14 +971,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:481
+#: ../src/guestfs.pod:482
 msgid ""
 "The default umask is C<022>, so files are created with modes such as C<0644> "
 "and directories with C<0755>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:484
+#: ../src/guestfs.pod:485
 msgid ""
 "There are two ways to avoid being affected by umask.  Either set umask to 0 "
 "(call C<guestfs_umask (g, 0)> early after launching).  Or call "
@@ -985,17 +986,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:488
+#: ../src/guestfs.pod:489
 msgid "For more information about umask, see L<umask(2)>."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:490 ../fish/guestfish.pod:630
+#: ../src/guestfs.pod:491 ../fish/guestfish.pod:664
 msgid "ENCRYPTED DISKS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:492
+#: ../src/guestfs.pod:493
 msgid ""
 "Libguestfs allows you to access Linux guests which have been encrypted using "
 "whole disk encryption that conforms to the Linux Unified Key Setup (LUKS) "
@@ -1004,21 +1005,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:498
+#: ../src/guestfs.pod:499
 msgid ""
 "Use L</guestfs_vfs_type> to identify LUKS-encrypted block devices (it "
 "returns the string C<crypto_LUKS>)."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:501
+#: ../src/guestfs.pod:502
 msgid ""
 "Then open these devices by calling L</guestfs_luks_open>.  Obviously you "
 "will require the passphrase!"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:504
+#: ../src/guestfs.pod:505
 msgid ""
 "Opening a LUKS device creates a new device mapper device called "
 "C</dev/mapper/mapname> (where C<mapname> is the string you supply to "
@@ -1027,7 +1028,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:510
+#: ../src/guestfs.pod:511
 msgid ""
 "LVM volume groups on the device can be made visible by calling "
 "L</guestfs_vgscan> followed by L</guestfs_vg_activate_all>.  The logical "
@@ -1035,7 +1036,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:514
+#: ../src/guestfs.pod:515
 msgid ""
 "Use the reverse process to close a LUKS device.  Unmount any logical volumes "
 "on it, deactivate the volume groups by caling C<guestfs_vg_activate (g, 0, "
@@ -1045,12 +1046,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:521
+#: ../src/guestfs.pod:522
 msgid "INSPECTION"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:523
+#: ../src/guestfs.pod:524
 msgid ""
 "Libguestfs has APIs for inspecting an unknown disk image to find out if it "
 "contains operating systems.  (These APIs used to be in a separate Perl-only "
@@ -1060,14 +1061,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:529
+#: ../src/guestfs.pod:530
 msgid ""
 "Add all disks belonging to the unknown virtual machine and call "
 "L</guestfs_launch> in the usual way."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:532
+#: ../src/guestfs.pod:533
 msgid ""
 "Then call L</guestfs_inspect_os>.  This function uses other libguestfs calls "
 "and certain heuristics, and returns a list of operating systems that were "
@@ -1080,7 +1081,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:541
+#: ../src/guestfs.pod:542
 msgid ""
 "For each root, you can then call various C<guestfs_inspect_get_*> functions "
 "to get additional details about that operating system.  For example, call "
@@ -1089,7 +1090,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:547
+#: ../src/guestfs.pod:548
 msgid ""
 "Un*x-like and Linux-based operating systems usually consist of several "
 "filesystems which are mounted at boot time (for example, a separate boot "
@@ -1100,7 +1101,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:554
+#: ../src/guestfs.pod:555
 #, no-wrap
 msgid ""
 " /boot => /dev/sda1\n"
@@ -1110,14 +1111,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:558
+#: ../src/guestfs.pod:559
 msgid ""
 "The caller can then make calls to L</guestfs_mount_options> to mount the "
 "filesystems as suggested."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:561
+#: ../src/guestfs.pod:562
 msgid ""
 "Be careful to mount filesystems in the right order (eg. C</> before "
 "C</usr>).  Sorting the keys of the hash by length, shortest first, should "
@@ -1125,7 +1126,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:565
+#: ../src/guestfs.pod:566
 msgid ""
 "Inspection currently only works for some common operating systems.  "
 "Contributors are welcome to send patches for other operating systems that we "
@@ -1133,7 +1134,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:569
+#: ../src/guestfs.pod:570
 msgid ""
 "Encrypted disks must be opened before inspection.  See L</ENCRYPTED DISKS> "
 "for more details.  The L</guestfs_inspect_os> function just ignores any "
@@ -1141,7 +1142,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:573
+#: ../src/guestfs.pod:574
 msgid ""
 "A note on the implementation: The call L</guestfs_inspect_os> performs "
 "inspection and caches the results in the guest handle.  Subsequent calls to "
@@ -1151,19 +1152,19 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:580
+#: ../src/guestfs.pod:581
 msgid "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:582
+#: ../src/guestfs.pod:583
 msgid ""
 "Libguestfs can mount NTFS partitions.  It does this using the "
 "L<http://www.ntfs-3g.org/> driver."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:585
+#: ../src/guestfs.pod:586
 msgid ""
 "DOS and Windows still use drive letters, and the filesystems are always "
 "treated as case insensitive by Windows itself, and therefore you might find "
@@ -1173,7 +1174,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:591
+#: ../src/guestfs.pod:592
 msgid ""
 "Drive letter mappings are outside the scope of libguestfs.  You have to use "
 "libguestfs to read the appropriate Windows Registry and configuration files, "
@@ -1182,21 +1183,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:596
+#: ../src/guestfs.pod:597
 msgid ""
 "Replacing backslash characters with forward slash characters is also outside "
 "the scope of libguestfs, but something that you can easily do."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:599
+#: ../src/guestfs.pod:600
 msgid ""
 "Where we can help is in resolving the case insensitivity of paths.  For "
 "this, call L</guestfs_case_sensitive_path>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:602
+#: ../src/guestfs.pod:603
 msgid ""
 "Libguestfs also provides some help for decoding Windows Registry \"hive\" "
 "files, through the library C<hivex> which is part of the libguestfs project "
@@ -1207,19 +1208,19 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:610
+#: ../src/guestfs.pod:611
 msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:612
+#: ../src/guestfs.pod:613
 msgid ""
 "Although we don't want to discourage you from using the C API, we will "
 "mention here that the same API is also available in other languages."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:615
+#: ../src/guestfs.pod:616
 msgid ""
 "The API is broadly identical in all supported languages.  This means that "
 "the C call C<guestfs_mount(g,path)> is C<$g-E<gt>mount($path)> in Perl, "
@@ -1228,14 +1229,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:621
+#: ../src/guestfs.pod:622
 msgid ""
 "Error messages are automatically transformed into exceptions if the language "
 "supports it."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:624
+#: ../src/guestfs.pod:625
 msgid ""
 "We don't try to \"object orientify\" parts of the API in OO languages, "
 "although contributors are welcome to write higher level APIs above what we "
@@ -1243,36 +1244,36 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:630
+#: ../src/guestfs.pod:631
 msgid "B<C++>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:632
+#: ../src/guestfs.pod:633
 msgid ""
 "You can use the I<guestfs.h> header file from C++ programs.  The C++ API is "
 "identical to the C API.  C++ classes and exceptions are not used."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:636
+#: ../src/guestfs.pod:637
 msgid "B<C#>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:638
+#: ../src/guestfs.pod:639
 msgid ""
 "The C# bindings are highly experimental.  Please read the warnings at the "
 "top of C<csharp/Libguestfs.cs>."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:641
+#: ../src/guestfs.pod:642
 msgid "B<Haskell>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:643
+#: ../src/guestfs.pod:644
 msgid ""
 "This is the only language binding that is working but incomplete.  Only "
 "calls which return simple integers have been bound in Haskell, and we are "
@@ -1280,66 +1281,66 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:647
+#: ../src/guestfs.pod:648
 msgid "B<Java>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:649
+#: ../src/guestfs.pod:650
 msgid ""
 "Full documentation is contained in the Javadoc which is distributed with "
 "libguestfs."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:652
+#: ../src/guestfs.pod:653
 msgid "B<OCaml>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:654
+#: ../src/guestfs.pod:655
 msgid "For documentation see the file C<guestfs.mli>."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:656
+#: ../src/guestfs.pod:657
 msgid "B<Perl>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:658
+#: ../src/guestfs.pod:659
 msgid "For documentation see L<Sys::Guestfs(3)>."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:660
+#: ../src/guestfs.pod:661
 msgid "B<PHP>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:662
+#: ../src/guestfs.pod:663
 msgid ""
 "For documentation see C<README-PHP> supplied with libguestfs sources or in "
 "the php-libguestfs package for your distribution."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:665
+#: ../src/guestfs.pod:666
 msgid "The PHP binding only works correctly on 64 bit machines."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:667
+#: ../src/guestfs.pod:668
 msgid "B<Python>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:669
+#: ../src/guestfs.pod:670
 msgid "For documentation do:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:671
+#: ../src/guestfs.pod:672
 #, no-wrap
 msgid ""
 " $ python\n"
@@ -1349,34 +1350,34 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:675
+#: ../src/guestfs.pod:676
 msgid "B<Ruby>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:677
+#: ../src/guestfs.pod:678
 msgid ""
 "Use the Guestfs module.  There is no Ruby-specific documentation, but you "
 "can find examples written in Ruby in the libguestfs source."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:680
+#: ../src/guestfs.pod:681
 msgid "B<shell scripts>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:682
+#: ../src/guestfs.pod:683
 msgid "For documentation see L<guestfish(1)>."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:686
+#: ../src/guestfs.pod:687
 msgid "LIBGUESTFS GOTCHAS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:688
+#: ../src/guestfs.pod:689
 msgid ""
 "L<http://en.wikipedia.org/wiki/Gotcha_(programming)>: \"A feature of a "
 "system [...] that works in the way it is documented but is counterintuitive "
@@ -1384,7 +1385,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:692
+#: ../src/guestfs.pod:693
 msgid ""
 "Since we developed libguestfs and the associated tools, there are several "
 "things we would have designed differently, but are now stuck with for "
@@ -1393,12 +1394,12 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:700
+#: ../src/guestfs.pod:701
 msgid "Autosync / forgetting to sync."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:702
+#: ../src/guestfs.pod:703
 msgid ""
 "When modifying a filesystem from C or another language, you B<must> unmount "
 "all filesystems and call L</guestfs_sync> explicitly before you close the "
@@ -1406,7 +1407,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:706
+#: ../src/guestfs.pod:707
 #, no-wrap
 msgid ""
 " guestfs_set_autosync (g, 1);\n"
@@ -1414,7 +1415,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:708
+#: ../src/guestfs.pod:709
 msgid ""
 "to have the unmount/sync done automatically for you when the handle 'g' is "
 "closed.  (This feature is called \"autosync\", L</guestfs_set_autosync> "
@@ -1422,7 +1423,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:712
+#: ../src/guestfs.pod:713
 msgid ""
 "If you forget to do this, then it is entirely possible that your changes "
 "won't be written out, or will be partially written, or (very rarely) that "
@@ -1430,7 +1431,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:716
+#: ../src/guestfs.pod:717
 msgid ""
 "Note that in L<guestfish(3)> autosync is the default.  So quick and dirty "
 "guestfish scripts that forget to sync will work just fine, which can make "
@@ -1438,19 +1439,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:720
+#: ../src/guestfs.pod:721
 msgid ""
 "Update: Autosync is enabled by default for all API users starting from "
 "libguestfs 1.5.24."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:723
+#: ../src/guestfs.pod:724
 msgid "Mount option C<-o sync> should not be the default."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:725
+#: ../src/guestfs.pod:726
 msgid ""
 "If you use L</guestfs_mount>, then C<-o sync,noatime> are added implicitly.  "
 "However C<-o sync> does not add any reliability benefit, but does have a "
@@ -1458,31 +1459,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:729
+#: ../src/guestfs.pod:730
 msgid ""
 "The work around is to use L</guestfs_mount_options> and set the mount "
 "options that you actually want to use."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:732
+#: ../src/guestfs.pod:733
 msgid "Read-only should be the default."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:734
+#: ../src/guestfs.pod:735
 msgid ""
 "In L<guestfish(3)>, I<--ro> should be the default, and you should have to "
 "specify I<--rw> if you want to make changes to the image."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:737
+#: ../src/guestfs.pod:738
 msgid "This would reduce the potential to corrupt live VM images."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:739
+#: ../src/guestfs.pod:740
 msgid ""
 "Note that many filesystems change the disk when you just mount and unmount, "
 "even if you didn't perform any writes.  You need to use "
@@ -1490,12 +1491,12 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:743
+#: ../src/guestfs.pod:744
 msgid "guestfish command line is hard to use."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:745
+#: ../src/guestfs.pod:746
 msgid ""
 "C<guestfish disk.img> doesn't do what people expect (open C<disk.img> for "
 "examination).  It tries to run a guestfish command C<disk.img> which doesn't "
@@ -1505,12 +1506,12 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:752
+#: ../src/guestfs.pod:753
 msgid "guestfish megabyte modifiers don't work right on all commands"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:754
+#: ../src/guestfs.pod:755
 msgid ""
 "In recent guestfish you can use C<1M> to mean 1 megabyte (and similarly for "
 "other modifiers).  What guestfish actually does is to multiply the number "
@@ -1520,12 +1521,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:761
+#: ../src/guestfs.pod:762
 msgid "The most common is L</guestfs_lvcreate>.  The guestfish command:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:763
+#: ../src/guestfs.pod:764
 #, no-wrap
 msgid ""
 " lvcreate LV VG 100M\n"
@@ -1533,7 +1534,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:765
+#: ../src/guestfs.pod:766
 msgid ""
 "does not do what you might expect.  Instead because L</guestfs_lvcreate> is "
 "already expecting megabytes, this tries to create a 100 I<terabyte> (100 "
@@ -1542,19 +1543,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:770
+#: ../src/guestfs.pod:771
 msgid ""
 "This could be fixed in the generator by specially marking parameters and "
 "return values which take bytes or other units."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:773
+#: ../src/guestfs.pod:774
 msgid "Library should return errno with error messages."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:775
+#: ../src/guestfs.pod:776
 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 "
@@ -1563,19 +1564,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:781
+#: ../src/guestfs.pod:782
 msgid ""
 "In libguestfs 1.5.4, the protocol was changed so that the Linux errno is "
 "sent back from the daemon."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:784
+#: ../src/guestfs.pod:785
 msgid "Ambiguity between devices and paths"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:786
+#: ../src/guestfs.pod:787
 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 "
@@ -1583,7 +1584,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:791
+#: ../src/guestfs.pod:792
 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>.  "
@@ -1592,7 +1593,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:797
+#: ../src/guestfs.pod:798
 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 "
@@ -1602,7 +1603,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:803
+#: ../src/guestfs.pod:804
 #, no-wrap
 msgid ""
 " type path = Path of string | Device of int | Partition of int * int\n"
@@ -1610,12 +1611,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:805
+#: ../src/guestfs.pod:806
 msgid "which would allow you to pass arguments like:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:807
+#: ../src/guestfs.pod:808
 #, no-wrap
 msgid ""
 " Path \"/foo/bar\"\n"
@@ -1626,19 +1627,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:812
+#: ../src/guestfs.pod:813
 msgid ""
 "As you can see there are still problems to resolve even with this "
 "representation.  Also consider how it might work in guestfish."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:817
+#: ../src/guestfs.pod:818
 msgid "PROTOCOL LIMITS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:819
+#: ../src/guestfs.pod:820
 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 "
@@ -1649,7 +1650,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:827
+#: ../src/guestfs.pod:828
 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 "
@@ -1658,7 +1659,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:833
+#: ../src/guestfs.pod:834
 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> "
@@ -1666,26 +1667,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:837
+#: ../src/guestfs.pod:838
 msgid ""
 "You might also consider mounting the disk image using our FUSE filesystem "
 "support (L<guestmount(1)>)."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:840
+#: ../src/guestfs.pod:841
 msgid "KEYS AND PASSPHRASES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:842
+#: ../src/guestfs.pod:843
 msgid ""
 "Certain libguestfs calls take a parameter that contains sensitive key "
 "material, passed in as a C string."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:845
+#: ../src/guestfs.pod:846
 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 "
@@ -1694,25 +1695,557 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:850
+#: ../src/guestfs.pod:851
 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, "
 "scrub the swap partition or don't use libguestfs on encrypted devices."
 msgstr ""
 
+# type: =head2
+#: ../src/guestfs.pod:856
+msgid "MULTIPLE HANDLES AND MULTIPLE THREADS"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:858
+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:861
+msgid ""
+"Only use the handle from a single thread.  Either use the handle exclusively "
+"from one thread, or provide your own mutex so that two threads cannot issue "
+"calls on the same handle at the same time."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:865
+msgid ""
+"See the graphical program guestfs-browser for one possible architecture for "
+"multithreaded programs using libvirt and libguestfs."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:868
+msgid "PATH"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:870
+msgid ""
+"Libguestfs needs a kernel and initrd.img, which it finds by looking along an "
+"internal path."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:873
+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:876
+msgid ""
+"Use L</guestfs_set_path> or set the environment variable L</LIBGUESTFS_PATH> "
+"to change the directories that libguestfs will search in.  The value is a "
+"colon-separated list of paths.  The current directory is I<not> searched "
+"unless the path contains an empty element or C<.>.  For example "
+"C<LIBGUESTFS_PATH=:/usr/lib/guestfs> would search the current directory and "
+"then C</usr/lib/guestfs>."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:883
+msgid "QEMU WRAPPERS"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:885
+msgid ""
+"If you want to compile your own qemu, run qemu from a non-standard location, "
+"or pass extra arguments to qemu, then you can write a shell-script wrapper "
+"around qemu."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:889
+msgid ""
+"There is one important rule to remember: you I<must C<exec qemu>> as the "
+"last command in the shell script (so that qemu replaces the shell and "
+"becomes the direct child of the libguestfs-using program).  If you don't do "
+"this, then the qemu process won't be cleaned up correctly."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:894
+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:897
+#, no-wrap
+msgid ""
+" #!/bin/sh -\n"
+" qemudir=/home/rjones/d/qemu\n"
+" exec $qemudir/x86_64-softmmu/qemu-system-x86_64 -L $qemudir/pc-bios "
+"\"$@\"\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:901
+msgid ""
+"Save this script as C</tmp/qemu.wrapper> (or wherever), C<chmod +x>, and "
+"then use it by setting the LIBGUESTFS_QEMU environment variable.  For "
+"example:"
+msgstr ""
+
+# type: verbatim
+#: ../src/guestfs.pod:905
+#, no-wrap
+msgid ""
+" LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:907
+msgid ""
+"Note that libguestfs also calls qemu with the -help and -version options in "
+"order to determine features."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:910
+msgid "ABI GUARANTEE"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:912
+msgid ""
+"We guarantee the libguestfs ABI (binary interface), for public, high-level "
+"actions as outlined in this section.  Although we will deprecate some "
+"actions, for example if they get replaced by newer calls, we will keep the "
+"old actions forever.  This allows you the developer to program in confidence "
+"against the libguestfs API."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:918
+msgid "BLOCK DEVICE NAMING"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:920
+msgid ""
+"In the kernel there is now quite a profusion of schemata for naming block "
+"devices (in this context, by I<block device> I mean a physical or virtual "
+"hard drive).  The original Linux IDE driver used names starting with "
+"C</dev/hd*>.  SCSI devices have historically used a different naming scheme, "
+"C</dev/sd*>.  When the Linux kernel I<libata> driver became a popular "
+"replacement for the old IDE driver (particularly for SATA devices) those "
+"devices also used the C</dev/sd*> scheme.  Additionally we now have virtual "
+"machines with paravirtualized drivers.  This has created several different "
+"naming systems, such as C</dev/vd*> for virtio disks and C</dev/xvd*> for "
+"Xen PV disks."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:932
+msgid ""
+"As discussed above, libguestfs uses a qemu appliance running an embedded "
+"Linux kernel to access block devices.  We can run a variety of appliances "
+"based on a variety of Linux kernels."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:936
+msgid ""
+"This causes a problem for libguestfs because many API calls use device or "
+"partition names.  Working scripts and the recipe (example) scripts that we "
+"make available over the internet could fail if the naming scheme changes."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:941
+msgid ""
+"Therefore libguestfs defines C</dev/sd*> as the I<standard naming scheme>.  "
+"Internally C</dev/sd*> names are translated, if necessary, to other names as "
+"required.  For example, under RHEL 5 which uses the C</dev/hd*> scheme, any "
+"device parameter C</dev/sda2> is translated to C</dev/hda2> transparently."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:947
+msgid ""
+"Note that this I<only> applies to parameters.  The L</guestfs_list_devices>, "
+"L</guestfs_list_partitions> and similar calls return the true names of the "
+"devices and partitions as known to the appliance."
+msgstr ""
+
+# type: =head3
+#: ../src/guestfs.pod:952
+msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:954
+msgid ""
+"Usually this translation is transparent.  However in some (very rare)  cases "
+"you may need to know the exact algorithm.  Such cases include where you use "
+"L</guestfs_config> to add a mixture of virtio and IDE devices to the "
+"qemu-based appliance, so have a mixture of C</dev/sd*> and C</dev/vd*> "
+"devices."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:960
+msgid ""
+"The algorithm is applied only to I<parameters> which are known to be either "
+"device or partition names.  Return values from functions such as "
+"L</guestfs_list_devices> are never changed."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:968
+msgid "Is the string a parameter which is a device or partition name?"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:972
+msgid "Does the string begin with C</dev/sd>?"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:976
+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:981
+msgid "Replace initial C</dev/sd> string with C</dev/hd>."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:983
+msgid "For example, change C</dev/sda2> to C</dev/hda2>."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:985
+msgid "If that named device exists, use it.  If not, continue."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:989
+msgid "Replace initial C</dev/sd> string with C</dev/vd>."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:991
+msgid "If that named device exists, use it.  If not, return an error."
+msgstr ""
+
+# type: =head3
+#: ../src/guestfs.pod:995
+msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:997
+msgid ""
+"Although the standard naming scheme and automatic translation is useful for "
+"simple programs and guestfish scripts, for larger programs it is best not to "
+"rely on this mechanism."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1001
+msgid ""
+"Where possible for maximum future portability programs using libguestfs "
+"should use these future-proof techniques:"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1008
+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:1011
+msgid "Since those device names exist by definition, they will never be translated."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1016
+msgid ""
+"Use higher level ways to identify filesystems, such as LVM names, UUIDs and "
+"filesystem labels."
+msgstr ""
+
 # type: =head1
-#: ../src/guestfs.pod:855
+#: ../src/guestfs.pod:1021
+msgid "SECURITY"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1023
+msgid ""
+"This section discusses security implications of using libguestfs, "
+"particularly with untrusted or malicious guests or disk images."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1026
+msgid "GENERAL SECURITY CONSIDERATIONS"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1028
+msgid ""
+"Be careful with any files or data that you download from a guest (by "
+"\"download\" we mean not just the L</guestfs_download> command but any "
+"command that reads files, filenames, directories or anything else from a "
+"disk image).  An attacker could manipulate the data to fool your program "
+"into doing the wrong thing.  Consider cases such as:"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1038
+msgid "the data (file etc) not being present"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1042
+msgid "being present but empty"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1046
+msgid "being much larger than normal"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1050
+msgid "containing arbitrary 8 bit data"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1054
+msgid "being in an unexpected character encoding"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1058
+msgid "containing homoglyphs."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1062
+msgid "SECURITY OF MOUNTING FILESYSTEMS"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1064
+msgid ""
+"When you mount a filesystem under Linux, mistakes in the kernel filesystem "
+"(VFS) module can sometimes be escalated into exploits by deliberately "
+"creating a malicious, malformed filesystem.  These exploits are very severe "
+"for two reasons.  Firstly there are very many filesystem drivers in the "
+"kernel, and many of them are infrequently used and not much developer "
+"attention has been paid to the code.  Linux userspace helps potential "
+"crackers by detecting the filesystem type and automatically choosing the "
+"right VFS driver, even if that filesystem type is obscure or unexpected for "
+"the administrator.  Secondly, a kernel-level exploit is like a local root "
+"exploit (worse in some ways), giving immediate and total access to the "
+"system right down to the hardware level."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1077
+msgid ""
+"That explains why you should never mount a filesystem from an untrusted "
+"guest on your host kernel.  How about libguestfs? We run a Linux kernel "
+"inside a qemu virtual machine, usually running as a non-root user.  The "
+"attacker would need to write a filesystem which first exploited the kernel, "
+"and then exploited either qemu virtualization (eg. a faulty qemu driver) or "
+"the libguestfs protocol, and finally to be as serious as the host kernel "
+"exploit it would need to escalate its privileges to root.  This multi-step "
+"escalation, performed by a static piece of data, is thought to be extremely "
+"hard to do, although we never say 'never' about security issues."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1088
+msgid ""
+"In any case callers can reduce the attack surface by forcing the filesystem "
+"type when mounting (use L</guestfs_mount_vfs>)."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1091
+msgid "PROTOCOL SECURITY"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1093
+msgid ""
+"The protocol is designed to be secure, being based on RFC 4506 (XDR)  with a "
+"defined upper message size.  However a program that uses libguestfs must "
+"also take care - for example you can write a program that downloads a binary "
+"from a disk image and executes it locally, and no amount of protocol "
+"security will save you from the consequences."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1099
+msgid "INSPECTION SECURITY"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1101
+msgid ""
+"Parts of the inspection API (see L</INSPECTION>) return untrusted strings "
+"directly from the guest, and these could contain any 8 bit data.  Callers "
+"should be careful to escape these before printing them to a structured file "
+"(for example, use HTML escaping if creating a web page)."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1107
+msgid ""
+"The inspection API parses guest configuration using two external libraries: "
+"Augeas (Linux configuration) and hivex (Windows Registry).  Both are "
+"designed to be robust in the face of malicious data, although denial of "
+"service attacks are still possible, for example with oversized configuration "
+"files."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1113
+msgid "RUNNING UNTRUSTED GUEST COMMANDS"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1115
+msgid ""
+"Be very cautious about running commands from the guest.  By running a "
+"command in the guest, you are giving CPU time to a binary that you do not "
+"control, under the same user account as the library, albeit wrapped in qemu "
+"virtualization.  More information and alternatives can be found in the "
+"section L</RUNNING COMMANDS>."
+msgstr ""
+
+# type: =head2
+#: ../src/guestfs.pod:1121
+msgid "CVE-2010-3851"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1123
+msgid "https://bugzilla.redhat.com/642934"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1125
+msgid ""
+"This security bug concerns the automatic disk format detection that qemu "
+"does on disk images."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1128
+msgid ""
+"A raw disk image is just the raw bytes, there is no header.  Other disk "
+"images like qcow2 contain a special header.  Qemu deals with this by looking "
+"for one of the known headers, and if none is found then assuming the disk "
+"image must be raw."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1133
+msgid ""
+"This allows a guest which has been given a raw disk image to write some "
+"other header.  At next boot (or when the disk image is accessed by "
+"libguestfs) qemu would do autodetection and think the disk image format was, "
+"say, qcow2 based on the header written by the guest."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1138
+msgid ""
+"This in itself would not be a problem, but qcow2 offers many features, one "
+"of which is to allow a disk image to refer to another image (called the "
+"\"backing disk\").  It does this by placing the path to the backing disk "
+"into the qcow2 header.  This path is not validated and could point to any "
+"host file (eg. \"/etc/passwd\").  The backing disk is then exposed through "
+"\"holes\" in the qcow2 disk image, which of course is completely under the "
+"control of the attacker."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1146
+msgid "In libguestfs this is rather hard to exploit except under two circumstances:"
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1153
+msgid "You have enabled the network or have opened the disk in write mode."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1157
+msgid ""
+"You are also running untrusted code from the guest (see L</RUNNING "
+"COMMANDS>)."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1162
+msgid ""
+"The way to avoid this is to specify the expected disk format when adding "
+"disks (the optional C<format> option to L</guestfs_add_drive_opts>).  You "
+"should always do this if the disk is raw format, and it's a good idea for "
+"other cases too."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1167
+msgid ""
+"For disks added from libvirt using calls like L</guestfs_add_domain>, the "
+"format is fetched from libvirt and passed through."
+msgstr ""
+
+# type: textblock
+#: ../src/guestfs.pod:1170
+msgid ""
+"For libguestfs tools, use the I<--format> command line parameter as "
+"appropriate."
+msgstr ""
+
+# type: =head1
+#: ../src/guestfs.pod:1173
 msgid "CONNECTION MANAGEMENT"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:857
+#: ../src/guestfs.pod:1175
 msgid "guestfs_h *"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:859
+#: ../src/guestfs.pod:1177
 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 "
@@ -1720,19 +2253,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:863
+#: ../src/guestfs.pod:1181
 msgid ""
 "For information on using multiple handles and threads, see the section "
 "L</MULTIPLE HANDLES AND MULTIPLE THREADS> below."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:866
+#: ../src/guestfs.pod:1184
 msgid "guestfs_create"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:868
+#: ../src/guestfs.pod:1186
 #, no-wrap
 msgid ""
 " guestfs_h *guestfs_create (void);\n"
@@ -1740,43 +2273,43 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:870
+#: ../src/guestfs.pod:1188
 msgid "Create a connection handle."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:872
+#: ../src/guestfs.pod:1190
 msgid ""
 "You have to call L</guestfs_add_drive_opts> (or one of the equivalent calls) "
 "on the handle at least once."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:875
+#: ../src/guestfs.pod:1193
 msgid ""
 "This function returns a non-NULL pointer to a handle on success or NULL on "
 "error."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:878
+#: ../src/guestfs.pod:1196
 msgid "After configuring the handle, you have to call L</guestfs_launch>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:880
+#: ../src/guestfs.pod:1198
 msgid ""
 "You may also want to configure error handling for the handle.  See L</ERROR "
 "HANDLING> section below."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:883
+#: ../src/guestfs.pod:1201
 msgid "guestfs_close"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:885
+#: ../src/guestfs.pod:1203
 #, no-wrap
 msgid ""
 " void guestfs_close (guestfs_h *g);\n"
@@ -1784,17 +2317,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:887
+#: ../src/guestfs.pod:1205
 msgid "This closes the connection handle and frees up all resources used."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:889
+#: ../src/guestfs.pod:1207
 msgid "ERROR HANDLING"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:891
+#: ../src/guestfs.pod:1209
 msgid ""
 "API functions can return errors.  For example, almost all functions that "
 "return C<int> will return C<-1> to indicate an error.  You can get "
@@ -1803,7 +2336,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:897
+#: ../src/guestfs.pod:1215
 msgid ""
 "When the handle is created, a default error handler is installed which "
 "prints the error message string to C<stderr>.  For small short-running "
@@ -1811,7 +2344,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:901
+#: ../src/guestfs.pod:1219
 #, no-wrap
 msgid ""
 " if (guestfs_launch (g) == -1)\n"
@@ -1820,21 +2353,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:904
+#: ../src/guestfs.pod:1222
 msgid ""
 "since the default error handler will ensure that an error message has been "
 "printed to C<stderr> before the program exits."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:907
+#: ../src/guestfs.pod:1225
 msgid ""
 "For other programs the caller will almost certainly want to install an "
 "alternate error handler or do error handling in-line like this:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:910
+#: ../src/guestfs.pod:1228
 #, no-wrap
 msgid ""
 " g = guestfs_create ();\n"
@@ -1842,7 +2375,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:912
+#: ../src/guestfs.pod:1230
 #, no-wrap
 msgid ""
 " /* This disables the default behaviour of printing errors\n"
@@ -1852,7 +2385,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:916
+#: ../src/guestfs.pod:1234
 #, no-wrap
 msgid ""
 " if (guestfs_launch (g) == -1) {\n"
@@ -1865,7 +2398,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:923
+#: ../src/guestfs.pod:1241
 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 "
@@ -1873,7 +2406,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:927
+#: ../src/guestfs.pod:1245
 msgid ""
 "L</guestfs_create> returns C<NULL> if the handle cannot be created, and "
 "because there is no handle if this happens there is no way to get additional "
@@ -1883,12 +2416,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:933
+#: ../src/guestfs.pod:1251
 msgid "guestfs_last_error"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:935
+#: ../src/guestfs.pod:1253
 #, no-wrap
 msgid ""
 " const char *guestfs_last_error (guestfs_h *g);\n"
@@ -1896,26 +2429,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:937
+#: ../src/guestfs.pod:1255
 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:941
+#: ../src/guestfs.pod:1259
 msgid ""
 "The lifetime of the returned string is until the next error occurs, or "
 "L</guestfs_close> is called."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:944
+#: ../src/guestfs.pod:1262
 msgid "guestfs_set_error_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:946
+#: ../src/guestfs.pod:1264
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n"
@@ -1928,7 +2461,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:953
+#: ../src/guestfs.pod:1271
 msgid ""
 "The callback C<cb> will be called if there is an error.  The parameters "
 "passed to the callback are an opaque data pointer and the error message "
@@ -1936,7 +2469,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:957
+#: ../src/guestfs.pod:1275
 msgid ""
 "Note that the message string C<msg> is freed as soon as the callback "
 "function returns, so if you want to stash it somewhere you must make your "
@@ -1944,22 +2477,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:961
+#: ../src/guestfs.pod:1279
 msgid "The default handler prints messages on C<stderr>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:963
+#: ../src/guestfs.pod:1281
 msgid "If you set C<cb> to C<NULL> then I<no> handler is called."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:965
+#: ../src/guestfs.pod:1283
 msgid "guestfs_get_error_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:967
+#: ../src/guestfs.pod:1285
 #, no-wrap
 msgid ""
 " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n"
@@ -1968,17 +2501,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:970
+#: ../src/guestfs.pod:1288
 msgid "Returns the current error handler callback."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:972
+#: ../src/guestfs.pod:1290
 msgid "guestfs_set_out_of_memory_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:974
+#: ../src/guestfs.pod:1292
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_abort_cb) (void);\n"
@@ -1988,29 +2521,29 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:978
+#: ../src/guestfs.pod:1296
 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:981
+#: ../src/guestfs.pod:1299
 msgid "The default is to call L<abort(3)>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:983
+#: ../src/guestfs.pod:1301
 msgid "You cannot set C<cb> to C<NULL>.  You can't ignore out of memory situations."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:986
+#: ../src/guestfs.pod:1304
 msgid "guestfs_get_out_of_memory_handler"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:988
+#: ../src/guestfs.pod:1306
 #, no-wrap
 msgid ""
 " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n"
@@ -2018,87 +2551,42 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:990
+#: ../src/guestfs.pod:1308
 msgid "This returns the current out of memory handler."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:992
-msgid "PATH"
+#: ../src/guestfs.pod:1310
+msgid "API CALLS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:994
-msgid ""
-"Libguestfs needs a kernel and initrd.img, which it finds by looking along an "
-"internal path."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:997
-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:1000
-msgid ""
-"Use L</guestfs_set_path> or set the environment variable L</LIBGUESTFS_PATH> "
-"to change the directories that libguestfs will search in.  The value is a "
-"colon-separated list of paths.  The current directory is I<not> searched "
-"unless the path contains an empty element or C<.>.  For example "
-"C<LIBGUESTFS_PATH=:/usr/lib/guestfs> would search the current directory and "
-"then C</usr/lib/guestfs>."
-msgstr ""
-
-# type: =head1
-#: ../src/guestfs.pod:1007
-msgid "HIGH-LEVEL API ACTIONS"
-msgstr ""
-
-# type: =head2
-#: ../src/guestfs.pod:1009
-msgid "ABI GUARANTEE"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1011
-msgid ""
-"We guarantee the libguestfs ABI (binary interface), for public, high-level "
-"actions as outlined in this section.  Although we will deprecate some "
-"actions, for example if they get replaced by newer calls, we will keep the "
-"old actions forever.  This allows you the developer to program in confidence "
-"against the libguestfs API."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1017 ../fish/guestfish.pod:860
+#: ../src/guestfs.pod:1312 ../fish/guestfish.pod:894
 msgid "@ACTIONS@"
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1019
+#: ../src/guestfs.pod:1314
 msgid "STRUCTURES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1021
+#: ../src/guestfs.pod:1316
 msgid "@STRUCTS@"
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1023
+#: ../src/guestfs.pod:1318
 msgid "AVAILABILITY"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1025
+#: ../src/guestfs.pod:1320
 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1027
+#: ../src/guestfs.pod:1322
 msgid ""
 "Using L</guestfs_available> you can test availability of the following "
 "groups of functions.  This test queries the appliance to see if the "
@@ -2106,17 +2594,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1032
+#: ../src/guestfs.pod:1327
 msgid "@AVAILABILITY@"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1034
+#: ../src/guestfs.pod:1329
 msgid "GUESTFISH supported COMMAND"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1036
+#: ../src/guestfs.pod:1331
 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 "
@@ -2124,19 +2612,19 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1041
+#: ../src/guestfs.pod:1336
 msgid "SINGLE CALLS AT COMPILE TIME"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1043
+#: ../src/guestfs.pod:1338
 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:1046
+#: ../src/guestfs.pod:1341
 #, no-wrap
 msgid ""
 " #define LIBGUESTFS_HAVE_DD 1\n"
@@ -2144,12 +2632,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1048
+#: ../src/guestfs.pod:1343
 msgid "if L</guestfs_dd> is available."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1050
+#: ../src/guestfs.pod:1345
 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 "
@@ -2157,7 +2645,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1055
+#: ../src/guestfs.pod:1350
 #, no-wrap
 msgid ""
 " AC_CHECK_LIB([guestfs],[guestfs_create])\n"
@@ -2166,19 +2654,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1058
+#: ../src/guestfs.pod:1353
 msgid ""
 "which would result in C<HAVE_GUESTFS_DD> being either defined or not defined "
 "in your program."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1061
+#: ../src/guestfs.pod:1356
 msgid "SINGLE CALLS AT RUN TIME"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1063
+#: ../src/guestfs.pod:1358
 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 "
@@ -2188,7 +2676,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1070
+#: ../src/guestfs.pod:1365
 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 "
@@ -2196,7 +2684,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1074
+#: ../src/guestfs.pod:1369
 #, no-wrap
 msgid ""
 " #include <stdio.h>\n"
@@ -2208,7 +2696,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1080
+#: ../src/guestfs.pod:1375
 #, no-wrap
 msgid ""
 " main ()\n"
@@ -2220,7 +2708,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1086
+#: ../src/guestfs.pod:1381
 #, no-wrap
 msgid ""
 "   /* Test if the function guestfs_dd is really available. */\n"
@@ -2235,7 +2723,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1095
+#: ../src/guestfs.pod:1390
 #, no-wrap
 msgid ""
 "   if (!has_function)\n"
@@ -2254,7 +2742,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1108
+#: ../src/guestfs.pod:1403
 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 "
@@ -2262,7 +2750,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1113
+#: ../src/guestfs.pod:1408
 #, no-wrap
 msgid ""
 " Requires: libguestfs >= 1.0.80\n"
@@ -2270,12 +2758,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1115
+#: ../src/guestfs.pod:1410
 msgid "CALLS WITH OPTIONAL ARGUMENTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1117
+#: ../src/guestfs.pod:1412
 msgid ""
 "A recent feature of the API is the introduction of calls which take optional "
 "arguments.  In C these are declared 3 ways.  The main way is as a call which "
@@ -2283,7 +2771,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1122
+#: ../src/guestfs.pod:1417
 #, no-wrap
 msgid ""
 " int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n"
@@ -2291,14 +2779,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1124
+#: ../src/guestfs.pod:1419
 msgid ""
 "Call this with a list of optional arguments, terminated by C<-1>.  So to "
 "call with no optional arguments specified:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1127
+#: ../src/guestfs.pod:1422
 #, no-wrap
 msgid ""
 " guestfs_add_drive_opts (g, filename, -1);\n"
@@ -2306,12 +2794,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1129
+#: ../src/guestfs.pod:1424
 msgid "With a single optional argument:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1131
+#: ../src/guestfs.pod:1426
 #, no-wrap
 msgid ""
 " guestfs_add_drive_opts (g, filename,\n"
@@ -2321,12 +2809,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1135
+#: ../src/guestfs.pod:1430
 msgid "With two:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1137
+#: ../src/guestfs.pod:1432
 #, no-wrap
 msgid ""
 " guestfs_add_drive_opts (g, filename,\n"
@@ -2337,19 +2825,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1142
+#: ../src/guestfs.pod:1437
 msgid ""
 "and so forth.  Don't forget the terminating C<-1> otherwise Bad Things will "
 "happen!"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1145
+#: ../src/guestfs.pod:1440
 msgid "USING va_list FOR OPTIONAL ARGUMENTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1147
+#: ../src/guestfs.pod:1442
 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 "
@@ -2357,7 +2845,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1151
+#: ../src/guestfs.pod:1446
 #, no-wrap
 msgid ""
 " int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n"
@@ -2366,12 +2854,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1154
+#: ../src/guestfs.pod:1449
 msgid "CONSTRUCTING OPTIONAL ARGUMENTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1156
+#: ../src/guestfs.pod:1451
 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 "
@@ -2381,7 +2869,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1162
+#: ../src/guestfs.pod:1457
 #, no-wrap
 msgid ""
 " struct guestfs_add_drive_opts_argv {\n"
@@ -2396,12 +2884,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1171
+#: ../src/guestfs.pod:1466
 msgid "You could call it like this:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1173
+#: ../src/guestfs.pod:1468
 #, no-wrap
 msgid ""
 " struct guestfs_add_drive_opts_argv optargs = {\n"
@@ -2414,7 +2902,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1180
+#: ../src/guestfs.pod:1475
 #, no-wrap
 msgid ""
 " guestfs_add_drive_opts_argv (g, filename, &optargs);\n"
@@ -2422,34 +2910,34 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1182 ../src/guestfs-actions.pod:11 ../src/guestfs-actions.pod:1661 ../fish/guestfish-actions.pod:9 ../fish/guestfish-actions.pod:1244
+#: ../src/guestfs.pod:1477 ../src/guestfs-actions.pod:11 ../src/guestfs-actions.pod:1661 ../fish/guestfish-actions.pod:9 ../fish/guestfish-actions.pod:1244
 msgid "Notes:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1188
+#: ../src/guestfs.pod:1483
 msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1193
+#: ../src/guestfs.pod:1488
 msgid "You do not need to fill in all fields of the structure."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1197
+#: ../src/guestfs.pod:1492
 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:1202
+#: ../src/guestfs.pod:1497
 msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1204
+#: ../src/guestfs.pod:1499
 msgid ""
 "In other languages, optional arguments are expressed in the way that is "
 "natural for that language.  We refer you to the language-specific "
@@ -2457,201 +2945,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1208
+#: ../src/guestfs.pod:1503
 msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>."
 msgstr ""
 
-# type: =end
-#: ../src/guestfs.pod:1210 ../src/guestfs.pod:1215
-msgid "html"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1212
-msgid ""
-"<!-- old anchor for the next section --> <a "
-"name=\"state_machine_and_low_level_event_api\"/>"
-msgstr ""
-
-# type: =head1
-#: ../src/guestfs.pod:1217
-msgid "ARCHITECTURE"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1219
-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:1223
-#, 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:1243
-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:1246
-msgid ""
-"Inside the appliance is a Linux kernel and a complete stack of userspace "
-"tools (such as LVM and ext2 programs) and a small controlling daemon called "
-"L</guestfsd>.  The library talks to L</guestfsd> using remote procedure "
-"calls (RPC).  There is a mostly one-to-one correspondence between libguestfs "
-"API calls and RPC calls to the daemon.  Lastly the disk image(s) are "
-"attached to the qemu process which translates device access by the "
-"appliance's Linux kernel into accesses to the image."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1255
-msgid ""
-"A common misunderstanding is that the appliance \"is\" the virtual machine.  "
-"Although the disk image you are attached to might also be used by some "
-"virtual machine, libguestfs doesn't know or care about this.  (But you will "
-"care if both libguestfs's qemu process and your virtual machine are trying "
-"to update the disk image at the same time, since these usually results in "
-"massive disk corruption)."
-msgstr ""
-
-# type: =head1
-#: ../src/guestfs.pod:1262
-msgid "STATE MACHINE"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1264
-msgid "libguestfs uses a state machine to model the child process:"
-msgstr ""
-
-# type: verbatim
-#: ../src/guestfs.pod:1266
-#, no-wrap
-msgid ""
-"                         |\n"
-"                    guestfs_create\n"
-"                         |\n"
-"                         |\n"
-"                     ____V_____\n"
-"                    /          \\\n"
-"                    |  CONFIG  |\n"
-"                    \\__________/\n"
-"                     ^ ^   ^  \\\n"
-"                    /  |    \\  \\ guestfs_launch\n"
-"                   /   |    _\\__V______\n"
-"                  /    |   /           \\\n"
-"                 /     |   | LAUNCHING |\n"
-"                /      |   \\___________/\n"
-"               /       |       /\n"
-"              /        |  guestfs_launch\n"
-"             /         |     /\n"
-"    ______  /        __|____V\n"
-"   /      \\ ------> /        \\\n"
-"   | BUSY |         | READY  |\n"
-"   \\______/ <------ \\________/\n"
-"\n"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1288
-msgid ""
-"The normal transitions are (1) CONFIG (when the handle is created, but there "
-"is no child process), (2) LAUNCHING (when the child process is booting up), "
-"(3) alternating between READY and BUSY as commands are issued to, and "
-"carried out by, the child process."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1293
-msgid ""
-"The guest may be killed by L</guestfs_kill_subprocess>, or may die "
-"asynchronously at any time (eg. due to some internal error), and that causes "
-"the state to transition back to CONFIG."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1297
-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:1300
-msgid ""
-"The API offers one call that goes from CONFIG through LAUNCHING to READY.  "
-"L</guestfs_launch> blocks until the child process is READY to accept "
-"commands (or until some failure or timeout).  L</guestfs_launch> internally "
-"moves the state from CONFIG to LAUNCHING while it is running."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1306
-msgid ""
-"API actions such as L</guestfs_mount> can only be issued when in the READY "
-"state.  These API calls block waiting for the command to be carried out "
-"(ie. the state to transition to BUSY and then back to READY).  There are no "
-"non-blocking versions, and no way to issue more than one command per handle "
-"at the same time."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1312
-msgid ""
-"Finally, the child process sends asynchronous messages back to the main "
-"program, such as kernel log messages.  You can register a callback to "
-"receive these messages."
-msgstr ""
-
 # type: =head2
-#: ../src/guestfs.pod:1316
+#: ../src/guestfs.pod:1505
 msgid "SETTING CALLBACKS TO HANDLE EVENTS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1318
+#: ../src/guestfs.pod:1507
 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:1321
+#: ../src/guestfs.pod:1510
 msgid ""
 "Use the C<guestfs_set_*_callback> functions to set a callback for different "
 "types of events."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1324
+#: ../src/guestfs.pod:1513
 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 "
@@ -2660,12 +2978,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1329
+#: ../src/guestfs.pod:1518
 msgid "guestfs_set_log_message_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1331
+#: ../src/guestfs.pod:1520
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_log_message_cb) (guestfs_h *g, void *opaque,\n"
@@ -2677,31 +2995,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1337
+#: ../src/guestfs.pod:1526
 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:1340
+#: ../src/guestfs.pod:1529
 msgid "Use this function to capture kernel messages and similar."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1342
+#: ../src/guestfs.pod:1531
 msgid ""
 "Normally there is no log message handler, and log messages are just "
 "discarded."
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1345
+#: ../src/guestfs.pod:1534
 msgid "guestfs_set_subprocess_quit_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1347
+#: ../src/guestfs.pod:1536
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_subprocess_quit_cb) (guestfs_h *g, void *opaque);\n"
@@ -2712,7 +3030,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1352
+#: ../src/guestfs.pod:1541
 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 "
@@ -2720,12 +3038,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1357
+#: ../src/guestfs.pod:1546
 msgid "guestfs_set_launch_done_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1359
+#: ../src/guestfs.pod:1548
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_launch_done_cb) (guestfs_h *g, void *opaque);\n"
@@ -2736,7 +3054,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1364
+#: ../src/guestfs.pod:1553
 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 "
@@ -2744,12 +3062,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1368
+#: ../src/guestfs.pod:1557
 msgid "guestfs_set_close_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1370
+#: ../src/guestfs.pod:1559
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_close_cb) (guestfs_h *g, void *opaque);\n"
@@ -2760,14 +3078,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1375
+#: ../src/guestfs.pod:1564
 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:1378
+#: ../src/guestfs.pod:1567
 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 "
@@ -2778,12 +3096,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1386
+#: ../src/guestfs.pod:1575
 msgid "guestfs_set_progress_callback"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1388
+#: ../src/guestfs.pod:1577
 #, no-wrap
 msgid ""
 " typedef void (*guestfs_progress_cb) (guestfs_h *g, void *opaque,\n"
@@ -2796,7 +3114,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1395
+#: ../src/guestfs.pod:1584
 msgid ""
 "Some long-running operations can generate progress messages.  If this "
 "callback is registered, then it will be called each time a progress message "
@@ -2806,7 +3124,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1401
+#: ../src/guestfs.pod:1590
 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 "
@@ -2815,31 +3133,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1407
+#: ../src/guestfs.pod:1596
 msgid "The only defined and stable parts of the API are:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1413
+#: ../src/guestfs.pod:1602
 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:1418
+#: ../src/guestfs.pod:1607
 msgid "0 E<lt>= C<position> E<lt>= C<total>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1422
+#: ../src/guestfs.pod:1611
 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:1425
+#: ../src/guestfs.pod:1614
 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 "
@@ -2847,7 +3165,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1431
+#: ../src/guestfs.pod:1620
 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 "
@@ -2856,12 +3174,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1436
+#: ../src/guestfs.pod:1625
 msgid "PRIVATE DATA AREA"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1438
+#: ../src/guestfs.pod:1627
 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 "
@@ -2869,12 +3187,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1442
+#: ../src/guestfs.pod:1631
 msgid "To attach a named piece of data, use the following call:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1444
+#: ../src/guestfs.pod:1633
 #, no-wrap
 msgid ""
 " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n"
@@ -2882,7 +3200,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1446
+#: ../src/guestfs.pod:1635
 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 "
@@ -2890,7 +3208,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1450
+#: ../src/guestfs.pod:1639
 msgid ""
 "You can use any C<key> you want, but names beginning with an underscore "
 "character are reserved for internal libguestfs purposes (for implementing "
@@ -2899,12 +3217,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1455
+#: ../src/guestfs.pod:1644
 msgid "To retrieve the pointer, use:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1457
+#: ../src/guestfs.pod:1646
 #, no-wrap
 msgid ""
 " void *guestfs_get_private (guestfs_h *g, const char *key);\n"
@@ -2912,7 +3230,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1459
+#: ../src/guestfs.pod:1648
 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 "
@@ -2920,7 +3238,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1463
+#: ../src/guestfs.pod:1652
 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 "
@@ -2932,188 +3250,201 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1471
-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:1474
-msgid "BLOCK DEVICE NAMING"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1476
-msgid ""
-"In the kernel there is now quite a profusion of schemata for naming block "
-"devices (in this context, by I<block device> I mean a physical or virtual "
-"hard drive).  The original Linux IDE driver used names starting with "
-"C</dev/hd*>.  SCSI devices have historically used a different naming scheme, "
-"C</dev/sd*>.  When the Linux kernel I<libata> driver became a popular "
-"replacement for the old IDE driver (particularly for SATA devices) those "
-"devices also used the C</dev/sd*> scheme.  Additionally we now have virtual "
-"machines with paravirtualized drivers.  This has created several different "
-"naming systems, such as C</dev/vd*> for virtio disks and C</dev/xvd*> for "
-"Xen PV disks."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1488
-msgid ""
-"As discussed above, libguestfs uses a qemu appliance running an embedded "
-"Linux kernel to access block devices.  We can run a variety of appliances "
-"based on a variety of Linux kernels."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1492
-msgid ""
-"This causes a problem for libguestfs because many API calls use device or "
-"partition names.  Working scripts and the recipe (example) scripts that we "
-"make available over the internet could fail if the naming scheme changes."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1497
-msgid ""
-"Therefore libguestfs defines C</dev/sd*> as the I<standard naming scheme>.  "
-"Internally C</dev/sd*> names are translated, if necessary, to other names as "
-"required.  For example, under RHEL 5 which uses the C</dev/hd*> scheme, any "
-"device parameter C</dev/sda2> is translated to C</dev/hda2> transparently."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1503
+#: ../src/guestfs.pod:1660
 msgid ""
-"Note that this I<only> applies to parameters.  The L</guestfs_list_devices>, "
-"L</guestfs_list_partitions> and similar calls return the true names of the "
-"devices and partitions as known to the appliance."
+"The private data area is implemented using a hash table, and should be "
+"reasonably efficient for moderate numbers of keys."
 msgstr ""
 
-# type: =head2
-#: ../src/guestfs.pod:1508
-msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION"
+# type: =end
+#: ../src/guestfs.pod:1663 ../src/guestfs.pod:1668
+msgid "html"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1510
+#: ../src/guestfs.pod:1665
 msgid ""
-"Usually this translation is transparent.  However in some (very rare)  cases "
-"you may need to know the exact algorithm.  Such cases include where you use "
-"L</guestfs_config> to add a mixture of virtio and IDE devices to the "
-"qemu-based appliance, so have a mixture of C</dev/sd*> and C</dev/vd*> "
-"devices."
+"<!-- old anchor for the next section --> <a "
+"name=\"state_machine_and_low_level_event_api\"/>"
 msgstr ""
 
-# type: textblock
-#: ../src/guestfs.pod:1516
-msgid ""
-"The algorithm is applied only to I<parameters> which are known to be either "
-"device or partition names.  Return values from functions such as "
-"L</guestfs_list_devices> are never changed."
+# type: =head1
+#: ../src/guestfs.pod:1670
+msgid "ARCHITECTURE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1524
-msgid "Is the string a parameter which is a device or partition name?"
+#: ../src/guestfs.pod:1672
+msgid ""
+"Internally, libguestfs is implemented by running an appliance (a special "
+"type of small virtual machine) using L<qemu(1)>.  Qemu runs as a child "
+"process of the main program."
 msgstr ""
 
-# type: textblock
-#: ../src/guestfs.pod:1528
-msgid "Does the string begin with C</dev/sd>?"
+# type: verbatim
+#: ../src/guestfs.pod:1676
+#, 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:1532
+#: ../src/guestfs.pod:1696
 msgid ""
-"Does the named device exist? If so, we use that device.  However if I<not> "
-"then we continue with this algorithm."
+"The library, linked to the main program, creates the child process and hence "
+"the appliance in the L</guestfs_launch> function."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1537
-msgid "Replace initial C</dev/sd> string with C</dev/hd>."
+#: ../src/guestfs.pod:1699
+msgid ""
+"Inside the appliance is a Linux kernel and a complete stack of userspace "
+"tools (such as LVM and ext2 programs) and a small controlling daemon called "
+"L</guestfsd>.  The library talks to L</guestfsd> using remote procedure "
+"calls (RPC).  There is a mostly one-to-one correspondence between libguestfs "
+"API calls and RPC calls to the daemon.  Lastly the disk image(s) are "
+"attached to the qemu process which translates device access by the "
+"appliance's Linux kernel into accesses to the image."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1539
-msgid "For example, change C</dev/sda2> to C</dev/hda2>."
+#: ../src/guestfs.pod:1708
+msgid ""
+"A common misunderstanding is that the appliance \"is\" the virtual machine.  "
+"Although the disk image you are attached to might also be used by some "
+"virtual machine, libguestfs doesn't know or care about this.  (But you will "
+"care if both libguestfs's qemu process and your virtual machine are trying "
+"to update the disk image at the same time, since these usually results in "
+"massive disk corruption)."
 msgstr ""
 
-# type: textblock
-#: ../src/guestfs.pod:1541
-msgid "If that named device exists, use it.  If not, continue."
+# type: =head1
+#: ../src/guestfs.pod:1715
+msgid "STATE MACHINE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1545
-msgid "Replace initial C</dev/sd> string with C</dev/vd>."
+#: ../src/guestfs.pod:1717
+msgid "libguestfs uses a state machine to model the child process:"
 msgstr ""
 
-# type: textblock
-#: ../src/guestfs.pod:1547
-msgid "If that named device exists, use it.  If not, return an error."
+# type: verbatim
+#: ../src/guestfs.pod:1719
+#, no-wrap
+msgid ""
+"                         |\n"
+"                    guestfs_create\n"
+"                         |\n"
+"                         |\n"
+"                     ____V_____\n"
+"                    /          \\\n"
+"                    |  CONFIG  |\n"
+"                    \\__________/\n"
+"                     ^ ^   ^  \\\n"
+"                    /  |    \\  \\ guestfs_launch\n"
+"                   /   |    _\\__V______\n"
+"                  /    |   /           \\\n"
+"                 /     |   | LAUNCHING |\n"
+"                /      |   \\___________/\n"
+"               /       |       /\n"
+"              /        |  guestfs_launch\n"
+"             /         |     /\n"
+"    ______  /        __|____V\n"
+"   /      \\ ------> /        \\\n"
+"   | BUSY |         | READY  |\n"
+"   \\______/ <------ \\________/\n"
+"\n"
 msgstr ""
 
-# type: =head2
-#: ../src/guestfs.pod:1551
-msgid "PORTABILITY CONCERNS"
+# type: textblock
+#: ../src/guestfs.pod:1741
+msgid ""
+"The normal transitions are (1) CONFIG (when the handle is created, but there "
+"is no child process), (2) LAUNCHING (when the child process is booting up), "
+"(3) alternating between READY and BUSY as commands are issued to, and "
+"carried out by, the child process."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1553
+#: ../src/guestfs.pod:1746
 msgid ""
-"Although the standard naming scheme and automatic translation is useful for "
-"simple programs and guestfish scripts, for larger programs it is best not to "
-"rely on this mechanism."
+"The guest may be killed by L</guestfs_kill_subprocess>, or may die "
+"asynchronously at any time (eg. due to some internal error), and that causes "
+"the state to transition back to CONFIG."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1557
+#: ../src/guestfs.pod:1750
 msgid ""
-"Where possible for maximum future portability programs using libguestfs "
-"should use these future-proof techniques:"
+"Configuration commands for qemu such as L</guestfs_add_drive> can only be "
+"issued when in the CONFIG state."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1564
+#: ../src/guestfs.pod:1753
 msgid ""
-"Use L</guestfs_list_devices> or L</guestfs_list_partitions> to list actual "
-"device names, and then use those names directly."
+"The API offers one call that goes from CONFIG through LAUNCHING to READY.  "
+"L</guestfs_launch> blocks until the child process is READY to accept "
+"commands (or until some failure or timeout).  L</guestfs_launch> internally "
+"moves the state from CONFIG to LAUNCHING while it is running."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1567
-msgid "Since those device names exist by definition, they will never be translated."
+#: ../src/guestfs.pod:1759
+msgid ""
+"API actions such as L</guestfs_mount> can only be issued when in the READY "
+"state.  These API calls block waiting for the command to be carried out "
+"(ie. the state to transition to BUSY and then back to READY).  There are no "
+"non-blocking versions, and no way to issue more than one command per handle "
+"at the same time."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1572
+#: ../src/guestfs.pod:1765
 msgid ""
-"Use higher level ways to identify filesystems, such as LVM names, UUIDs and "
-"filesystem labels."
+"Finally, the child process sends asynchronous messages back to the main "
+"program, such as kernel log messages.  You can register a callback to "
+"receive these messages."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1577
+#: ../src/guestfs.pod:1769
 msgid "INTERNALS"
 msgstr ""
 
 # type: =head2
-#: ../src/guestfs.pod:1579
+#: ../src/guestfs.pod:1771
 msgid "COMMUNICATION PROTOCOL"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1581
+#: ../src/guestfs.pod:1773
 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:1584
+#: ../src/guestfs.pod:1776
 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 "
@@ -3121,14 +3452,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1588
+#: ../src/guestfs.pod:1780
 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:1591
+#: ../src/guestfs.pod:1783
 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 "
@@ -3138,17 +3469,17 @@ msgid ""
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1598
+#: ../src/guestfs.pod:1790
 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1600
+#: ../src/guestfs.pod:1792
 msgid "For ordinary functions, the request message is:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1602
+#: ../src/guestfs.pod:1794
 #, no-wrap
 msgid ""
 " total length (header + arguments,\n"
@@ -3159,7 +3490,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1607
+#: ../src/guestfs.pod:1799
 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 "
@@ -3168,26 +3499,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1613
+#: ../src/guestfs.pod:1805
 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:1616
+#: ../src/guestfs.pod:1808
 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:1620
+#: ../src/guestfs.pod:1812
 msgid "The reply message for ordinary functions is:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1622
+#: ../src/guestfs.pod:1814
 #, no-wrap
 msgid ""
 " total length (header + ret,\n"
@@ -3198,26 +3529,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1627
+#: ../src/guestfs.pod:1819
 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:1630
+#: ../src/guestfs.pod:1822
 msgid "As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1633
+#: ../src/guestfs.pod:1825
 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:1636
+#: ../src/guestfs.pod:1828
 #, no-wrap
 msgid ""
 " total length (header + error,\n"
@@ -3228,19 +3559,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1641
+#: ../src/guestfs.pod:1833
 msgid ""
 "The C<guestfs_message_error> structure contains the error message as a "
 "string."
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1644
+#: ../src/guestfs.pod:1836
 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1646
+#: ../src/guestfs.pod:1838
 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 "
@@ -3248,7 +3579,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1650
+#: ../src/guestfs.pod:1842
 #, no-wrap
 msgid ""
 " total length (header + arguments,\n"
@@ -3262,12 +3593,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1658
+#: ../src/guestfs.pod:1850
 msgid "The \"sequence of chunks\" is:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1660
+#: ../src/guestfs.pod:1852
 #, no-wrap
 msgid ""
 " length of chunk (not including length word itself)\n"
@@ -3281,7 +3612,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1668
+#: ../src/guestfs.pod:1860
 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 "
@@ -3289,7 +3620,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1672
+#: ../src/guestfs.pod:1864
 msgid ""
 "At time of writing there are no functions that have more than one FileIn "
 "parameter.  However this is (theoretically) supported, by sending the "
@@ -3298,7 +3629,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1677
+#: ../src/guestfs.pod:1869
 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 "
@@ -3307,7 +3638,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1683
+#: ../src/guestfs.pod:1875
 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 "
@@ -3319,7 +3650,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1692
+#: ../src/guestfs.pod:1884
 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 "
@@ -3329,19 +3660,19 @@ msgid ""
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1698
+#: ../src/guestfs.pod:1890
 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1700
+#: ../src/guestfs.pod:1892
 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:1703
+#: ../src/guestfs.pod:1895
 #, no-wrap
 msgid ""
 " total length (header + ret,\n"
@@ -3355,144 +3686,54 @@ msgid ""
 msgstr ""
 
 # type: =head3
-#: ../src/guestfs.pod:1711
+#: ../src/guestfs.pod:1903
 msgid "INITIAL MESSAGE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1713
+#: ../src/guestfs.pod:1905
 msgid ""
 "When the daemon launches it sends an initial word (C<GUESTFS_LAUNCH_FLAG>) "
-"which indicates that the guest and daemon is alive.  This is what "
-"L</guestfs_launch> waits for."
-msgstr ""
-
-# type: =head3
-#: ../src/guestfs.pod:1717
-msgid "PROGRESS NOTIFICATION MESSAGES"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1719
-msgid ""
-"The daemon may send progress notification messages at any time.  These are "
-"distinguished by the normal length word being replaced by "
-"C<GUESTFS_PROGRESS_FLAG>, followed by a fixed size progress message."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1723
-msgid ""
-"The library turns them into progress callbacks (see "
-"C<guestfs_set_progress_callback>) if there is a callback registered, or "
-"discards them if not."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1727
-msgid ""
-"The daemon self-limits the frequency of progress messages it sends (see "
-"C<daemon/proto.c:notify_progress>).  Not all calls generate progress "
-"messages."
-msgstr ""
-
-# type: =head1
-#: ../src/guestfs.pod:1731
-msgid "MULTIPLE HANDLES AND MULTIPLE THREADS"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1733
-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:1736
-msgid ""
-"Only use the handle from a single thread.  Either use the handle exclusively "
-"from one thread, or provide your own mutex so that two threads cannot issue "
-"calls on the same handle at the same time."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1740
-msgid ""
-"See the graphical program guestfs-browser for one possible architecture for "
-"multithreaded programs using libvirt and libguestfs."
-msgstr ""
-
-# type: =head1
-#: ../src/guestfs.pod:1743
-msgid "QEMU WRAPPERS"
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1745
-msgid ""
-"If you want to compile your own qemu, run qemu from a non-standard location, "
-"or pass extra arguments to qemu, then you can write a shell-script wrapper "
-"around qemu."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1749
-msgid ""
-"There is one important rule to remember: you I<must C<exec qemu>> as the "
-"last command in the shell script (so that qemu replaces the shell and "
-"becomes the direct child of the libguestfs-using program).  If you don't do "
-"this, then the qemu process won't be cleaned up correctly."
-msgstr ""
-
-# type: textblock
-#: ../src/guestfs.pod:1754
-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:1757
-#, no-wrap
-msgid ""
-" #!/bin/sh -\n"
-" qemudir=/home/rjones/d/qemu\n"
-" exec $qemudir/x86_64-softmmu/qemu-system-x86_64 -L $qemudir/pc-bios "
-"\"$@\"\n"
-"\n"
+"which indicates that the guest and daemon is alive.  This is what "
+"L</guestfs_launch> waits for."
+msgstr ""
+
+# type: =head3
+#: ../src/guestfs.pod:1909
+msgid "PROGRESS NOTIFICATION MESSAGES"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1761
+#: ../src/guestfs.pod:1911
 msgid ""
-"Save this script as C</tmp/qemu.wrapper> (or wherever), C<chmod +x>, and "
-"then use it by setting the LIBGUESTFS_QEMU environment variable.  For "
-"example:"
+"The daemon may send progress notification messages at any time.  These are "
+"distinguished by the normal length word being replaced by "
+"C<GUESTFS_PROGRESS_FLAG>, followed by a fixed size progress message."
 msgstr ""
 
-# type: verbatim
-#: ../src/guestfs.pod:1765
-#, no-wrap
+# type: textblock
+#: ../src/guestfs.pod:1915
 msgid ""
-" LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n"
-"\n"
+"The library turns them into progress callbacks (see "
+"C<guestfs_set_progress_callback>) if there is a callback registered, or "
+"discards them if not."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1767
+#: ../src/guestfs.pod:1919
 msgid ""
-"Note that libguestfs also calls qemu with the -help and -version options in "
-"order to determine features."
+"The daemon self-limits the frequency of progress messages it sends (see "
+"C<daemon/proto.c:notify_progress>).  Not all calls generate progress "
+"messages."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1770
+#: ../src/guestfs.pod:1923
 msgid "LIBGUESTFS VERSION NUMBERS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1772
+#: ../src/guestfs.pod:1925
 msgid ""
 "Since April 2010, libguestfs has started to make separate development and "
 "stable releases, along with corresponding branches in our git repository.  "
@@ -3500,7 +3741,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1777
+#: ../src/guestfs.pod:1930
 #, no-wrap
 msgid ""
 "                 even numbers for stable: 1.2.x, 1.4.x, ...\n"
@@ -3517,12 +3758,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1788
+#: ../src/guestfs.pod:1941
 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1790
+#: ../src/guestfs.pod:1943
 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 "
@@ -3532,26 +3773,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1796
+#: ../src/guestfs.pod:1949
 msgid "Our criteria for backporting changes are:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1802
+#: ../src/guestfs.pod:1955
 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:1808
+#: ../src/guestfs.pod:1961
 msgid ""
 "Bug fixes which are not controversial, fix obvious problems, and have been "
 "well tested are backported."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1813
+#: ../src/guestfs.pod:1966
 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 "
@@ -3559,7 +3800,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1819
+#: ../src/guestfs.pod:1972
 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 "
@@ -3567,7 +3808,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1825
+#: ../src/guestfs.pod:1978
 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 "
@@ -3578,44 +3819,44 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1833 ../fish/guestfish.pod:867 ../test-tool/libguestfs-test-tool.pod:104 ../tools/virt-edit.pl:330 ../tools/virt-rescue.pl:255
+#: ../src/guestfs.pod:1986 ../fish/guestfish.pod:901 ../test-tool/libguestfs-test-tool.pod:104 ../tools/virt-edit.pl:330 ../tools/virt-rescue.pl:255
 msgid "ENVIRONMENT VARIABLES"
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1837 ../fish/guestfish.pod:893
+#: ../src/guestfs.pod:1990 ../fish/guestfish.pod:927
 msgid "LIBGUESTFS_APPEND"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1839 ../fish/guestfish.pod:895
+#: ../src/guestfs.pod:1992 ../fish/guestfish.pod:929
 msgid "Pass additional options to the guest kernel."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1841 ../fish/guestfish.pod:897
+#: ../src/guestfs.pod:1994 ../fish/guestfish.pod:931
 msgid "LIBGUESTFS_DEBUG"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1843
+#: ../src/guestfs.pod:1996
 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:1846 ../fish/guestfish.pod:902
+#: ../src/guestfs.pod:1999 ../fish/guestfish.pod:936
 msgid "LIBGUESTFS_MEMSIZE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1848 ../fish/guestfish.pod:904
+#: ../src/guestfs.pod:2001 ../fish/guestfish.pod:938
 msgid "Set the memory allocated to the qemu process, in megabytes.  For example:"
 msgstr ""
 
 # type: verbatim
-#: ../src/guestfs.pod:1851 ../fish/guestfish.pod:907
+#: ../src/guestfs.pod:2004 ../fish/guestfish.pod:941
 #, no-wrap
 msgid ""
 " LIBGUESTFS_MEMSIZE=700\n"
@@ -3623,58 +3864,58 @@ msgid ""
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1853 ../fish/guestfish.pod:909
+#: ../src/guestfs.pod:2006 ../fish/guestfish.pod:943
 msgid "LIBGUESTFS_PATH"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1855
+#: ../src/guestfs.pod:2008
 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:1858 ../fish/guestfish.pod:914
+#: ../src/guestfs.pod:2011 ../fish/guestfish.pod:948
 msgid "LIBGUESTFS_QEMU"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1860 ../fish/guestfish.pod:916
+#: ../src/guestfs.pod:2013 ../fish/guestfish.pod:950
 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:1864
+#: ../src/guestfs.pod:2017
 msgid "See also L</QEMU WRAPPERS> above."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs.pod:1866 ../fish/guestfish.pod:920
+#: ../src/guestfs.pod:2019 ../fish/guestfish.pod:954
 msgid "LIBGUESTFS_TRACE"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1868
+#: ../src/guestfs.pod:2021
 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:1871 ../fish/guestfish.pod:929
+#: ../src/guestfs.pod:2024 ../fish/guestfish.pod:963
 msgid "TMPDIR"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1873 ../fish/guestfish.pod:931
+#: ../src/guestfs.pod:2026 ../fish/guestfish.pod:965
 msgid "Location of temporary directory, defaults to C</tmp>."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1875 ../fish/guestfish.pod:933
+#: ../src/guestfs.pod:2028 ../fish/guestfish.pod:967
 msgid ""
 "If libguestfs was compiled to use the supermin appliance then the real "
 "appliance is cached in this directory, shared between all handles belonging "
@@ -3683,12 +3924,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1883 ../fish/guestfish.pod:991 ../test-tool/libguestfs-test-tool.pod:109 ../fuse/guestmount.pod:214 ../inspector/virt-inspector.pl:570 ../tools/virt-edit.pl:350 ../tools/virt-win-reg.pl:484 ../tools/virt-df.pl:640 ../tools/virt-ls.pl:232 ../tools/virt-resize.pl:1486 ../tools/virt-list-filesystems.pl:186 ../tools/virt-cat.pl:185 ../tools/virt-tar.pl:281 ../tools/virt-rescue.pl:267 ../tools/virt-make-fs.pl:534 ../tools/virt-list-partitions.pl:254
+#: ../src/guestfs.pod:2036 ../fish/guestfish.pod:1025 ../test-tool/libguestfs-test-tool.pod:109 ../fuse/guestmount.pod:221 ../inspector/virt-inspector.pl:570 ../tools/virt-edit.pl:350 ../tools/virt-win-reg.pl:484 ../tools/virt-df.pl:640 ../tools/virt-ls.pl:232 ../tools/virt-resize.pl:1486 ../tools/virt-list-filesystems.pl:186 ../tools/virt-cat.pl:185 ../tools/virt-tar.pl:281 ../tools/virt-rescue.pl:267 ../tools/virt-make-fs.pl:534 ../tools/virt-list-partitions.pl:254
 msgid "SEE ALSO"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1885
+#: ../src/guestfs.pod:2038
 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)>, "
@@ -3698,86 +3939,86 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1903
+#: ../src/guestfs.pod:2056
 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:1910 ../tools/virt-win-reg.pl:499 ../tools/virt-make-fs.pl:548
+#: ../src/guestfs.pod:2063 ../tools/virt-win-reg.pl:499 ../tools/virt-make-fs.pl:548
 msgid "BUGS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1912
+#: ../src/guestfs.pod:2065
 msgid "To get a list of bugs against libguestfs use this link:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1914
+#: ../src/guestfs.pod:2067
 msgid "L<https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1916
+#: ../src/guestfs.pod:2069
 msgid "To report a new bug against libguestfs use this link:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1918
+#: ../src/guestfs.pod:2071
 msgid "L<https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1920
+#: ../src/guestfs.pod:2073
 msgid "When reporting a bug, please check:"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1926
+#: ../src/guestfs.pod:2079
 msgid "That the bug hasn't been reported already."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1930
+#: ../src/guestfs.pod:2083
 msgid "That you are testing a recent version."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1934
+#: ../src/guestfs.pod:2087
 msgid "Describe the bug accurately, and give a way to reproduce it."
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1938
+#: ../src/guestfs.pod:2091
 msgid ""
 "Run libguestfs-test-tool and paste the B<complete, unedited> output into the "
 "bug report."
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1943 ../fish/guestfish.pod:1008 ../test-tool/libguestfs-test-tool.pod:115 ../fuse/guestmount.pod:225 ../inspector/virt-inspector.pl:580
+#: ../src/guestfs.pod:2096 ../fish/guestfish.pod:1042 ../test-tool/libguestfs-test-tool.pod:115 ../fuse/guestmount.pod:232 ../inspector/virt-inspector.pl:580
 msgid "AUTHORS"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1945 ../fish/guestfish.pod:1010 ../test-tool/libguestfs-test-tool.pod:117 ../fuse/guestmount.pod:227
+#: ../src/guestfs.pod:2098 ../fish/guestfish.pod:1044 ../test-tool/libguestfs-test-tool.pod:117 ../fuse/guestmount.pod:234
 msgid "Richard W.M. Jones (C<rjones at redhat dot com>)"
 msgstr ""
 
 # type: =head1
-#: ../src/guestfs.pod:1947 ../fish/guestfish.pod:1012 ../test-tool/libguestfs-test-tool.pod:119 ../fuse/guestmount.pod:229 ../inspector/virt-inspector.pl:594 ../tools/virt-edit.pl:366 ../tools/virt-win-reg.pl:514 ../tools/virt-df.pl:653 ../tools/virt-ls.pl:247 ../tools/virt-resize.pl:1512 ../tools/virt-list-filesystems.pl:202 ../tools/virt-cat.pl:199 ../tools/virt-tar.pl:296 ../tools/virt-rescue.pl:281 ../tools/virt-make-fs.pl:563 ../tools/virt-list-partitions.pl:269
+#: ../src/guestfs.pod:2100 ../fish/guestfish.pod:1046 ../test-tool/libguestfs-test-tool.pod:119 ../fuse/guestmount.pod:236 ../inspector/virt-inspector.pl:594 ../tools/virt-edit.pl:366 ../tools/virt-win-reg.pl:514 ../tools/virt-df.pl:653 ../tools/virt-ls.pl:247 ../tools/virt-resize.pl:1512 ../tools/virt-list-filesystems.pl:202 ../tools/virt-cat.pl:199 ../tools/virt-tar.pl:296 ../tools/virt-rescue.pl:281 ../tools/virt-make-fs.pl:563 ../tools/virt-list-partitions.pl:269
 msgid "COPYRIGHT"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1949 ../fish/guestfish.pod:1014 ../fuse/guestmount.pod:231
+#: ../src/guestfs.pod:2102 ../fish/guestfish.pod:1048 ../fuse/guestmount.pod:238
 msgid "Copyright (C) 2009-2010 Red Hat Inc.  L<http://libguestfs.org/>"
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1952
+#: ../src/guestfs.pod:2105
 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 "
@@ -3786,7 +4027,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1957
+#: ../src/guestfs.pod:2110
 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 "
@@ -3795,7 +4036,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs.pod:1962
+#: ../src/guestfs.pod:2115
 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, "
@@ -7742,7 +7983,7 @@ msgstr ""
 
 # type: textblock
 #: ../src/guestfs-actions.pod:2253 ../fish/guestfish-actions.pod:1678
-msgid "Debian or a Debian-derived distro such as Ubuntu."
+msgid "Debian."
 msgstr ""
 
 # type: =item
@@ -7806,35 +8047,35 @@ msgid "Red Hat Enterprise Linux and some derivatives."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2279 ../src/guestfs-actions.pod:2441 ../fish/guestfish-actions.pod:1704 ../fish/guestfish-actions.pod:1834
-msgid "\"windows\""
+#: ../src/guestfs-actions.pod:2279 ../fish/guestfish-actions.pod:1704
+msgid "\"ubuntu\""
 msgstr ""
 
 # type: textblock
 #: ../src/guestfs-actions.pod:2281 ../fish/guestfish-actions.pod:1706
-msgid ""
-"Windows does not have distributions.  This string is returned if the OS type "
-"is Windows."
+msgid "Ubuntu."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2284 ../fish/guestfish-actions.pod:1709
-msgid "\"ubuntu\""
+#: ../src/guestfs-actions.pod:2283 ../src/guestfs-actions.pod:2445 ../fish/guestfish-actions.pod:1708 ../fish/guestfish-actions.pod:1838
+msgid "\"unknown\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2286 ../fish/guestfish-actions.pod:1711
-msgid "Ubuntu."
+#: ../src/guestfs-actions.pod:2285 ../fish/guestfish-actions.pod:1710
+msgid "The distro could not be determined."
 msgstr ""
 
 # type: =item
-#: ../src/guestfs-actions.pod:2288 ../src/guestfs-actions.pod:2445 ../fish/guestfish-actions.pod:1713 ../fish/guestfish-actions.pod:1838
-msgid "\"unknown\""
+#: ../src/guestfs-actions.pod:2287 ../src/guestfs-actions.pod:2441 ../fish/guestfish-actions.pod:1712 ../fish/guestfish-actions.pod:1834
+msgid "\"windows\""
 msgstr ""
 
 # type: textblock
-#: ../src/guestfs-actions.pod:2290 ../fish/guestfish-actions.pod:1715
-msgid "The distro could not be determined."
+#: ../src/guestfs-actions.pod:2289 ../fish/guestfish-actions.pod:1714
+msgid ""
+"Windows does not have distributions.  This string is returned if the OS type "
+"is Windows."
 msgstr ""
 
 # type: textblock
@@ -15255,7 +15496,7 @@ msgstr ""
 #: ../fish/guestfish.pod:13
 #, no-wrap
 msgid ""
-" guestfish -a disk.img\n"
+" guestfish [--ro|--rw] -a disk.img\n"
 "\n"
 msgstr ""
 
@@ -15263,7 +15504,7 @@ msgstr ""
 #: ../fish/guestfish.pod:15
 #, no-wrap
 msgid ""
-" guestfish -a disk.img -m dev[:mountpoint]\n"
+" guestfish [--ro|--rw] -a disk.img -m dev[:mountpoint]\n"
 "\n"
 msgstr ""
 
@@ -15279,7 +15520,7 @@ msgstr ""
 #: ../fish/guestfish.pod:19
 #, no-wrap
 msgid ""
-" guestfish -a disk.img -i\n"
+" guestfish [--ro|--rw] -a disk.img -i\n"
 "\n"
 msgstr ""
 
@@ -15323,7 +15564,7 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:41 ../fish/guestfish.pod:800 ../fuse/guestmount.pod:39 ../tools/virt-edit.pl:58 ../tools/virt-resize.pl:66 ../tools/virt-cat.pl:50 ../tools/virt-tar.pl:45
+#: ../fish/guestfish.pod:41 ../fish/guestfish.pod:834 ../fuse/guestmount.pod:39 ../tools/virt-edit.pl:58 ../tools/virt-resize.pl:66 ../tools/virt-cat.pl:50 ../tools/virt-tar.pl:45
 msgid "EXAMPLES"
 msgstr ""
 
@@ -15462,7 +15703,7 @@ msgstr ""
 #: ../fish/guestfish.pod:102
 #, no-wrap
 msgid ""
-" guestfish --add disk.img \\\n"
+" guestfish --rw --add disk.img \\\n"
 "   --mount /dev/vg_guest/lv_root \\\n"
 "   --mount /dev/sda1:/boot \\\n"
 "   edit /boot/grub/grub.conf\n"
@@ -15506,7 +15747,7 @@ msgstr ""
 #: ../fish/guestfish.pod:118
 #, no-wrap
 msgid ""
-" guestfish -a disk.img -i edit /boot/grub/grub.conf\n"
+" guestfish --rw -a disk.img -i edit /boot/grub/grub.conf\n"
 "\n"
 msgstr ""
 
@@ -15558,7 +15799,7 @@ msgid "To list what is available do:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:139 ../fish/guestfish.pod:791
+#: ../fish/guestfish.pod:139 ../fish/guestfish.pod:825
 #, no-wrap
 msgid ""
 " guestfish -N help | less\n"
@@ -15574,7 +15815,7 @@ msgstr ""
 #: ../fish/guestfish.pod:143
 #, no-wrap
 msgid ""
-" eval `guestfish --listen`\n"
+" eval \"`guestfish --listen`\"\n"
 " guestfish --remote add-ro disk.img\n"
 " guestfish --remote run\n"
 " guestfish --remote lvs\n"
@@ -15719,7 +15960,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:211 ../fish/guestfish.pod:504 ../inspector/virt-inspector.pl:549
+#: ../fish/guestfish.pod:211 ../fish/guestfish.pod:538 ../inspector/virt-inspector.pl:549
 msgid "For example:"
 msgstr ""
 
@@ -15807,7 +16048,7 @@ msgstr ""
 #: ../fish/guestfish.pod:243
 #, no-wrap
 msgid ""
-" guestfish -a /dev/Guests/MyGuest -i\n"
+" guestfish --rw -a /dev/Guests/MyGuest -i\n"
 "\n"
 msgstr ""
 
@@ -15986,67 +16227,84 @@ msgid ""
 "I<--ro> option."
 msgstr ""
 
+# type: textblock
+#: ../fish/guestfish.pod:318
+msgid "See also L</OPENING DISKS FOR READ AND WRITE> below."
+msgstr ""
+
 # type: =item
-#: ../fish/guestfish.pod:318 ../fuse/guestmount.pod:194 ../tools/virt-rescue.pl:195
+#: ../fish/guestfish.pod:320 ../fuse/guestmount.pod:196 ../tools/virt-rescue.pl:195
 msgid "B<--selinux>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:320
+#: ../fish/guestfish.pod:322
 msgid "Enable SELinux support for the guest.  See L<guestfs(3)/SELINUX>."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:322 ../fuse/guestmount.pod:198
+#: ../fish/guestfish.pod:324 ../fuse/guestmount.pod:200
 msgid "B<-v> | B<--verbose>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:324
+#: ../fish/guestfish.pod:326
 msgid ""
 "Enable very verbose messages.  This is particularly useful if you find a "
 "bug."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:327 ../fuse/guestmount.pod:202
+#: ../fish/guestfish.pod:329 ../fuse/guestmount.pod:204
 msgid "B<-V> | B<--version>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:329
+#: ../fish/guestfish.pod:331
 msgid "Display the guestfish / libguestfs version number and exit."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:331
+#: ../fish/guestfish.pod:333 ../fuse/guestmount.pod:208
+msgid "B<-w> | B<--rw>"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:335
+msgid ""
+"This option does nothing at the moment.  See L</OPENING DISKS FOR READ AND "
+"WRITE> below."
+msgstr ""
+
+# type: =item
+#: ../fish/guestfish.pod:338
 msgid "B<-x>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:333
+#: ../fish/guestfish.pod:340
 msgid "Echo each command before executing it."
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:337
+#: ../fish/guestfish.pod:344
 msgid "COMMANDS ON COMMAND LINE"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:339
+#: ../fish/guestfish.pod:346
 msgid "Any additional (non-option) arguments are treated as commands to execute."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:342
+#: ../fish/guestfish.pod:349
 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:345
+#: ../fish/guestfish.pod:352
 #, no-wrap
 msgid ""
 " guestfish cmd [args...] : cmd [args...] : cmd [args...] ...\n"
@@ -16054,7 +16312,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:347
+#: ../fish/guestfish.pod:354
 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 "
@@ -16062,7 +16320,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:351
+#: ../fish/guestfish.pod:358
 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 "
@@ -16070,12 +16328,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:356
+#: ../fish/guestfish.pod:363
 msgid "USING launch (OR run)"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:358
+#: ../fish/guestfish.pod:365
 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 "
@@ -16083,34 +16341,34 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:366
+#: ../fish/guestfish.pod:373
 msgid "add or -a/--add"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:370
+#: ../fish/guestfish.pod:377
 msgid "launch (aka run)"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:374
+#: ../fish/guestfish.pod:381
 msgid "mount or -m/--mount"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:378
+#: ../fish/guestfish.pod:385
 msgid "any other commands"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:382
+#: ../fish/guestfish.pod:389
 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:385
+#: ../fish/guestfish.pod:392
 msgid ""
 "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 "
@@ -16118,19 +16376,72 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:390
+#: ../fish/guestfish.pod:397
+msgid "OPENING DISKS FOR READ AND WRITE"
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:399
+msgid ""
+"The guestfish (and L<guestmount(1)>) options I<--ro> and I<--rw> affect "
+"whether the other command line options I<-a>, I<-c>, I<-d>, I<-i> and I<-m> "
+"open disk images read-only or for writing."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:403
+msgid ""
+"In libguestfs E<lt> 1.6.2, guestfish and guestmount defaulted to opening "
+"disk images supplied on the command line for write.  To open a disk image "
+"read-only you have to do I<-a image --ro>."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:407
+msgid ""
+"This matters: If you accidentally open a live VM disk image writable then "
+"you will cause irreversible disk corruption."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:410
+msgid ""
+"By libguestfs 1.8 we intend to change the default the other way.  Disk "
+"images will be opened read-only.  You will have to either specify "
+"I<guestfish --rw> or change a configuration file in order to get write "
+"access for disk images specified by those other command line options."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:415
+msgid ""
+"This version of guestfish has a I<--rw> option which does nothing (it is "
+"already the default).  However it is highly recommended that you use this "
+"option to indicate that guestfish needs write access, and to prepare your "
+"scripts for the day when this option will be required for write access."
+msgstr ""
+
+# type: textblock
+#: ../fish/guestfish.pod:421
+msgid ""
+"B<Note:> This does I<not> affect commands like L</add> and L</mount>, or any "
+"other libguestfs program apart from guestfish and guestmount."
+msgstr ""
+
+# type: =head1
+#: ../fish/guestfish.pod:424
 msgid "QUOTING"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:392
+#: ../fish/guestfish.pod:426
 msgid ""
 "You can quote ordinary parameters using either single or double quotes.  For "
 "example:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:395
+#: ../fish/guestfish.pod:429
 #, no-wrap
 msgid ""
 " add \"file with a space.img\"\n"
@@ -16138,7 +16449,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:397
+#: ../fish/guestfish.pod:431
 #, no-wrap
 msgid ""
 " rm '/file name'\n"
@@ -16146,7 +16457,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:399
+#: ../fish/guestfish.pod:433
 #, no-wrap
 msgid ""
 " rm '/\"'\n"
@@ -16154,7 +16465,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:401
+#: ../fish/guestfish.pod:435
 msgid ""
 "A few commands require a list of strings to be passed.  For these, use a "
 "whitespace-separated list, enclosed in quotes.  Strings containing "
@@ -16163,7 +16474,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:406
+#: ../fish/guestfish.pod:440
 #, no-wrap
 msgid ""
 " vgcreate VG \"/dev/sda1 /dev/sdb1\"\n"
@@ -16173,19 +16484,19 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:410
+#: ../fish/guestfish.pod:444
 msgid "OPTIONAL ARGUMENTS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:412
+#: ../fish/guestfish.pod:446
 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
+#: ../fish/guestfish.pod:450
 #, no-wrap
 msgid ""
 " add-drive-opts filename\n"
@@ -16193,7 +16504,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:418
+#: ../fish/guestfish.pod:452
 #, no-wrap
 msgid ""
 " add-drive-opts filename readonly:true\n"
@@ -16201,7 +16512,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:420
+#: ../fish/guestfish.pod:454
 #, no-wrap
 msgid ""
 " add-drive-opts filename format:qcow2 readonly:false\n"
@@ -16209,196 +16520,196 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:422
+#: ../fish/guestfish.pod:456
 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
+#: ../fish/guestfish.pod:459
 msgid "NUMBERS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:427
+#: ../fish/guestfish.pod:461
 msgid "This section applies to all commands which can take integers as parameters."
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:430
+#: ../fish/guestfish.pod:464
 msgid "SIZE SUFFIX"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:432
+#: ../fish/guestfish.pod:466
 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:438
+#: ../fish/guestfish.pod:472
 msgid "B<k> or B<K> or B<KiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:440
+#: ../fish/guestfish.pod:474
 msgid "The size in kilobytes (multiplied by 1024)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:442
+#: ../fish/guestfish.pod:476
 msgid "B<KB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:444
+#: ../fish/guestfish.pod:478
 msgid "The size in SI 1000 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:446
+#: ../fish/guestfish.pod:480
 msgid "B<M> or B<MiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:448
+#: ../fish/guestfish.pod:482
 msgid "The size in megabytes (multiplied by 1048576)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:450
+#: ../fish/guestfish.pod:484
 msgid "B<MB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:452
+#: ../fish/guestfish.pod:486
 msgid "The size in SI 1000000 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:454
+#: ../fish/guestfish.pod:488
 msgid "B<G> or B<GiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:456
+#: ../fish/guestfish.pod:490
 msgid "The size in gigabytes (multiplied by 2**30)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:458
+#: ../fish/guestfish.pod:492
 msgid "B<GB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:460
+#: ../fish/guestfish.pod:494
 msgid "The size in SI 10**9 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:462
+#: ../fish/guestfish.pod:496
 msgid "B<T> or B<TiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:464
+#: ../fish/guestfish.pod:498
 msgid "The size in terabytes (multiplied by 2**40)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:466
+#: ../fish/guestfish.pod:500
 msgid "B<TB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:468
+#: ../fish/guestfish.pod:502
 msgid "The size in SI 10**12 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:470
+#: ../fish/guestfish.pod:504
 msgid "B<P> or B<PiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:472
+#: ../fish/guestfish.pod:506
 msgid "The size in petabytes (multiplied by 2**50)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:474
+#: ../fish/guestfish.pod:508
 msgid "B<PB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:476
+#: ../fish/guestfish.pod:510
 msgid "The size in SI 10**15 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:478
+#: ../fish/guestfish.pod:512
 msgid "B<E> or B<EiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:480
+#: ../fish/guestfish.pod:514
 msgid "The size in exabytes (multiplied by 2**60)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:482
+#: ../fish/guestfish.pod:516
 msgid "B<EB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:484
+#: ../fish/guestfish.pod:518
 msgid "The size in SI 10**18 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:486
+#: ../fish/guestfish.pod:520
 msgid "B<Z> or B<ZiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:488
+#: ../fish/guestfish.pod:522
 msgid "The size in zettabytes (multiplied by 2**70)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:490
+#: ../fish/guestfish.pod:524
 msgid "B<ZB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:492
+#: ../fish/guestfish.pod:526
 msgid "The size in SI 10**21 byte units."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:494
+#: ../fish/guestfish.pod:528
 msgid "B<Y> or B<YiB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:496
+#: ../fish/guestfish.pod:530
 msgid "The size in yottabytes (multiplied by 2**80)."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:498
+#: ../fish/guestfish.pod:532
 msgid "B<YB>"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:500
+#: ../fish/guestfish.pod:534
 msgid "The size in SI 10**24 byte units."
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:506
+#: ../fish/guestfish.pod:540
 #, no-wrap
 msgid ""
 " truncate-size /file 1G\n"
@@ -16406,12 +16717,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:508
+#: ../fish/guestfish.pod:542
 msgid "would truncate the file to 1 gigabyte."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:510
+#: ../fish/guestfish.pod:544
 msgid ""
 "Be careful because a few commands take sizes in kilobytes or megabytes "
 "(eg. the parameter to L</memsize> is specified in megabytes already).  "
@@ -16419,19 +16730,19 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:514
+#: ../fish/guestfish.pod:548
 msgid "OCTAL AND HEXADECIMAL NUMBERS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:516
+#: ../fish/guestfish.pod:550
 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:519
+#: ../fish/guestfish.pod:553
 #, no-wrap
 msgid ""
 " 1234      decimal number 1234\n"
@@ -16441,7 +16752,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:523
+#: ../fish/guestfish.pod:557
 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 "
@@ -16449,7 +16760,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:527
+#: ../fish/guestfish.pod:561
 #, no-wrap
 msgid ""
 " chmod 0777 /public  # OK\n"
@@ -16458,7 +16769,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:530
+#: ../fish/guestfish.pod:564
 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 "
@@ -16466,12 +16777,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:534
+#: ../fish/guestfish.pod:568
 msgid "WILDCARDS AND GLOBBING"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:536
+#: ../fish/guestfish.pod:570
 msgid ""
 "Neither guestfish nor the underlying guestfs API performs wildcard expansion "
 "(globbing) by default.  So for example the following will not do what you "
@@ -16479,7 +16790,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:540
+#: ../fish/guestfish.pod:574
 #, no-wrap
 msgid ""
 " rm-rf /home/*\n"
@@ -16487,19 +16798,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:542
+#: ../fish/guestfish.pod:576
 msgid ""
 "Assuming you don't have a directory called literally C</home/*> then the "
 "above command will return an error."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:545
+#: ../fish/guestfish.pod:579
 msgid "To perform wildcard expansion, use the C<glob> command."
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:547
+#: ../fish/guestfish.pod:581
 #, no-wrap
 msgid ""
 " glob rm-rf /home/*\n"
@@ -16507,14 +16818,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:549
+#: ../fish/guestfish.pod:583
 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:552
+#: ../fish/guestfish.pod:586
 #, no-wrap
 msgid ""
 " rm-rf /home/jim\n"
@@ -16524,24 +16835,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:556
+#: ../fish/guestfish.pod:590
 msgid "C<glob> only works on simple guest paths and not on device names."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:558
+#: ../fish/guestfish.pod:592
 msgid ""
 "If you have several parameters, each containing a wildcard, then glob will "
 "perform a Cartesian product."
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:561
+#: ../fish/guestfish.pod:595
 msgid "COMMENTS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:563
+#: ../fish/guestfish.pod:597
 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 "
@@ -16549,7 +16860,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:567
+#: ../fish/guestfish.pod:601
 #, no-wrap
 msgid ""
 " # this is a comment\n"
@@ -16559,24 +16870,24 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:571
+#: ../fish/guestfish.pod:605
 msgid "Blank lines are also ignored."
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:573
+#: ../fish/guestfish.pod:607
 msgid "RUNNING COMMANDS LOCALLY"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:575
+#: ../fish/guestfish.pod:609
 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:579
+#: ../fish/guestfish.pod:613
 #, no-wrap
 msgid ""
 " !mkdir local\n"
@@ -16585,7 +16896,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:582
+#: ../fish/guestfish.pod:616
 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>.  "
@@ -16593,19 +16904,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:586
+#: ../fish/guestfish.pod:620
 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:589
+#: ../fish/guestfish.pod:623
 msgid "PIPES"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:591
+#: ../fish/guestfish.pod:625
 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 "
@@ -16613,7 +16924,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:595
+#: ../fish/guestfish.pod:629
 #, no-wrap
 msgid ""
 " cat /etc/passwd | awk -F: '$3 == 0 { print }'\n"
@@ -16621,7 +16932,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:597
+#: ../fish/guestfish.pod:631
 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 "
@@ -16629,7 +16940,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:602
+#: ../fish/guestfish.pod:636
 #, no-wrap
 msgid ""
 " hexdump /bin/ls | head\n"
@@ -16639,7 +16950,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:606
+#: ../fish/guestfish.pod:640
 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 "
@@ -16648,14 +16959,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:611
+#: ../fish/guestfish.pod:645
 msgid ""
 "To use a literal argument which begins with a pipe symbol, you have to quote "
 "it, eg:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:614
+#: ../fish/guestfish.pod:648
 #, no-wrap
 msgid ""
 " echo \"|\"\n"
@@ -16663,12 +16974,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:616
+#: ../fish/guestfish.pod:650
 msgid "HOME DIRECTORIES"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:618
+#: ../fish/guestfish.pod:652
 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, "
@@ -16676,21 +16987,21 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:622
+#: ../fish/guestfish.pod:656
 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:625
+#: ../fish/guestfish.pod:659
 msgid ""
 "To use a literal argument which begins with a tilde, you have to quote it, "
 "eg:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:628
+#: ../fish/guestfish.pod:662
 #, no-wrap
 msgid ""
 " echo \"~\"\n"
@@ -16698,7 +17009,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:632
+#: ../fish/guestfish.pod:666
 msgid ""
 "Libguestfs has some support for Linux guests encrypted according to the "
 "Linux Unified Key Setup (LUKS) standard, which includes nearly all whole "
@@ -16707,12 +17018,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:637
+#: ../fish/guestfish.pod:671
 msgid "Identify encrypted block devices and partitions using L</vfs-type>:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:639
+#: ../fish/guestfish.pod:673
 #, no-wrap
 msgid ""
 " ><fs> vfs-type /dev/sda2\n"
@@ -16721,14 +17032,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:642
+#: ../fish/guestfish.pod:676
 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:645
+#: ../fish/guestfish.pod:679
 #, no-wrap
 msgid ""
 " ><fs> luks-open /dev/sda2 luksdev\n"
@@ -16737,14 +17048,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:648
+#: ../fish/guestfish.pod:682
 msgid ""
 "Finally you have to tell LVM to scan for volume groups on the newly created "
 "mapper device:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:651
+#: ../fish/guestfish.pod:685
 #, no-wrap
 msgid ""
 " vgscan\n"
@@ -16753,12 +17064,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:654
+#: ../fish/guestfish.pod:688
 msgid "The logical volume(s) can now be mounted in the usual way."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:656
+#: ../fish/guestfish.pod:690
 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 "
@@ -16766,7 +17077,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:660
+#: ../fish/guestfish.pod:694
 #, no-wrap
 msgid ""
 " vg-activate false /dev/VG\n"
@@ -16775,19 +17086,19 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:663
+#: ../fish/guestfish.pod:697
 msgid "WINDOWS PATHS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:665
+#: ../fish/guestfish.pod:699
 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:668
+#: ../fish/guestfish.pod:702
 #, no-wrap
 msgid ""
 " file /WINDOWS/system32/config/system.LOG\n"
@@ -16795,7 +17106,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:670
+#: ../fish/guestfish.pod:704
 #, no-wrap
 msgid ""
 " file win:/windows/system32/config/system.log\n"
@@ -16803,7 +17114,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:672
+#: ../fish/guestfish.pod:706
 #, no-wrap
 msgid ""
 " file win:\\windows\\system32\\config\\system.log\n"
@@ -16811,7 +17122,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:674
+#: ../fish/guestfish.pod:708
 #, no-wrap
 msgid ""
 " file WIN:C:\\Windows\\SYSTEM32\\conFIG\\SYSTEM.LOG\n"
@@ -16819,7 +17130,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:676
+#: ../fish/guestfish.pod:710
 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 "
@@ -16827,12 +17138,12 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:680
+#: ../fish/guestfish.pod:714
 msgid "UPLOADING AND DOWNLOADING FILES"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:682
+#: ../fish/guestfish.pod:716
 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 "
@@ -16840,7 +17151,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:686
+#: ../fish/guestfish.pod:720
 #, no-wrap
 msgid ""
 " upload - /foo\n"
@@ -16848,12 +17159,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:688
+#: ../fish/guestfish.pod:722
 msgid "reads stdin and creates from that a file C</foo> in the disk image, and:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:691
+#: ../fish/guestfish.pod:725
 #, no-wrap
 msgid ""
 " tar-out /etc - | tar tf -\n"
@@ -16861,14 +17172,14 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:693
+#: ../fish/guestfish.pod:727
 msgid ""
 "writes the tarball to stdout and then pipes that into the external \"tar\" "
 "command (see L</PIPES>)."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:696
+#: ../fish/guestfish.pod:730
 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 "
@@ -16876,7 +17187,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:700
+#: ../fish/guestfish.pod:734
 #, no-wrap
 msgid ""
 " upload -<<END /foo\n"
@@ -16888,7 +17199,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:706
+#: ../fish/guestfish.pod:740
 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 "
@@ -16896,19 +17207,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:710
+#: ../fish/guestfish.pod:744
 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:713
+#: ../fish/guestfish.pod:747
 msgid "EXIT ON ERROR BEHAVIOUR"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:715
+#: ../fish/guestfish.pod:749
 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 "
@@ -16916,19 +17227,19 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:720
+#: ../fish/guestfish.pod:754
 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:724
+#: ../fish/guestfish.pod:758
 msgid "REMOTE CONTROL GUESTFISH OVER A SOCKET"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:726
+#: ../fish/guestfish.pod:760
 msgid ""
 "Guestfish can be remote-controlled over a socket.  This is useful "
 "particularly in shell scripts where you want to make several different "
@@ -16937,25 +17248,25 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:731
+#: ../fish/guestfish.pod:765
 msgid "Start a guestfish server process using:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:733
+#: ../fish/guestfish.pod:767
 #, no-wrap
 msgid ""
-" eval `guestfish --listen`\n"
+" eval \"`guestfish --listen`\"\n"
 "\n"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:735
+#: ../fish/guestfish.pod:769
 msgid "and then send it commands by doing:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:737
+#: ../fish/guestfish.pod:771
 #, no-wrap
 msgid ""
 " guestfish --remote cmd [...]\n"
@@ -16963,12 +17274,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:739
+#: ../fish/guestfish.pod:773
 msgid "To cause the server to exit, send it the exit command:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:741
+#: ../fish/guestfish.pod:775
 #, no-wrap
 msgid ""
 " guestfish --remote exit\n"
@@ -16976,7 +17287,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:743
+#: ../fish/guestfish.pod:777
 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 "
@@ -16984,12 +17295,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:747
+#: ../fish/guestfish.pod:781
 msgid "CONTROLLING MULTIPLE GUESTFISH PROCESSES"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:749
+#: ../fish/guestfish.pod:783
 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 "
@@ -16997,12 +17308,12 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:753
+#: ../fish/guestfish.pod:787
 #, no-wrap
 msgid ""
-" eval `guestfish --listen`\n"
+" eval \"`guestfish --listen`\"\n"
 " pid1=$GUESTFISH_PID\n"
-" eval `guestfish --listen`\n"
+" eval \"`guestfish --listen`\"\n"
 " pid2=$GUESTFISH_PID\n"
 " ...\n"
 " guestfish --remote=$pid1 cmd\n"
@@ -17011,12 +17322,12 @@ msgid ""
 msgstr ""
 
 # type: =head2
-#: ../fish/guestfish.pod:761
+#: ../fish/guestfish.pod:795
 msgid "REMOTE CONTROL DETAILS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:763
+#: ../fish/guestfish.pod:797
 msgid ""
 "Remote control happens over a Unix domain socket called "
 "C</tmp/.guestfish-$UID/socket-$PID>, where C<$UID> is the effective user ID "
@@ -17024,17 +17335,17 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:767
+#: ../fish/guestfish.pod:801
 msgid "Guestfish client and server versions must match exactly."
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:769
+#: ../fish/guestfish.pod:803
 msgid "PREPARED DISK IMAGES"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:771
+#: ../fish/guestfish.pod:805
 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.  "
@@ -17044,7 +17355,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:777
+#: ../fish/guestfish.pod:811
 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 "
@@ -17052,7 +17363,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:781
+#: ../fish/guestfish.pod:815
 msgid ""
 "The type briefly describes how the disk should be sized, partitioned, how "
 "filesystem(s) should be created, and how content should be added.  "
@@ -17064,31 +17375,31 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:789
+#: ../fish/guestfish.pod:823
 msgid "To list the available types and any extra parameters they take, run:"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:793
+#: ../fish/guestfish.pod:827
 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:797
+#: ../fish/guestfish.pod:831
 msgid ""
 "If any I<-N> or I<--new> options are given, the guest is automatically "
 "launched."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:802
+#: ../fish/guestfish.pod:836
 msgid "Create a 100MB disk with an ext4-formatted partition:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:804
+#: ../fish/guestfish.pod:838
 #, no-wrap
 msgid ""
 " guestfish -N fs:ext4\n"
@@ -17096,12 +17407,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:806
+#: ../fish/guestfish.pod:840
 msgid "Create a 32MB disk with a VFAT-formatted partition, and mount it:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:808
+#: ../fish/guestfish.pod:842
 #, no-wrap
 msgid ""
 " guestfish -N fs:vfat:32M -m /dev/sda1\n"
@@ -17109,12 +17420,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:810
+#: ../fish/guestfish.pod:844
 msgid "Create a blank 200MB disk:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:812
+#: ../fish/guestfish.pod:846
 #, no-wrap
 msgid ""
 " guestfish -N disk:200M\n"
@@ -17122,19 +17433,19 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:814
+#: ../fish/guestfish.pod:848
 msgid "PROGRESS BARS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:816
+#: ../fish/guestfish.pod:850
 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:820
+#: ../fish/guestfish.pod:854
 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 "
@@ -17142,7 +17453,7 @@ msgid ""
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:824
+#: ../fish/guestfish.pod:858
 #, no-wrap
 msgid ""
 " ><fs> copy-size /large-file /another-file 2048M\n"
@@ -17151,7 +17462,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:827
+#: ../fish/guestfish.pod:861
 msgid ""
 "The spinner on the left hand side moves round once for every progress "
 "notification received from the backend.  This is a (reasonably) golden "
@@ -17162,7 +17473,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:834
+#: ../fish/guestfish.pod:868
 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>, "
@@ -17170,24 +17481,24 @@ msgid ""
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:839
+#: ../fish/guestfish.pod:873
 msgid "GUESTFISH COMMANDS"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:841
+#: ../fish/guestfish.pod:875
 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:844
+#: ../fish/guestfish.pod:878
 msgid "help"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:846
+#: ../fish/guestfish.pod:880
 #, no-wrap
 msgid ""
 " help\n"
@@ -17196,152 +17507,152 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:849
+#: ../fish/guestfish.pod:883
 msgid ""
 "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
+#: ../fish/guestfish.pod:886
 msgid "quit | exit"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:854
+#: ../fish/guestfish.pod:888
 msgid "This exits guestfish.  You can also use C<^D> key."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:856
+#: ../fish/guestfish.pod:890
 msgid "@FISH_COMMANDS@"
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:858
+#: ../fish/guestfish.pod:892
 msgid "COMMANDS"
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:862 ../test-tool/libguestfs-test-tool.pod:83
+#: ../fish/guestfish.pod:896 ../test-tool/libguestfs-test-tool.pod:83
 msgid "EXIT CODE"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:864
+#: ../fish/guestfish.pod:898
 msgid ""
 "guestfish returns 0 if the commands completed without error, or 1 if there "
 "was an error."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:871
+#: ../fish/guestfish.pod:905
 msgid "EDITOR"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:873
+#: ../fish/guestfish.pod:907
 msgid ""
 "The C<edit> command uses C<$EDITOR> as the editor.  If not set, it uses "
 "C<vi>."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:876
+#: ../fish/guestfish.pod:910
 msgid "GUESTFISH_PID"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:878
+#: ../fish/guestfish.pod:912
 msgid ""
 "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
+#: ../fish/guestfish.pod:916
 msgid "HEXEDITOR"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:884
+#: ../fish/guestfish.pod:918
 msgid ""
 "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
+#: ../fish/guestfish.pod:922
 msgid "HOME"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:890
+#: ../fish/guestfish.pod:924
 msgid ""
 "If compiled with GNU readline support, various files in the home directory "
 "can be used.  See L</FILES>."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:899
+#: ../fish/guestfish.pod:933
 msgid ""
 "Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages.  This has the same "
 "effect as using the B<-v> option."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:911
+#: ../fish/guestfish.pod:945
 msgid ""
 "Set the path that guestfish uses to search for kernel and initrd.img.  See "
 "the discussion of paths in L<guestfs(3)>."
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:922
+#: ../fish/guestfish.pod:956
 msgid "Set C<LIBGUESTFS_TRACE=1> to enable command traces."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:924
+#: ../fish/guestfish.pod:958
 msgid "PAGER"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:926
+#: ../fish/guestfish.pod:960
 msgid ""
 "The C<more> command uses C<$PAGER> as the pager.  If not set, it uses "
 "C<more>."
 msgstr ""
 
 # type: =head1
-#: ../fish/guestfish.pod:941 ../test-tool/libguestfs-test-tool.pod:88
+#: ../fish/guestfish.pod:975 ../test-tool/libguestfs-test-tool.pod:88
 msgid "FILES"
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:945
+#: ../fish/guestfish.pod:979
 msgid "$HOME/.guestfish"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:947
+#: ../fish/guestfish.pod:981
 msgid ""
 "If compiled with GNU readline support, then the command history is saved in "
 "this file."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:950
+#: ../fish/guestfish.pod:984
 msgid "$HOME/.inputrc"
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:952
+#: ../fish/guestfish.pod:986
 msgid "/etc/inputrc"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:954
+#: ../fish/guestfish.pod:988
 msgid ""
 "If compiled with GNU readline support, then these files can be used to "
 "configure readline.  For further information, please see "
@@ -17349,12 +17660,12 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:958
+#: ../fish/guestfish.pod:992
 msgid "To write rules which only apply to guestfish, use:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:960
+#: ../fish/guestfish.pod:994
 #, no-wrap
 msgid ""
 " $if guestfish\n"
@@ -17364,26 +17675,26 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:964
+#: ../fish/guestfish.pod:998
 msgid ""
 "Variables that you can set in inputrc that change the behaviour of guestfish "
 "in useful ways include:"
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:969
+#: ../fish/guestfish.pod:1003
 msgid "completion-ignore-case (default: on)"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:971
+#: ../fish/guestfish.pod:1005
 msgid ""
 "By default, guestfish will ignore case when tab-completing paths on the "
 "disk.  Use:"
 msgstr ""
 
 # type: verbatim
-#: ../fish/guestfish.pod:974
+#: ../fish/guestfish.pod:1008
 #, no-wrap
 msgid ""
 " set completion-ignore-case off\n"
@@ -17391,22 +17702,22 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:976
+#: ../fish/guestfish.pod:1010
 msgid "to make guestfish case sensitive."
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:980
+#: ../fish/guestfish.pod:1014
 msgid "test1.img"
 msgstr ""
 
 # type: =item
-#: ../fish/guestfish.pod:982
+#: ../fish/guestfish.pod:1016
 msgid "test2.img (etc)"
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:984
+#: ../fish/guestfish.pod:1018
 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 "
@@ -17415,7 +17726,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:993
+#: ../fish/guestfish.pod:1027
 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)>, "
@@ -17424,7 +17735,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:1017 ../test-tool/libguestfs-test-tool.pod:124 ../fuse/guestmount.pod:234 ../inspector/virt-inspector.pl:598 ../tools/virt-edit.pl:370 ../tools/virt-win-reg.pl:518 ../tools/virt-df.pl:657 ../tools/virt-ls.pl:251 ../tools/virt-resize.pl:1516 ../tools/virt-list-filesystems.pl:206 ../tools/virt-cat.pl:203 ../tools/virt-tar.pl:300 ../tools/virt-rescue.pl:285 ../tools/virt-make-fs.pl:567 ../tools/virt-list-partitions.pl:273
+#: ../fish/guestfish.pod:1051 ../test-tool/libguestfs-test-tool.pod:124 ../fuse/guestmount.pod:241 ../inspector/virt-inspector.pl:598 ../tools/virt-edit.pl:370 ../tools/virt-win-reg.pl:518 ../tools/virt-df.pl:657 ../tools/virt-ls.pl:251 ../tools/virt-resize.pl:1516 ../tools/virt-list-filesystems.pl:206 ../tools/virt-cat.pl:203 ../tools/virt-tar.pl:300 ../tools/virt-rescue.pl:285 ../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 "
@@ -17433,7 +17744,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:1022 ../test-tool/libguestfs-test-tool.pod:129 ../fuse/guestmount.pod:239 ../inspector/virt-inspector.pl:603 ../tools/virt-edit.pl:375 ../tools/virt-win-reg.pl:523 ../tools/virt-df.pl:662 ../tools/virt-ls.pl:256 ../tools/virt-resize.pl:1521 ../tools/virt-list-filesystems.pl:211 ../tools/virt-cat.pl:208 ../tools/virt-tar.pl:305 ../tools/virt-rescue.pl:290 ../tools/virt-make-fs.pl:572 ../tools/virt-list-partitions.pl:278
+#: ../fish/guestfish.pod:1056 ../test-tool/libguestfs-test-tool.pod:129 ../fuse/guestmount.pod:246 ../inspector/virt-inspector.pl:603 ../tools/virt-edit.pl:375 ../tools/virt-win-reg.pl:523 ../tools/virt-df.pl:662 ../tools/virt-ls.pl:256 ../tools/virt-resize.pl:1521 ../tools/virt-list-filesystems.pl:211 ../tools/virt-cat.pl:208 ../tools/virt-tar.pl:305 ../tools/virt-rescue.pl:290 ../tools/virt-make-fs.pl:572 ../tools/virt-list-partitions.pl:278
 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 "
@@ -17442,7 +17753,7 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fish/guestfish.pod:1027 ../test-tool/libguestfs-test-tool.pod:134 ../fuse/guestmount.pod:244 ../inspector/virt-inspector.pl:608 ../tools/virt-edit.pl:380 ../tools/virt-win-reg.pl:528 ../tools/virt-df.pl:667 ../tools/virt-ls.pl:261 ../tools/virt-resize.pl:1526 ../tools/virt-list-filesystems.pl:216 ../tools/virt-cat.pl:213 ../tools/virt-tar.pl:310 ../tools/virt-rescue.pl:295 ../tools/virt-make-fs.pl:577 ../tools/virt-list-partitions.pl:283
+#: ../fish/guestfish.pod:1061 ../test-tool/libguestfs-test-tool.pod:134 ../fuse/guestmount.pod:251 ../inspector/virt-inspector.pl:608 ../tools/virt-edit.pl:380 ../tools/virt-win-reg.pl:528 ../tools/virt-df.pl:667 ../tools/virt-ls.pl:261 ../tools/virt-resize.pl:1526 ../tools/virt-list-filesystems.pl:216 ../tools/virt-cat.pl:213 ../tools/virt-tar.pl:310 ../tools/virt-rescue.pl:295 ../tools/virt-make-fs.pl:577 ../tools/virt-list-partitions.pl:283
 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 "
@@ -24089,37 +24400,49 @@ msgid ""
 msgstr ""
 
 # type: textblock
-#: ../fuse/guestmount.pod:196
+#: ../fuse/guestmount.pod:194
+msgid "See also L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>."
+msgstr ""
+
+# type: textblock
+#: ../fuse/guestmount.pod:198
 msgid "Enable SELinux support for the guest."
 msgstr ""
 
 # type: textblock
-#: ../fuse/guestmount.pod:200
+#: ../fuse/guestmount.pod:202
 msgid "Enable verbose messages from underlying libguestfs."
 msgstr ""
 
 # type: textblock
-#: ../fuse/guestmount.pod:204
+#: ../fuse/guestmount.pod:206
 msgid "Display the program version and exit."
 msgstr ""
 
+# type: textblock
+#: ../fuse/guestmount.pod:210
+msgid ""
+"This option does nothing at the moment.  See L<guestfish(1)/OPENING DISKS "
+"FOR READ AND WRITE>."
+msgstr ""
+
 # type: =item
-#: ../fuse/guestmount.pod:206
+#: ../fuse/guestmount.pod:213
 msgid "B<-x> | B<--trace>"
 msgstr ""
 
 # type: textblock
-#: ../fuse/guestmount.pod:208
+#: ../fuse/guestmount.pod:215
 msgid "Trace libguestfs calls."
 msgstr ""
 
 # type: textblock
-#: ../fuse/guestmount.pod:210
+#: ../fuse/guestmount.pod:217
 msgid "This also stops the daemon from forking into the background."
 msgstr ""
 
 # type: textblock
-#: ../fuse/guestmount.pod:216
+#: ../fuse/guestmount.pod:223
 msgid ""
 "L<guestfish(1)>, L<virt-inspector(1)>, L<virt-cat(1)>, L<virt-edit(1)>, "
 "L<virt-tar(1)>, L<guestfs(3)>, L<http://libguestfs.org/>, "
@@ -27153,7 +27476,7 @@ msgstr ""
 
 # type: =item
 #: ../tools/virt-rescue.pl:175
-msgid "B<--network MB>"
+msgid "B<--network>"
 msgstr ""
 
 # type: textblock
index dca893c..f88a6b2 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: libguestfs.master\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2010-11-05 15:20+0000\n"
+"POT-Creation-Date: 2010-11-18 12:58+0000\n"
 "PO-Revision-Date: \n"
 "Last-Translator: Héctor Daniel Cabrera <logan@fedoraproject.org>\n"
 "Language-Team: Fedora Spanish <trans-es@lists.fedoraproject.org>\n"
@@ -1702,17 +1702,17 @@ msgstr ""
 "  -V|--version         Muestra la versión y finaliza\n"
 "Para mayor información, vea la página man %s(1).\n"
 
-#: fish/fish.c:201 fuse/guestmount.c:975
+#: fish/fish.c:202 fuse/guestmount.c:976
 #, c-format
 msgid "guestfs_create: failed to create handle\n"
 msgstr "guestfs_create: falló al crear manipulador\n"
 
-#: fish/fish.c:238
+#: fish/fish.c:239
 #, c-format
 msgid "%s: --listen=PID: PID was not a number: %s\n"
 msgstr "%s: --listen=PID: PID no era un número: %s\n"
 
-#: fish/fish.c:245
+#: fish/fish.c:246
 #, c-format
 msgid ""
 "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n"
@@ -1720,45 +1720,45 @@ msgstr ""
 "%s: remote: $GUESTFISH_PID debe estar definido con el PID del proceso "
 "remoto\n"
 
-#: fish/fish.c:267 fuse/guestmount.c:1020
+#: fish/fish.c:268 fuse/guestmount.c:1021
 #, c-format
 msgid "%s: unknown long option: %s (%d)\n"
 msgstr "%s: opción extensa desconocida: %s (%d)\n"
 
-#: fish/fish.c:291
+#: fish/fish.c:292
 #, c-format
 msgid "%s: only one -f parameter can be given\n"
 msgstr "%s: sólo puede ofrecerse un parámetro -f\n"
 
-#: fish/fish.c:441
+#: fish/fish.c:446
 #, c-format
 msgid "%s: cannot use --listen and --remote options at the same time\n"
 msgstr ""
 "%s: no es posible utilizar al mismo tiempo las opciones --listen y --remote\n"
 
-#: fish/fish.c:449
+#: fish/fish.c:454
 #, c-format
 msgid "%s: extra parameters on the command line with --listen flag\n"
 msgstr "%s: parámetros extra de la línea de comando con marca --listen\n"
 
-#: fish/fish.c:455
+#: fish/fish.c:460
 #, c-format
 msgid "%s: cannot use --listen and --file options at the same time\n"
 msgstr ""
 "%s no es posible utilizar al mismo tiempo las opciones --listen y --file\n"
 
-#: fish/fish.c:512
+#: fish/fish.c:517
 #, c-format
 msgid "guestfish: could not access termcap or terminfo database.\n"
 msgstr ""
 "guestfish: no es posible acceder a la base de datos termcap o terminfo.\n"
 
-#: fish/fish.c:516
+#: fish/fish.c:521
 #, c-format
 msgid "guestfish: terminal type \"%s\" not defined.\n"
 msgstr "guestfish: el tipo de terminal \"%s\" no ha sido definido.\n"
 
-#: fish/fish.c:625
+#: fish/fish.c:630
 #, c-format
 msgid ""
 "\n"
@@ -1780,46 +1780,46 @@ msgstr ""
 "      'quit' para abandonar la shell\n"
 "\n"
 
-#: fish/fish.c:712
+#: fish/fish.c:717
 #, c-format
 msgid "%s: unterminated double quote\n"
 msgstr "%s: doble cuota no finalizada\n"
 
-#: fish/fish.c:718 fish/fish.c:735
+#: fish/fish.c:723 fish/fish.c:740
 #, c-format
 msgid "%s: command arguments not separated by whitespace\n"
 msgstr ""
 "%s: los argumentos del comando no están separados por un espacio en blanco\n"
 
-#: fish/fish.c:729
+#: fish/fish.c:734
 #, c-format
 msgid "%s: unterminated single quote\n"
 msgstr "%s: cuota simple no finalizada\n"
 
-#: fish/fish.c:784
+#: fish/fish.c:789
 #, c-format
 msgid "%s: internal error parsing string at '%s'\n"
 msgstr "%s: error interno analizando cadena en '%s'\n"
 
-#: fish/fish.c:801
+#: fish/fish.c:806
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: demasiados argumentos\n"
 
-#: fish/fish.c:830
+#: fish/fish.c:835
 #, c-format
 msgid "%s: empty command on command line\n"
 msgstr "%s: comando vacío en la línea de comando\n"
 
-#: fish/fish.c:971
+#: fish/fish.c:976
 msgid "display a list of commands or help on a command"
 msgstr "muestra una lista de comandos o asistencia sobre un comando"
 
-#: fish/fish.c:973
+#: fish/fish.c:978
 msgid "quit guestfish"
 msgstr "salir de guestfish"
 
-#: fish/fish.c:984
+#: fish/fish.c:989
 #, c-format
 msgid ""
 "help - display a list of commands or help on a command\n"
@@ -1830,7 +1830,7 @@ msgstr ""
 "     help cmd\n"
 "     help\n"
 
-#: fish/fish.c:992
+#: fish/fish.c:997
 #, c-format
 msgid ""
 "quit - quit guestfish\n"
@@ -1839,12 +1839,12 @@ msgstr ""
 "quit - abandonar guestfish\n"
 "     quit\n"
 
-#: fish/fish.c:997
+#: fish/fish.c:1002
 #, c-format
 msgid "%s: command not known, use -h to list all commands\n"
 msgstr "%s comando no conocido, utilice -h para listar todos los comandos\n"
 
-#: fish/fish.c:1013
+#: fish/fish.c:1018
 #, c-format
 msgid ""
 "Did you mean to open a disk image?  guestfish -a disk.img\n"
@@ -1855,12 +1855,12 @@ msgstr ""
 "Para obtener una lista de comandos:             guestfish -h\n"
 "Para obtener la documentación completa:         man guestfish\n"
 
-#: fish/fish.c:1170
+#: fish/fish.c:1175
 #, c-format
 msgid "Runaway quote in string \"%s\"\n"
 msgstr "Cuota problemática en la cadena \"%s\"\n"
 
-#: fish/fish.c:1506
+#: fish/fish.c:1511
 #, c-format
 msgid "Enter key or passphrase (\"%s\"): "
 msgstr "Ingrese la llave o la frase de acceso (\"%s\"): "
@@ -2242,12 +2242,12 @@ msgstr ""
 "  -v|--verbose         Mensajes detallados\n"
 "  -V|--version         Muestra la versión y finaliza\n"
 
-#: fuse/guestmount.c:1084
+#: fuse/guestmount.c:1089
 #, fuzzy, c-format
 msgid "%s: must have at least one -a/-d and at least one -m/-i option\n"
 msgstr "%s: debe poseer al menos una opción -a, y al menos una opción -m\n"
 
-#: fuse/guestmount.c:1092
+#: fuse/guestmount.c:1097
 #, c-format
 msgid "%s: you must specify a mountpoint in the host filesystem\n"
 msgstr ""
@@ -2419,7 +2419,7 @@ msgstr "{path} no coincide con el patrón augeas"
 msgid "{filename}: could not read initrd format"
 msgstr "{filename}: no es posible leer formato initrd"
 
-#: src/appliance.c:138
+#: src/appliance.c:142
 #, c-format
 msgid ""
 "cannot find any suitable libguestfs supermin or ordinary appliance on "
@@ -2428,20 +2428,31 @@ msgstr ""
 "no es posible hallar un supermin de libguestfs adecuado, o algún dispositivo "
 "ordinario en LIBGUESTFS_PATH (ruta de búsqueda: %s)"
 
-#: src/appliance.c:353
+#: src/appliance.c:358
 #, fuzzy, c-format
 msgid "failed to create temporary cache directory: %m"
 msgstr "crea un directorio temporal"
 
-#: src/appliance.c:441
+#: src/appliance.c:446
 #, fuzzy, c-format
 msgid "error renaming temporary cache directory: %m"
 msgstr "crea un directorio temporal"
 
-#: src/appliance.c:517
+#: src/appliance.c:522
 msgid "external command failed, see earlier error messages"
 msgstr "falló el comando externo, vea mensajes de errores anteriores"
 
+#: src/filearch.c:153
+#, c-format
+msgid "size of %s unreasonable (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/filearch.c:266
+msgid ""
+"file-architecture API not available since this version of libguestfs was "
+"compiled without PCRE or libmagic libraries"
+msgstr ""
+
 #: src/guestfs.c:178
 #, c-format
 msgid "guestfs_close: called twice on the same handle\n"
@@ -2452,21 +2463,36 @@ msgstr "guestfs_close: llamado dos veces en la misma manipulación\n"
 msgid "libguestfs: error: %s\n"
 msgstr "libguestfs: error: %s\n"
 
-#: src/guestfs.c:762
+#: src/guestfs.c:778
 #, c-format
 msgid "<truncated, original size %zu bytes>"
 msgstr ""
 
-#: src/inspect.c:1077
+#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279
+#, c-format
+msgid "size of %s is unreasonably large (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/inspect.c:591
+#, fuzzy
+msgid "could not parse /etc/fstab or empty file"
+msgstr "no se pudo analizar el tamaño de arranque"
+
+#: src/inspect.c:784
 #, c-format
 msgid "cannot resolve Windows %%SYSTEMROOT%%"
 msgstr "no es posible resolver  %%SYSTEMROOT%% de Windows"
 
-#: src/inspect.c:1293
+#: src/inspect.c:972
+#, fuzzy, c-format
+msgid "could not parse integer in version number: %s"
+msgstr "no se pudo analizar el tamaño de arranque"
+
+#: src/inspect.c:982
 msgid "no inspection data: call guestfs_inspect_os first"
 msgstr "no existen datos de inspección: invoque primero a guestfs_inspect_os"
 
-#: src/inspect.c:1305
+#: src/inspect.c:994
 #, c-format
 msgid ""
 "%s: root device not found: only call this function with a root device "
@@ -2475,10 +2501,21 @@ msgstr ""
 "%s: no se ha encontrado un dispositivo raíz: sólo invoque esta función con "
 "un dispositivo raíz previamente obtenido mediante  guestfs_inspect_os"
 
-#: src/inspect.c:1400
+#: src/inspect.c:1089
 msgid "not a Windows guest, or systemroot could not be determined"
 msgstr ""
 
+#: src/inspect.c:1288
+#, c-format
+msgid "%s: file is empty"
+msgstr ""
+
+#: src/inspect.c:1305
+msgid ""
+"inspection API not available since this version of libguestfs was compiled "
+"without PCRE or hivex libraries"
+msgstr ""
+
 #: src/launch.c:94
 msgid "command line cannot be altered after qemu subprocess launched"
 msgstr ""
index 83397c5..ce95be4 100644 (file)
--- a/po/gu.po
+++ b/po/gu.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: libguestfs\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2010-11-05 15:20+0000\n"
+"POT-Creation-Date: 2010-11-18 12:58+0000\n"
 "PO-Revision-Date: 2010-02-02 13:45+0530\n"
 "Last-Translator: Sweta Kothari <swkothar@redhat.com>\n"
 "Language-Team: Gujarati\n"
@@ -1706,58 +1706,58 @@ msgstr ""
 "  -V|--version         આવૃત્તિને દર્શાવો અને બહાર નીકળો\n"
 "વધારે જાણકારી માટે,  મુખ્યપાનું %s(1) ને જુઓ.\n"
 
-#: fish/fish.c:201 fuse/guestmount.c:975
+#: fish/fish.c:202 fuse/guestmount.c:976
 #, c-format
 msgid "guestfs_create: failed to create handle\n"
 msgstr "guestfs_create: હેન્ડલ ને બનાવવાનું નિષ્ફળ\n"
 
-#: fish/fish.c:238
+#: fish/fish.c:239
 #, c-format
 msgid "%s: --listen=PID: PID was not a number: %s\n"
 msgstr "%s: --listen=PID: PID એ નંબર ન હતો: %s\n"
 
-#: fish/fish.c:245
+#: fish/fish.c:246
 #, c-format
 msgid ""
 "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n"
 msgstr "%s: દૂરસ્થ: $GUESTFISH_PID એ દૂરસ્થ પ્રક્રિયાનાં PID ને સુયોજિત કરવુ જ પડશે\n"
 
-#: fish/fish.c:267 fuse/guestmount.c:1020
+#: fish/fish.c:268 fuse/guestmount.c:1021
 #, c-format
 msgid "%s: unknown long option: %s (%d)\n"
 msgstr "%s: અજ્ઞાત લાંબો વિકલ્પ: %s (%d)\n"
 
-#: fish/fish.c:291
+#: fish/fish.c:292
 #, c-format
 msgid "%s: only one -f parameter can be given\n"
 msgstr "%s: ફક્ત એક -f પરિમાણને આપી શકાય છે\n"
 
-#: fish/fish.c:441
+#: fish/fish.c:446
 #, c-format
 msgid "%s: cannot use --listen and --remote options at the same time\n"
 msgstr "%s: સરખા સમયે --listen અને --remote વિકલ્પોને વાપરી શકાતા નથી\n"
 
-#: fish/fish.c:449
+#: fish/fish.c:454
 #, c-format
 msgid "%s: extra parameters on the command line with --listen flag\n"
 msgstr "%s: --listen ફ્લેગ સાથે આદેશ વાક્ય પર વધારાનાં પરિમાણો\n"
 
-#: fish/fish.c:455
+#: fish/fish.c:460
 #, c-format
 msgid "%s: cannot use --listen and --file options at the same time\n"
 msgstr "%s: સરખા સમયે --listen અને --file વિકલ્પોને વાપરી શકાતુ નથી\n"
 
-#: fish/fish.c:512
+#: fish/fish.c:517
 #, c-format
 msgid "guestfish: could not access termcap or terminfo database.\n"
 msgstr ""
 
-#: fish/fish.c:516
+#: fish/fish.c:521
 #, c-format
 msgid "guestfish: terminal type \"%s\" not defined.\n"
 msgstr ""
 
-#: fish/fish.c:625
+#: fish/fish.c:630
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -1777,45 +1777,45 @@ msgstr ""
 "      શેલને બહાર નીકળવા માટે 'quit'\n"
 "\n"
 
-#: fish/fish.c:712
+#: fish/fish.c:717
 #, c-format
 msgid "%s: unterminated double quote\n"
 msgstr "%s: અંત ન બમણા અવતરણચિહ્નો \n"
 
-#: fish/fish.c:718 fish/fish.c:735
+#: fish/fish.c:723 fish/fish.c:740
 #, c-format
 msgid "%s: command arguments not separated by whitespace\n"
 msgstr "%s: આદેશ દલીલો એ ખાલી જગ્યા દ્દારા અલગ થયેલ નથી\n"
 
-#: fish/fish.c:729
+#: fish/fish.c:734
 #, c-format
 msgid "%s: unterminated single quote\n"
 msgstr "%s: અંત ન આવેલ એક અવતરણ ચિહ્ન\n"
 
-#: fish/fish.c:784
+#: fish/fish.c:789
 #, c-format
 msgid "%s: internal error parsing string at '%s'\n"
 msgstr "%s: આંતરિક ભૂલ '%s' પર શબ્દમાળાનું પદચ્છેદન કરી રહી છે\n"
 
-#: fish/fish.c:801
+#: fish/fish.c:806
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: ઘણીબધી દલીલો છે\n"
 
-#: fish/fish.c:830
+#: fish/fish.c:835
 #, c-format
 msgid "%s: empty command on command line\n"
 msgstr "%s: આદેશ વાક્ય પર ખાલી આદેશ\n"
 
-#: fish/fish.c:971
+#: fish/fish.c:976
 msgid "display a list of commands or help on a command"
 msgstr "આદેશોની યાદીને દર્શાવો અથવા આદેશ પર મદદ "
 
-#: fish/fish.c:973
+#: fish/fish.c:978
 msgid "quit guestfish"
 msgstr "guestfish માંથી બહાર નીકળો"
 
-#: fish/fish.c:984
+#: fish/fish.c:989
 #, c-format
 msgid ""
 "help - display a list of commands or help on a command\n"
@@ -1826,7 +1826,7 @@ msgstr ""
 "     help cmd\n"
 "     મદદ\n"
 
-#: fish/fish.c:992
+#: fish/fish.c:997
 #, c-format
 msgid ""
 "quit - quit guestfish\n"
@@ -1835,12 +1835,12 @@ msgstr ""
 "quit - guestfish માંથી બહાર નીકળો\n"
 "     બહાર નીકળો\n"
 
-#: fish/fish.c:997
+#: fish/fish.c:1002
 #, c-format
 msgid "%s: command not known, use -h to list all commands\n"
 msgstr "%s: આદેશ જાણીતો નથી, બધા આદેશોની યાદી માટે -h ને વાપરો\n"
 
-#: fish/fish.c:1013
+#: fish/fish.c:1018
 #, c-format
 msgid ""
 "Did you mean to open a disk image?  guestfish -a disk.img\n"
@@ -1848,12 +1848,12 @@ msgid ""
 "For complete documentation:         man guestfish\n"
 msgstr ""
 
-#: fish/fish.c:1170
+#: fish/fish.c:1175
 #, c-format
 msgid "Runaway quote in string \"%s\"\n"
 msgstr "શબ્દમાળા \"%s\" માં દૂર થતો અવતરણચિહ્ન\n"
 
-#: fish/fish.c:1506
+#: fish/fish.c:1511
 #, c-format
 msgid "Enter key or passphrase (\"%s\"): "
 msgstr ""
@@ -2203,12 +2203,12 @@ msgstr ""
 "  -v|--verbose     વર્બોસ સંદેશાઓages\n"
 "  -V|--version     આવૃત્તિને દર્શાવોsઅને બહાર નીકળોexit\n"
 
-#: fuse/guestmount.c:1084
+#: fuse/guestmount.c:1089
 #, fuzzy, c-format
 msgid "%s: must have at least one -a/-d and at least one -m/-i option\n"
 msgstr "%s: ઓછામાં ઓછુ એક -a અને -m વિકલ્પ પર હોવુ જ જોઇએ\n"
 
-#: fuse/guestmount.c:1092
+#: fuse/guestmount.c:1097
 #, c-format
 msgid "%s: you must specify a mountpoint in the host filesystem\n"
 msgstr "%s: યજમાન ફાઇલસિસ્ટમમાં માઉન્ટબિંદુને સ્પષ્ટ કરવુ જ પડશે\n"
@@ -2351,28 +2351,39 @@ msgstr "ભાતને બંધબેસતા વાક્યોને પા
 msgid "{filename}: could not read initrd format"
 msgstr ""
 
-#: src/appliance.c:138
+#: src/appliance.c:142
 #, c-format
 msgid ""
 "cannot find any suitable libguestfs supermin or ordinary appliance on "
 "LIBGUESTFS_PATH (search path: %s)"
 msgstr ""
 
-#: src/appliance.c:353
+#: src/appliance.c:358
 #, fuzzy, c-format
 msgid "failed to create temporary cache directory: %m"
 msgstr "કામચલાઉ ડિરેક્ટરીને બનાવો"
 
-#: src/appliance.c:441
+#: src/appliance.c:446
 #, fuzzy, c-format
 msgid "error renaming temporary cache directory: %m"
 msgstr "કામચલાઉ ડિરેક્ટરીને બનાવો"
 
-#: src/appliance.c:517
+#: src/appliance.c:522
 #, fuzzy
 msgid "external command failed, see earlier error messages"
 msgstr "guestfs_launch નિષ્ફળ, પહેલાનાં ભૂલ સંદેશાઓને જૂઓ"
 
+#: src/filearch.c:153
+#, c-format
+msgid "size of %s unreasonable (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/filearch.c:266
+msgid ""
+"file-architecture API not available since this version of libguestfs was "
+"compiled without PCRE or libmagic libraries"
+msgstr ""
+
 #: src/guestfs.c:178
 #, c-format
 msgid "guestfs_close: called twice on the same handle\n"
@@ -2383,31 +2394,57 @@ msgstr "guestfs_close: એજ હેન્ડલ પર બે વાર બો
 msgid "libguestfs: error: %s\n"
 msgstr "libguestfs: ભૂલ: %s\n"
 
-#: src/guestfs.c:762
+#: src/guestfs.c:778
 #, c-format
 msgid "<truncated, original size %zu bytes>"
 msgstr ""
 
-#: src/inspect.c:1077
+#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279
+#, c-format
+msgid "size of %s is unreasonably large (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/inspect.c:591
+#, fuzzy
+msgid "could not parse /etc/fstab or empty file"
+msgstr "વિશિષ્ટ માપ '%s' નું પદચ્છેદન કરી શકાતુ નથી\n"
+
+#: src/inspect.c:784
 #, c-format
 msgid "cannot resolve Windows %%SYSTEMROOT%%"
 msgstr ""
 
-#: src/inspect.c:1293
+#: src/inspect.c:972
+#, fuzzy, c-format
+msgid "could not parse integer in version number: %s"
+msgstr "વિશિષ્ટ માપ '%s' નું પદચ્છેદન કરી શકાતુ નથી\n"
+
+#: src/inspect.c:982
 msgid "no inspection data: call guestfs_inspect_os first"
 msgstr ""
 
-#: src/inspect.c:1305
+#: src/inspect.c:994
 #, c-format
 msgid ""
 "%s: root device not found: only call this function with a root device "
 "previously returned by guestfs_inspect_os"
 msgstr ""
 
-#: src/inspect.c:1400
+#: src/inspect.c:1089
 msgid "not a Windows guest, or systemroot could not be determined"
 msgstr ""
 
+#: src/inspect.c:1288
+#, c-format
+msgid "%s: file is empty"
+msgstr ""
+
+#: src/inspect.c:1305
+msgid ""
+"inspection API not available since this version of libguestfs was compiled "
+"without PCRE or hivex libraries"
+msgstr ""
+
 #: src/launch.c:94
 msgid "command line cannot be altered after qemu subprocess launched"
 msgstr "qemu ઉપપ્રક્રિયા શરૂ થાય પછી આદેશ વાક્યને બદલી શકાતુ નથી"
index cd486fb..0bc0d68 100644 (file)
--- a/po/hi.po
+++ b/po/hi.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: libguestfs.master.libguestfs\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2010-11-05 15:20+0000\n"
+"POT-Creation-Date: 2010-11-18 12:58+0000\n"
 "PO-Revision-Date: 2010-02-16 12:57+0530\n"
 "Last-Translator: Rajesh Ranjan <rranjan@redhat.com>\n"
 "Language-Team: Hindi <Red Hat>\n"
@@ -1708,59 +1708,59 @@ msgstr ""
 "  -V|--version         Display version and exit\n"
 "For more information,  see the manpage %s(1).\n"
 
-#: fish/fish.c:201 fuse/guestmount.c:975
+#: fish/fish.c:202 fuse/guestmount.c:976
 #, c-format
 msgid "guestfs_create: failed to create handle\n"
 msgstr "guestfs_create: नियंत्रण बनाने में विफल\n"
 
-#: fish/fish.c:238
+#: fish/fish.c:239
 #, c-format
 msgid "%s: --listen=PID: PID was not a number: %s\n"
 msgstr "%s: --listen=PID: PID was not a number: %s\n"
 
-#: fish/fish.c:245
+#: fish/fish.c:246
 #, c-format
 msgid ""
 "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n"
 msgstr ""
 "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n"
 
-#: fish/fish.c:267 fuse/guestmount.c:1020
+#: fish/fish.c:268 fuse/guestmount.c:1021
 #, c-format
 msgid "%s: unknown long option: %s (%d)\n"
 msgstr "%s: unknown long option: %s (%d)\n"
 
-#: fish/fish.c:291
+#: fish/fish.c:292
 #, c-format
 msgid "%s: only one -f parameter can be given\n"
 msgstr "%s: only one -f parameter can be given\n"
 
-#: fish/fish.c:441
+#: fish/fish.c:446
 #, c-format
 msgid "%s: cannot use --listen and --remote options at the same time\n"
 msgstr "%s: cannot use --listen and --remote options at the same time\n"
 
-#: fish/fish.c:449
+#: fish/fish.c:454
 #, c-format
 msgid "%s: extra parameters on the command line with --listen flag\n"
 msgstr "%s: extra parameters on the command line with --listen flag\n"
 
-#: fish/fish.c:455
+#: fish/fish.c:460
 #, c-format
 msgid "%s: cannot use --listen and --file options at the same time\n"
 msgstr "%s: cannot use --listen and --file options at the same time\n"
 
-#: fish/fish.c:512
+#: fish/fish.c:517
 #, c-format
 msgid "guestfish: could not access termcap or terminfo database.\n"
 msgstr ""
 
-#: fish/fish.c:516
+#: fish/fish.c:521
 #, c-format
 msgid "guestfish: terminal type \"%s\" not defined.\n"
 msgstr ""
 
-#: fish/fish.c:625
+#: fish/fish.c:630
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -1780,45 +1780,45 @@ msgstr ""
 "      'quit' को शेल को छोड़ने के लिए\n"
 "\n"
 
-#: fish/fish.c:712
+#: fish/fish.c:717
 #, c-format
 msgid "%s: unterminated double quote\n"
 msgstr "%s: unterminated double quote\n"
 
-#: fish/fish.c:718 fish/fish.c:735
+#: fish/fish.c:723 fish/fish.c:740
 #, c-format
 msgid "%s: command arguments not separated by whitespace\n"
 msgstr "%s: कमांड तर्क खाली स्थान से अलग नहीं\n"
 
-#: fish/fish.c:729
+#: fish/fish.c:734
 #, c-format
 msgid "%s: unterminated single quote\n"
 msgstr "%s: unterminated single quote\n"
 
-#: fish/fish.c:784
+#: fish/fish.c:789
 #, c-format
 msgid "%s: internal error parsing string at '%s'\n"
 msgstr "%s: internal error parsing string at '%s'\n"
 
-#: fish/fish.c:801
+#: fish/fish.c:806
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: too many arguments\n"
 
-#: fish/fish.c:830
+#: fish/fish.c:835
 #, c-format
 msgid "%s: empty command on command line\n"
 msgstr "%s: empty command on command line\n"
 
-#: fish/fish.c:971
+#: fish/fish.c:976
 msgid "display a list of commands or help on a command"
 msgstr "कमांड पर मदद या कमांड की सूची दिखाएँ"
 
-#: fish/fish.c:973
+#: fish/fish.c:978
 msgid "quit guestfish"
 msgstr "quit guestfish"
 
-#: fish/fish.c:984
+#: fish/fish.c:989
 #, c-format
 msgid ""
 "help - display a list of commands or help on a command\n"
@@ -1829,7 +1829,7 @@ msgstr ""
 "     help cmd\n"
 "     help\n"
 
-#: fish/fish.c:992
+#: fish/fish.c:997
 #, c-format
 msgid ""
 "quit - quit guestfish\n"
@@ -1838,12 +1838,12 @@ msgstr ""
 "quit - quit guestfish\n"
 "     quit\n"
 
-#: fish/fish.c:997
+#: fish/fish.c:1002
 #, c-format
 msgid "%s: command not known, use -h to list all commands\n"
 msgstr "%s: command not known, use -h to list all commands\n"
 
-#: fish/fish.c:1013
+#: fish/fish.c:1018
 #, c-format
 msgid ""
 "Did you mean to open a disk image?  guestfish -a disk.img\n"
@@ -1851,12 +1851,12 @@ msgid ""
 "For complete documentation:         man guestfish\n"
 msgstr ""
 
-#: fish/fish.c:1170
+#: fish/fish.c:1175
 #, c-format
 msgid "Runaway quote in string \"%s\"\n"
 msgstr "स्ट्रिंग में \"%s\" रवअवे उद्धरण\n"
 
-#: fish/fish.c:1506
+#: fish/fish.c:1511
 #, c-format
 msgid "Enter key or passphrase (\"%s\"): "
 msgstr ""
@@ -2206,12 +2206,12 @@ msgstr ""
 "  -v|--verbose         Verbose messages\n"
 "  -V|--version         Display version and exit\n"
 
-#: fuse/guestmount.c:1084
+#: fuse/guestmount.c:1089
 #, fuzzy, c-format
 msgid "%s: must have at least one -a/-d and at least one -m/-i option\n"
 msgstr "%s: must have at least one -a and at least one -m option\n"
 
-#: fuse/guestmount.c:1092
+#: fuse/guestmount.c:1097
 #, c-format
 msgid "%s: you must specify a mountpoint in the host filesystem\n"
 msgstr "%s: तुम्हें मेजबान फाइल सिस्टम में कोई माउंटप्वाइंट को जरूर निर्दिष्ट करना चाहिए\n"
@@ -2354,28 +2354,39 @@ msgstr "किसी प्रारूप से मेल खाता पं
 msgid "{filename}: could not read initrd format"
 msgstr ""
 
-#: src/appliance.c:138
+#: src/appliance.c:142
 #, c-format
 msgid ""
 "cannot find any suitable libguestfs supermin or ordinary appliance on "
 "LIBGUESTFS_PATH (search path: %s)"
 msgstr ""
 
-#: src/appliance.c:353
+#: src/appliance.c:358
 #, fuzzy, c-format
 msgid "failed to create temporary cache directory: %m"
 msgstr "एक अस्थायी निर्देशिका बनाएँ"
 
-#: src/appliance.c:441
+#: src/appliance.c:446
 #, fuzzy, c-format
 msgid "error renaming temporary cache directory: %m"
 msgstr "एक अस्थायी निर्देशिका बनाएँ"
 
-#: src/appliance.c:517
+#: src/appliance.c:522
 #, fuzzy
 msgid "external command failed, see earlier error messages"
 msgstr "guestfs_launch विफल, पहले की त्रुटि संदेश देखें"
 
+#: src/filearch.c:153
+#, c-format
+msgid "size of %s unreasonable (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/filearch.c:266
+msgid ""
+"file-architecture API not available since this version of libguestfs was "
+"compiled without PCRE or libmagic libraries"
+msgstr ""
+
 #: src/guestfs.c:178
 #, c-format
 msgid "guestfs_close: called twice on the same handle\n"
@@ -2386,31 +2397,57 @@ msgstr "guestfs_close: called twice on the same handle\n"
 msgid "libguestfs: error: %s\n"
 msgstr "libguestfs: error: %s\n"
 
-#: src/guestfs.c:762
+#: src/guestfs.c:778
 #, c-format
 msgid "<truncated, original size %zu bytes>"
 msgstr ""
 
-#: src/inspect.c:1077
+#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279
+#, c-format
+msgid "size of %s is unreasonably large (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/inspect.c:591
+#, fuzzy
+msgid "could not parse /etc/fstab or empty file"
+msgstr "आकार विशिष्टता '%s' विश्लेषित नहीं कर सका\n"
+
+#: src/inspect.c:784
 #, c-format
 msgid "cannot resolve Windows %%SYSTEMROOT%%"
 msgstr ""
 
-#: src/inspect.c:1293
+#: src/inspect.c:972
+#, fuzzy, c-format
+msgid "could not parse integer in version number: %s"
+msgstr "आकार विशिष्टता '%s' विश्लेषित नहीं कर सका\n"
+
+#: src/inspect.c:982
 msgid "no inspection data: call guestfs_inspect_os first"
 msgstr ""
 
-#: src/inspect.c:1305
+#: src/inspect.c:994
 #, c-format
 msgid ""
 "%s: root device not found: only call this function with a root device "
 "previously returned by guestfs_inspect_os"
 msgstr ""
 
-#: src/inspect.c:1400
+#: src/inspect.c:1089
 msgid "not a Windows guest, or systemroot could not be determined"
 msgstr ""
 
+#: src/inspect.c:1288
+#, c-format
+msgid "%s: file is empty"
+msgstr ""
+
+#: src/inspect.c:1305
+msgid ""
+"inspection API not available since this version of libguestfs was compiled "
+"without PCRE or hivex libraries"
+msgstr ""
+
 #: src/launch.c:94
 msgid "command line cannot be altered after qemu subprocess launched"
 msgstr "कमांड लाइन को qemu उप प्रक्रिया के लॉन्च के बाद बदला नहीं जा सकता है"
index 89a714a..fcfdfd4 100644 (file)
--- a/po/kn.po
+++ b/po/kn.po
@@ -7,7 +7,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.0.83\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2010-11-05 15:20+0000\n"
+"POT-Creation-Date: 2010-11-18 12:58+0000\n"
 "PO-Revision-Date: 2010-02-24 11:56+0530\n"
 "Last-Translator: Shankar Prasad <svenkate@redhat.com>\n"
 "Language-Team: kn-IN <>\n"
@@ -1708,58 +1708,58 @@ msgstr ""
 "  -V|--version         Display version and exit\n"
 "For more information,  see the manpage %s(1).\n"
 
-#: fish/fish.c:201 fuse/guestmount.c:975
+#: fish/fish.c:202 fuse/guestmount.c:976
 #, c-format
 msgid "guestfs_create: failed to create handle\n"
 msgstr "guestfs_create: ಹ್ಯಾಂಡಲ್ ಅನ್ನು ನಿರ್ಮಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ\n"
 
-#: fish/fish.c:238
+#: fish/fish.c:239
 #, c-format
 msgid "%s: --listen=PID: PID was not a number: %s\n"
 msgstr "%s: --listen=PID: PID ಒಂದು ಸಂಖ್ಯೆಯಾಗಿಲ್ಲ: %s\n"
 
-#: fish/fish.c:245
+#: fish/fish.c:246
 #, c-format
 msgid ""
 "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n"
 msgstr "%s: remote: $GUESTFISH_PID ಅನ್ನು ದೂರಸ್ಥ ಪ್ರಕ್ರಿಯೆಯ PID ಗೆ ಹೊಂದಿಸಬೇಕು\n"
 
-#: fish/fish.c:267 fuse/guestmount.c:1020
+#: fish/fish.c:268 fuse/guestmount.c:1021
 #, c-format
 msgid "%s: unknown long option: %s (%d)\n"
 msgstr "%s: ಗೊತ್ತಿರದ ಉದ್ದನೆಯ ಆಯ್ಕೆ: %s (%d)\n"
 
-#: fish/fish.c:291
+#: fish/fish.c:292
 #, c-format
 msgid "%s: only one -f parameter can be given\n"
 msgstr "%s: ಕೇವಲ ಒಂದು -f ನಿಯತಾಂಕವನ್ನು ಒದಗಿಸಬಹುದು\n"
 
-#: fish/fish.c:441
+#: fish/fish.c:446
 #, c-format
 msgid "%s: cannot use --listen and --remote options at the same time\n"
 msgstr "%s: --listen ಹಾಗು --remote ಆಯ್ಕೆಗಳನ್ನು ಒಟ್ಟಿಗೆ ಬಳಸುವಂತಿಲ್ಲ\n"
 
-#: fish/fish.c:449
+#: fish/fish.c:454
 #, c-format
 msgid "%s: extra parameters on the command line with --listen flag\n"
 msgstr "%s: --listen ಫ್ಲಾಗ್‌ಗಾಗಿ ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಹೆಚ್ಚುವರಿ ನಿಯತಾಂಕಗಳು\n"
 
-#: fish/fish.c:455
+#: fish/fish.c:460
 #, c-format
 msgid "%s: cannot use --listen and --file options at the same time\n"
 msgstr "%s: --listen ಹಾಗು --file ಆಯ್ಕೆಗಳನ್ನು ಒಟ್ಟಿಗೆ ಬಳಸುವಂತಿಲ್ಲ\n"
 
-#: fish/fish.c:512
+#: fish/fish.c:517
 #, c-format
 msgid "guestfish: could not access termcap or terminfo database.\n"
 msgstr ""
 
-#: fish/fish.c:516
+#: fish/fish.c:521
 #, c-format
 msgid "guestfish: terminal type \"%s\" not defined.\n"
 msgstr ""
 
-#: fish/fish.c:625
+#: fish/fish.c:630
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -1779,45 +1779,45 @@ msgstr ""
 "      ಶೆಲ್‌ನಿಂದ ನಿರ್ಗಮಿಸಲು 'quit' ಅನ್ನು ಬಳಸಿ\n"
 "\n"
 
-#: fish/fish.c:712
+#: fish/fish.c:717
 #, c-format
 msgid "%s: unterminated double quote\n"
 msgstr "%s: ಅಂತ್ಯಗೊಳಿಸದೆ ಇರುವ ಜೋಡಿ ಉದ್ಧರಣ ಚಿಹ್ನೆ(ಕೋಟ್)\n"
 
-#: fish/fish.c:718 fish/fish.c:735
+#: fish/fish.c:723 fish/fish.c:740
 #, c-format
 msgid "%s: command arguments not separated by whitespace\n"
 msgstr "%s: ಆಜ್ಞೆಯ ಆರ್ಗುಮೆಂಟ್‌ಗಳ ನಡುವೆ ಖಾಲಿ ಜಾಗಗಳು ಇರುವಂತಿಲ್ಲ\n"
 
-#: fish/fish.c:729
+#: fish/fish.c:734
 #, c-format
 msgid "%s: unterminated single quote\n"
 msgstr "%s: ಅಂತ್ಯಗೊಳಿಸದೆ ಇರುವ ಒಂದೆ ಒಂದು ಉದ್ಧರಣ ಚಿಹ್ನೆ(ಕೋಟ್)\n"
 
-#: fish/fish.c:784
+#: fish/fish.c:789
 #, c-format
 msgid "%s: internal error parsing string at '%s'\n"
 msgstr "%s: '%s' ನಲ್ಲಿ ವಾಕ್ಯವನ್ನು ಪಾರ್ಸ್ ಮಾಡುವಲ್ಲಿ ಆಂತರಿಕ ದೋಷ\n"
 
-#: fish/fish.c:801
+#: fish/fish.c:806
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: ಅಗತ್ಯಕ್ಕಿಂತಲೂ ಹೆಚ್ಚು   ಚರಪರಿಮಾಣಗಳು (ಆರ್ಗ್ಯೂಮೆಂಟ್)\n"
 
-#: fish/fish.c:830
+#: fish/fish.c:835
 #, c-format
 msgid "%s: empty command on command line\n"
 msgstr "%s: ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಯಾವುದೆ ಆಜ್ಞೆ ಇಲ್ಲ\n"
 
-#: fish/fish.c:971
+#: fish/fish.c:976
 msgid "display a list of commands or help on a command"
 msgstr "ಆಜ್ಞೆಗಳ ಒಂದು ಪಟ್ಟಿಯನ್ನು ತೋರಿಸು ಅಥವ ಒಂದು ಆಜ್ಞೆಯ ನೆರವನ್ನು ತೋರಿಸು"
 
-#: fish/fish.c:973
+#: fish/fish.c:978
 msgid "quit guestfish"
 msgstr "guestfish ಇಂದ ನಿರ್ಗಮಿಸು"
 
-#: fish/fish.c:984
+#: fish/fish.c:989
 #, c-format
 msgid ""
 "help - display a list of commands or help on a command\n"
@@ -1828,7 +1828,7 @@ msgstr ""
 "     help cmd\n"
 "     help\n"
 
-#: fish/fish.c:992
+#: fish/fish.c:997
 #, c-format
 msgid ""
 "quit - quit guestfish\n"
@@ -1837,12 +1837,12 @@ msgstr ""
 "quit - guestfish ಇಂದ ನಿರ್ಗಮಿಸು \n"
 "     quit\n"
 
-#: fish/fish.c:997
+#: fish/fish.c:1002
 #, c-format
 msgid "%s: command not known, use -h to list all commands\n"
 msgstr "%s: ಆಜ್ಞೆಯು ತಿಳಿದಿಲ್ಲ, ಎಲ್ಲಾ ಆಜ್ಞೆಗಳ ಪಟ್ಟಿಯನ್ನು ತೋರಿಸಲು -h ಉಪಯೋಗಿಸಿ\n"
 
-#: fish/fish.c:1013
+#: fish/fish.c:1018
 #, c-format
 msgid ""
 "Did you mean to open a disk image?  guestfish -a disk.img\n"
@@ -1850,12 +1850,12 @@ msgid ""
 "For complete documentation:         man guestfish\n"
 msgstr ""
 
-#: fish/fish.c:1170
+#: fish/fish.c:1175
 #, c-format
 msgid "Runaway quote in string \"%s\"\n"
 msgstr "\"%s\" ಎಂಬ ವಾಕ್ಯದಲ್ಲಿ ರನ್‌ಅವೆ ಕೋಟ್\n"
 
-#: fish/fish.c:1506
+#: fish/fish.c:1511
 #, c-format
 msgid "Enter key or passphrase (\"%s\"): "
 msgstr ""
@@ -2211,12 +2211,12 @@ msgstr ""
 "  -v|--verbose         ವರ್ಬೋಸ್ ಸಂದೇಶಗಳು\n"
 "  -V|--version         ಆವೃತ್ತಿಯನ್ನು ತೋರಿಸಿ ನಿರ್ಗಮಿಸು\n"
 
-#: fuse/guestmount.c:1084
+#: fuse/guestmount.c:1089
 #, fuzzy, c-format
 msgid "%s: must have at least one -a/-d and at least one -m/-i option\n"
 msgstr "%s: ಕನಿಷ್ಟ ಒಂದು -a ಹಾಗು ಕನಿಷ್ಟ ಒಂದು -m ಆಯ್ಕೆಯನ್ನು ಹೊಂದಿರಬೇಕು\n"
 
-#: fuse/guestmount.c:1092
+#: fuse/guestmount.c:1097
 #, c-format
 msgid "%s: you must specify a mountpoint in the host filesystem\n"
 msgstr "%s: ಆತಿಥೇಯ ಕಡತವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಒಂದು ಆರೋಹಣಾ ತಾಣವನ್ನು ನೀವು ಸೂಚಿಸಬೇಕು\n"
@@ -2359,28 +2359,39 @@ msgstr "ಒಂದು ವಿನ್ಯಾಸಕ್ಕೆ ತಾಳೆಯಾಗು
 msgid "{filename}: could not read initrd format"
 msgstr ""
 
-#: src/appliance.c:138
+#: src/appliance.c:142
 #, c-format
 msgid ""
 "cannot find any suitable libguestfs supermin or ordinary appliance on "
 "LIBGUESTFS_PATH (search path: %s)"
 msgstr ""
 
-#: src/appliance.c:353
+#: src/appliance.c:358
 #, fuzzy, c-format
 msgid "failed to create temporary cache directory: %m"
 msgstr "ಒಂದು ತಾತ್ಕಾಲಿಕ ಕೋಶವನ್ನು ರಚಿಸು"
 
-#: src/appliance.c:441
+#: src/appliance.c:446
 #, fuzzy, c-format
 msgid "error renaming temporary cache directory: %m"
 msgstr "ಒಂದು ತಾತ್ಕಾಲಿಕ ಕೋಶವನ್ನು ರಚಿಸು"
 
-#: src/appliance.c:517
+#: src/appliance.c:522
 #, fuzzy
 msgid "external command failed, see earlier error messages"
 msgstr "guestfs_launch ವಿಫಲಗೊಂಡಿದೆ, ಹಿಂದಿನ ದೋಷ ಸಂದೇಶಗಳನ್ನು ನೋಡಿ"
 
+#: src/filearch.c:153
+#, c-format
+msgid "size of %s unreasonable (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/filearch.c:266
+msgid ""
+"file-architecture API not available since this version of libguestfs was "
+"compiled without PCRE or libmagic libraries"
+msgstr ""
+
 #: src/guestfs.c:178
 #, c-format
 msgid "guestfs_close: called twice on the same handle\n"
@@ -2391,31 +2402,57 @@ msgstr "guestfs_close: ಒಂದೇ ಹ್ಯಾಂಡಲ್‌ನಲ್ಲಿ 
 msgid "libguestfs: error: %s\n"
 msgstr "libguestfs: ದೋಷ: %s\n"
 
-#: src/guestfs.c:762
+#: src/guestfs.c:778
 #, c-format
 msgid "<truncated, original size %zu bytes>"
 msgstr ""
 
-#: src/inspect.c:1077
+#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279
+#, c-format
+msgid "size of %s is unreasonably large (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/inspect.c:591
+#, fuzzy
+msgid "could not parse /etc/fstab or empty file"
+msgstr "ಗಾತ್ರದ ವಿಶಿಷ್ಟತೆ '%s' ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ \n"
+
+#: src/inspect.c:784
 #, c-format
 msgid "cannot resolve Windows %%SYSTEMROOT%%"
 msgstr ""
 
-#: src/inspect.c:1293
+#: src/inspect.c:972
+#, fuzzy, c-format
+msgid "could not parse integer in version number: %s"
+msgstr "ಗಾತ್ರದ ವಿಶಿಷ್ಟತೆ '%s' ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ \n"
+
+#: src/inspect.c:982
 msgid "no inspection data: call guestfs_inspect_os first"
 msgstr ""
 
-#: src/inspect.c:1305
+#: src/inspect.c:994
 #, c-format
 msgid ""
 "%s: root device not found: only call this function with a root device "
 "previously returned by guestfs_inspect_os"
 msgstr ""
 
-#: src/inspect.c:1400
+#: src/inspect.c:1089
 msgid "not a Windows guest, or systemroot could not be determined"
 msgstr ""
 
+#: src/inspect.c:1288
+#, c-format
+msgid "%s: file is empty"
+msgstr ""
+
+#: src/inspect.c:1305
+msgid ""
+"inspection API not available since this version of libguestfs was compiled "
+"without PCRE or hivex libraries"
+msgstr ""
+
 #: src/launch.c:94
 msgid "command line cannot be altered after qemu subprocess launched"
 msgstr "qemu ಉಪಪ್ರಕ್ರಿಯೆಯನ್ನು ಆರಂಭಿಸಿದ ನಂತರ ಆಜ್ಞಾ ಸಾಲನ್ನು ಬದಲಾಯಿಸುವಂತಿಲ್ಲ"
index 8572799..596f0d8 100644 (file)
@@ -6,10 +6,10 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: libguestfs 1.6.1\n"
+"Project-Id-Version: libguestfs 1.6.2\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2010-11-05 15:20+0000\n"
+"POT-Creation-Date: 2010-11-18 12:58+0000\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"
@@ -1620,58 +1620,58 @@ msgid ""
 "For more information, see the manpage %s(1).\n"
 msgstr ""
 
-#: fish/fish.c:201 fuse/guestmount.c:975
+#: fish/fish.c:202 fuse/guestmount.c:976
 #, c-format
 msgid "guestfs_create: failed to create handle\n"
 msgstr ""
 
-#: fish/fish.c:238
+#: fish/fish.c:239
 #, c-format
 msgid "%s: --listen=PID: PID was not a number: %s\n"
 msgstr ""
 
-#: fish/fish.c:245
+#: fish/fish.c:246
 #, c-format
 msgid ""
 "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n"
 msgstr ""
 
-#: fish/fish.c:267 fuse/guestmount.c:1020
+#: fish/fish.c:268 fuse/guestmount.c:1021
 #, c-format
 msgid "%s: unknown long option: %s (%d)\n"
 msgstr ""
 
-#: fish/fish.c:291
+#: fish/fish.c:292
 #, c-format
 msgid "%s: only one -f parameter can be given\n"
 msgstr ""
 
-#: fish/fish.c:441
+#: fish/fish.c:446
 #, c-format
 msgid "%s: cannot use --listen and --remote options at the same time\n"
 msgstr ""
 
-#: fish/fish.c:449
+#: fish/fish.c:454
 #, c-format
 msgid "%s: extra parameters on the command line with --listen flag\n"
 msgstr ""
 
-#: fish/fish.c:455
+#: fish/fish.c:460
 #, c-format
 msgid "%s: cannot use --listen and --file options at the same time\n"
 msgstr ""
 
-#: fish/fish.c:512
+#: fish/fish.c:517
 #, c-format
 msgid "guestfish: could not access termcap or terminfo database.\n"
 msgstr ""
 
-#: fish/fish.c:516
+#: fish/fish.c:521
 #, c-format
 msgid "guestfish: terminal type \"%s\" not defined.\n"
 msgstr ""
 
-#: fish/fish.c:625
+#: fish/fish.c:630
 #, c-format
 msgid ""
 "\n"
@@ -1684,45 +1684,45 @@ msgid ""
 "\n"
 msgstr ""
 
-#: fish/fish.c:712
+#: fish/fish.c:717
 #, c-format
 msgid "%s: unterminated double quote\n"
 msgstr ""
 
-#: fish/fish.c:718 fish/fish.c:735
+#: fish/fish.c:723 fish/fish.c:740
 #, c-format
 msgid "%s: command arguments not separated by whitespace\n"
 msgstr ""
 
-#: fish/fish.c:729
+#: fish/fish.c:734
 #, c-format
 msgid "%s: unterminated single quote\n"
 msgstr ""
 
-#: fish/fish.c:784
+#: fish/fish.c:789
 #, c-format
 msgid "%s: internal error parsing string at '%s'\n"
 msgstr ""
 
-#: fish/fish.c:801
+#: fish/fish.c:806
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr ""
 
-#: fish/fish.c:830
+#: fish/fish.c:835
 #, c-format
 msgid "%s: empty command on command line\n"
 msgstr ""
 
-#: fish/fish.c:971
+#: fish/fish.c:976
 msgid "display a list of commands or help on a command"
 msgstr ""
 
-#: fish/fish.c:973
+#: fish/fish.c:978
 msgid "quit guestfish"
 msgstr ""
 
-#: fish/fish.c:984
+#: fish/fish.c:989
 #, c-format
 msgid ""
 "help - display a list of commands or help on a command\n"
@@ -1730,19 +1730,19 @@ msgid ""
 "     help\n"
 msgstr ""
 
-#: fish/fish.c:992
+#: fish/fish.c:997
 #, c-format
 msgid ""
 "quit - quit guestfish\n"
 "     quit\n"
 msgstr ""
 
-#: fish/fish.c:997
+#: fish/fish.c:1002
 #, c-format
 msgid "%s: command not known, use -h to list all commands\n"
 msgstr ""
 
-#: fish/fish.c:1013
+#: fish/fish.c:1018
 #, c-format
 msgid ""
 "Did you mean to open a disk image?  guestfish -a disk.img\n"
@@ -1750,12 +1750,12 @@ msgid ""
 "For complete documentation:         man guestfish\n"
 msgstr ""
 
-#: fish/fish.c:1170
+#: fish/fish.c:1175
 #, c-format
 msgid "Runaway quote in string \"%s\"\n"
 msgstr ""
 
-#: fish/fish.c:1506
+#: fish/fish.c:1511
 #, c-format
 msgid "Enter key or passphrase (\"%s\"): "
 msgstr ""
@@ -2083,12 +2083,12 @@ msgid ""
 "  -x|--trace           Trace guestfs API calls\n"
 msgstr ""
 
-#: fuse/guestmount.c:1084
+#: fuse/guestmount.c:1089
 #, c-format
 msgid "%s: must have at least one -a/-d and at least one -m/-i option\n"
 msgstr ""
 
-#: fuse/guestmount.c:1092
+#: fuse/guestmount.c:1097
 #, c-format
 msgid "%s: you must specify a mountpoint in the host filesystem\n"
 msgstr ""
@@ -2230,27 +2230,38 @@ msgstr ""
 msgid "{filename}: could not read initrd format"
 msgstr ""
 
-#: src/appliance.c:138
+#: src/appliance.c:142
 #, c-format
 msgid ""
 "cannot find any suitable libguestfs supermin or ordinary appliance on "
 "LIBGUESTFS_PATH (search path: %s)"
 msgstr ""
 
-#: src/appliance.c:353
+#: src/appliance.c:358
 #, c-format
 msgid "failed to create temporary cache directory: %m"
 msgstr ""
 
-#: src/appliance.c:441
+#: src/appliance.c:446
 #, c-format
 msgid "error renaming temporary cache directory: %m"
 msgstr ""
 
-#: src/appliance.c:517
+#: src/appliance.c:522
 msgid "external command failed, see earlier error messages"
 msgstr ""
 
+#: src/filearch.c:153
+#, c-format
+msgid "size of %s unreasonable (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/filearch.c:266
+msgid ""
+"file-architecture API not available since this version of libguestfs was "
+"compiled without PCRE or libmagic libraries"
+msgstr ""
+
 #: src/guestfs.c:178
 #, c-format
 msgid "guestfs_close: called twice on the same handle\n"
@@ -2261,31 +2272,56 @@ msgstr ""
 msgid "libguestfs: error: %s\n"
 msgstr ""
 
-#: src/guestfs.c:762
+#: src/guestfs.c:778
 #, c-format
 msgid "<truncated, original size %zu bytes>"
 msgstr ""
 
-#: src/inspect.c:1077
+#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279
+#, c-format
+msgid "size of %s is unreasonably large (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/inspect.c:591
+msgid "could not parse /etc/fstab or empty file"
+msgstr ""
+
+#: src/inspect.c:784
 #, c-format
 msgid "cannot resolve Windows %%SYSTEMROOT%%"
 msgstr ""
 
-#: src/inspect.c:1293
+#: src/inspect.c:972
+#, c-format
+msgid "could not parse integer in version number: %s"
+msgstr ""
+
+#: src/inspect.c:982
 msgid "no inspection data: call guestfs_inspect_os first"
 msgstr ""
 
-#: src/inspect.c:1305
+#: src/inspect.c:994
 #, c-format
 msgid ""
 "%s: root device not found: only call this function with a root device "
 "previously returned by guestfs_inspect_os"
 msgstr ""
 
-#: src/inspect.c:1400
+#: src/inspect.c:1089
 msgid "not a Windows guest, or systemroot could not be determined"
 msgstr ""
 
+#: src/inspect.c:1288
+#, c-format
+msgid "%s: file is empty"
+msgstr ""
+
+#: src/inspect.c:1305
+msgid ""
+"inspection API not available since this version of libguestfs was compiled "
+"without PCRE or hivex libraries"
+msgstr ""
+
 #: src/launch.c:94
 msgid "command line cannot be altered after qemu subprocess launched"
 msgstr ""
index c93544a..fd4bd9e 100644 (file)
--- a/po/ml.po
+++ b/po/ml.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: libguestfs.master.libguestfs.ml\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2010-11-05 15:20+0000\n"
+"POT-Creation-Date: 2010-11-18 12:58+0000\n"
 "PO-Revision-Date: 2010-02-02 18:35+0530\n"
 "Last-Translator: Ani Peter | അനി പീറ്റര്‍ <apeter@redhat.com>\n"
 "Language-Team: Swathanthra Malayalam Computing | സ്വതന്ത്ര മലയാളം കമ്പ്യൂട്ടിങ് <smc-"
@@ -1710,58 +1710,58 @@ msgstr ""
 "  -V|--version         Display version and exit\n"
 "For more information,  see the manpage %s(1).\n"
 
-#: fish/fish.c:201 fuse/guestmount.c:975
+#: fish/fish.c:202 fuse/guestmount.c:976
 #, c-format
 msgid "guestfs_create: failed to create handle\n"
 msgstr "guestfs_create: ഹാന്‍ഡില്‍ ഉണ്ടാക്കുന്നതില്‍ പരാജയപ്പെട്ടു\n"
 
-#: fish/fish.c:238
+#: fish/fish.c:239
 #, c-format
 msgid "%s: --listen=PID: PID was not a number: %s\n"
 msgstr "%s: --listen=PID: PID ഒരു നംബറല്ല: %s\n"
 
-#: fish/fish.c:245
+#: fish/fish.c:246
 #, c-format
 msgid ""
 "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n"
 msgstr "%s: remote: റിമോട്ട് പ്രക്രിയയുടെ PID-ലേക്ക് $GUESTFISH_PID സജ്ജമാക്കേണം\n"
 
-#: fish/fish.c:267 fuse/guestmount.c:1020
+#: fish/fish.c:268 fuse/guestmount.c:1021
 #, c-format
 msgid "%s: unknown long option: %s (%d)\n"
 msgstr "%s: അപരിചിതമായ ലോങ് ഉപാധി: %s (%d)\n"
 
-#: fish/fish.c:291
+#: fish/fish.c:292
 #, c-format
 msgid "%s: only one -f parameter can be given\n"
 msgstr "%s: ഒരു -f പരാമീറ്റര്‍ മാത്രമേ പാടുള്ളൂ\n"
 
-#: fish/fish.c:441
+#: fish/fish.c:446
 #, c-format
 msgid "%s: cannot use --listen and --remote options at the same time\n"
 msgstr "%s: ഒരേ സമയത്തു് --listen, --remote എന്നീ ഉപാധികള്‍ ഉപയോഗിക്കുവാന്‍ സാധ്യമല്ല\n"
 
-#: fish/fish.c:449
+#: fish/fish.c:454
 #, c-format
 msgid "%s: extra parameters on the command line with --listen flag\n"
 msgstr "%s: --listen ഫ്ലാഗിനൊപ്പം കമാന്‍ഡ് ലൈനില്‍ അധികമായ പരാമീറ്ററുകള്‍\n"
 
-#: fish/fish.c:455
+#: fish/fish.c:460
 #, c-format
 msgid "%s: cannot use --listen and --file options at the same time\n"
 msgstr "%s: ഒരേ സമയത്തു് --listen, --file എന്നീ ഉപാധികള്‍ ഉപയോഗിക്കുവാന്‍ സാധ്യമല്ല\n"
 
-#: fish/fish.c:512
+#: fish/fish.c:517
 #, c-format
 msgid "guestfish: could not access termcap or terminfo database.\n"
 msgstr ""
 
-#: fish/fish.c:516
+#: fish/fish.c:521
 #, c-format
 msgid "guestfish: terminal type \"%s\" not defined.\n"
 msgstr ""
 
-#: fish/fish.c:625
+#: fish/fish.c:630
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -1781,45 +1781,45 @@ msgstr ""
 "      ഷെല്ലില്‍ നിന്നും പുറത്തു് കടക്കുന്നതിനായി 'quit'\n"
 "\n"
 
-#: fish/fish.c:712
+#: fish/fish.c:717
 #, c-format
 msgid "%s: unterminated double quote\n"
 msgstr "%s: അപൂര്‍ണ്ണമായ ഡബിള്‍ കോട്ട്\n"
 
-#: fish/fish.c:718 fish/fish.c:735
+#: fish/fish.c:723 fish/fish.c:740
 #, c-format
 msgid "%s: command arguments not separated by whitespace\n"
 msgstr "%s: കമാന്‍ഡ് ആര്‍ഗ്യുമെന്റുകള്‍ വൈറ്റ്സ്പെയിസ് ഉപയോഗിച്ചു് വേര്‍തിരിച്ചിട്ടില്ല\n"
 
-#: fish/fish.c:729
+#: fish/fish.c:734
 #, c-format
 msgid "%s: unterminated single quote\n"
 msgstr "%s: അപൂര്‍ണ്ണമായ സിംഗിള്‍ കോട്ട്\n"
 
-#: fish/fish.c:784
+#: fish/fish.c:789
 #, c-format
 msgid "%s: internal error parsing string at '%s'\n"
 msgstr "%s: '%s'-ല്‍ സ്ട്രിങ് പാഴ്സ് ചെയ്യുമ്പോള്‍ ഇന്റേര്‍ണല്‍ പിശക്\n"
 
-#: fish/fish.c:801
+#: fish/fish.c:806
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: അനവധി ആര്‍ഗ്യുമെന്റുകള്‍\n"
 
-#: fish/fish.c:830
+#: fish/fish.c:835
 #, c-format
 msgid "%s: empty command on command line\n"
 msgstr "%s: കമാന്‍ഡ് ലൈനില്‍ കാലിയായ കമാന്‍ഡ്\n"
 
-#: fish/fish.c:971
+#: fish/fish.c:976
 msgid "display a list of commands or help on a command"
 msgstr "കമാന്‍ഡുകളുടെ ഒരു പട്ടിക അല്ലെങ്കില്‍ ഒരു കമാന്‍ഡിനുള്ള സഹായം കാണിക്കുക"
 
-#: fish/fish.c:973
+#: fish/fish.c:978
 msgid "quit guestfish"
 msgstr "guestfish-ല്‍ നിന്നും പുറത്തു് കടക്കുക"
 
-#: fish/fish.c:984
+#: fish/fish.c:989
 #, c-format
 msgid ""
 "help - display a list of commands or help on a command\n"
@@ -1830,7 +1830,7 @@ msgstr ""
 "     help cmd\n"
 "     help\n"
 
-#: fish/fish.c:992
+#: fish/fish.c:997
 #, c-format
 msgid ""
 "quit - quit guestfish\n"
@@ -1839,12 +1839,12 @@ msgstr ""
 "quit - quit guestfish\n"
 "     quit\n"
 
-#: fish/fish.c:997
+#: fish/fish.c:1002
 #, c-format
 msgid "%s: command not known, use -h to list all commands\n"
 msgstr "%s: കമാന്‍ഡ് അപരിചിതം, എല്ലാ കമാന്‍ഡുകളും ലഭ്യമാക്കുന്നതിനായി -h ഉപയോഗിക്കുക\n"
 
-#: fish/fish.c:1013
+#: fish/fish.c:1018
 #, c-format
 msgid ""
 "Did you mean to open a disk image?  guestfish -a disk.img\n"
@@ -1852,12 +1852,12 @@ msgid ""
 "For complete documentation:         man guestfish\n"
 msgstr ""
 
-#: fish/fish.c:1170
+#: fish/fish.c:1175
 #, c-format
 msgid "Runaway quote in string \"%s\"\n"
 msgstr "Runaway quote in string \"%s\"\n"
 
-#: fish/fish.c:1506
+#: fish/fish.c:1511
 #, c-format
 msgid "Enter key or passphrase (\"%s\"): "
 msgstr ""
@@ -2209,12 +2209,12 @@ msgstr ""
 "  -v|--verbose         Verbose messages\n"
 "  -V|--version         Display version and exit\n"
 
-#: fuse/guestmount.c:1084
+#: fuse/guestmount.c:1089
 #, fuzzy, c-format
 msgid "%s: must have at least one -a/-d and at least one -m/-i option\n"
 msgstr "%s: കുറഞ്ഞതു് ഒരു -a ഉപാധിയും ഒരു -m ഉപാധിയും ആവശ്യമുണ്ടു്\n"
 
-#: fuse/guestmount.c:1092
+#: fuse/guestmount.c:1097
 #, c-format
 msgid "%s: you must specify a mountpoint in the host filesystem\n"
 msgstr "%s: ഹോസ്റ്റ് ഫയല്‍സിസ്റ്റത്തില്‍ ഒരു മൌണ്ട് പോയിന്റ് നല്‍കണം\n"
@@ -2357,28 +2357,39 @@ msgstr "ഒരു മാതൃകയ്ക്കു് ചേരുന്ന വ
 msgid "{filename}: could not read initrd format"
 msgstr ""
 
-#: src/appliance.c:138
+#: src/appliance.c:142
 #, c-format
 msgid ""
 "cannot find any suitable libguestfs supermin or ordinary appliance on "
 "LIBGUESTFS_PATH (search path: %s)"
 msgstr ""
 
-#: src/appliance.c:353
+#: src/appliance.c:358
 #, fuzzy, c-format
 msgid "failed to create temporary cache directory: %m"
 msgstr "ഒരു താല്‍ക്കാലിക ഡയറക്ടറി ഉണ്ടാക്കുക"
 
-#: src/appliance.c:441
+#: src/appliance.c:446
 #, fuzzy, c-format
 msgid "error renaming temporary cache directory: %m"
 msgstr "ഒരു താല്‍ക്കാലിക ഡയറക്ടറി ഉണ്ടാക്കുക"
 
-#: src/appliance.c:517
+#: src/appliance.c:522
 #, fuzzy
 msgid "external command failed, see earlier error messages"
 msgstr "guestfs_launch പരാജയപ്പെട്ടു, മുമ്പുള്ള പിശക് സന്ദേശങ്ങള്‍ കാണുക"
 
+#: src/filearch.c:153
+#, c-format
+msgid "size of %s unreasonable (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/filearch.c:266
+msgid ""
+"file-architecture API not available since this version of libguestfs was "
+"compiled without PCRE or libmagic libraries"
+msgstr ""
+
 #: src/guestfs.c:178
 #, c-format
 msgid "guestfs_close: called twice on the same handle\n"
@@ -2389,31 +2400,57 @@ msgstr "guestfs_close: ഒരേ ഹാന്‍ഡിലില്‍ രണ്
 msgid "libguestfs: error: %s\n"
 msgstr "libguestfs: പിശക്: %s\n"
 
-#: src/guestfs.c:762
+#: src/guestfs.c:778
 #, c-format
 msgid "<truncated, original size %zu bytes>"
 msgstr ""
 
-#: src/inspect.c:1077
+#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279
+#, c-format
+msgid "size of %s is unreasonably large (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/inspect.c:591
+#, fuzzy
+msgid "could not parse /etc/fstab or empty file"
+msgstr "വ്യാപ്തിയുടെ വിവരണം '%s' പാഴ്സ് ചെയ്യുവാന്‍ സാധ്യമായില്ല\n"
+
+#: src/inspect.c:784
 #, c-format
 msgid "cannot resolve Windows %%SYSTEMROOT%%"
 msgstr ""
 
-#: src/inspect.c:1293
+#: src/inspect.c:972
+#, fuzzy, c-format
+msgid "could not parse integer in version number: %s"
+msgstr "വ്യാപ്തിയുടെ വിവരണം '%s' പാഴ്സ് ചെയ്യുവാന്‍ സാധ്യമായില്ല\n"
+
+#: src/inspect.c:982
 msgid "no inspection data: call guestfs_inspect_os first"
 msgstr ""
 
-#: src/inspect.c:1305
+#: src/inspect.c:994
 #, c-format
 msgid ""
 "%s: root device not found: only call this function with a root device "
 "previously returned by guestfs_inspect_os"
 msgstr ""
 
-#: src/inspect.c:1400
+#: src/inspect.c:1089
 msgid "not a Windows guest, or systemroot could not be determined"
 msgstr ""
 
+#: src/inspect.c:1288
+#, c-format
+msgid "%s: file is empty"
+msgstr ""
+
+#: src/inspect.c:1305
+msgid ""
+"inspection API not available since this version of libguestfs was compiled "
+"without PCRE or hivex libraries"
+msgstr ""
+
 #: src/launch.c:94
 msgid "command line cannot be altered after qemu subprocess launched"
 msgstr "qemu ഉപപ്രക്രിയ വിന്യസിച്ചശേഷം കമാന്‍ഡ് ലൈനില്‍ മാറ്റം വരുത്തുവാന്‍ സാധ്യമല്ല"
index dfa23f5..501b5e7 100644 (file)
--- a/po/mr.po
+++ b/po/mr.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: mr\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2010-11-05 15:20+0000\n"
+"POT-Creation-Date: 2010-11-18 12:58+0000\n"
 "PO-Revision-Date: 2010-02-03 19:10+0530\n"
 "Last-Translator: Sandeep Shedmake <sshedmak@redhat.com>\n"
 "Language-Team: Marathi <fedora-trans-mr@redhat.com>\n"
@@ -1706,58 +1706,58 @@ msgstr ""
 "  -V|--version         Display version and exit\n"
 "For more information,  see the manpage %s(1).\n"
 
-#: fish/fish.c:201 fuse/guestmount.c:975
+#: fish/fish.c:202 fuse/guestmount.c:976
 #, c-format
 msgid "guestfs_create: failed to create handle\n"
 msgstr "guestfs_create: हँडल निर्माण करण्यास अशक्य\n"
 
-#: fish/fish.c:238
+#: fish/fish.c:239
 #, c-format
 msgid "%s: --listen=PID: PID was not a number: %s\n"
 msgstr "%s: --listen=PID: PID क्रमांक प्रमाणे आढळले नाही: %s\n"
 
-#: fish/fish.c:245
+#: fish/fish.c:246
 #, c-format
 msgid ""
 "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n"
 msgstr "%s: रिमोट: $GUESTFISH_PID यांस रिमोट कार्याच्या PID करीता सेट केले पाहिजे\n"
 
-#: fish/fish.c:267 fuse/guestmount.c:1020
+#: fish/fish.c:268 fuse/guestmount.c:1021
 #, c-format
 msgid "%s: unknown long option: %s (%d)\n"
 msgstr "%s: अपरिचीत लाँग पर्याय: %s (%d)\n"
 
-#: fish/fish.c:291
+#: fish/fish.c:292
 #, c-format
 msgid "%s: only one -f parameter can be given\n"
 msgstr "%s: फक्त एकच -f घटक दिले जाऊ शकते\n"
 
-#: fish/fish.c:441
+#: fish/fish.c:446
 #, c-format
 msgid "%s: cannot use --listen and --remote options at the same time\n"
 msgstr "%s: --listen व --remote पर्याय एकाच वेळी वापरणे अशक्य\n"
 
-#: fish/fish.c:449
+#: fish/fish.c:454
 #, c-format
 msgid "%s: extra parameters on the command line with --listen flag\n"
 msgstr "%s: --listen फ्लॅगसह आदेश ओळीवरील अगाऊ घटके\n"
 
-#: fish/fish.c:455
+#: fish/fish.c:460
 #, c-format
 msgid "%s: cannot use --listen and --file options at the same time\n"
 msgstr "%s: --listen व --file पर्यायचा वापर एकाचवेळी करणे अशक्य\n"
 
-#: fish/fish.c:512
+#: fish/fish.c:517
 #, c-format
 msgid "guestfish: could not access termcap or terminfo database.\n"
 msgstr ""
 
-#: fish/fish.c:516
+#: fish/fish.c:521
 #, c-format
 msgid "guestfish: terminal type \"%s\" not defined.\n"
 msgstr ""
 
-#: fish/fish.c:625
+#: fish/fish.c:630
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -1777,45 +1777,45 @@ msgstr ""
 "      शेल पासून बाहेर पडण्यासाठी 'quit' करा\n"
 "\n"
 
-#: fish/fish.c:712
+#: fish/fish.c:717
 #, c-format
 msgid "%s: unterminated double quote\n"
 msgstr "%s: न ओळखलेले डबल क्वोट\n"
 
-#: fish/fish.c:718 fish/fish.c:735
+#: fish/fish.c:723 fish/fish.c:740
 #, c-format
 msgid "%s: command arguments not separated by whitespace\n"
 msgstr "%s: आदेश घटके वाईटस्पेस द्वारे विभाजीत नाही\n"
 
-#: fish/fish.c:729
+#: fish/fish.c:734
 #, c-format
 msgid "%s: unterminated single quote\n"
 msgstr "%s: न ओळखलेले सींगल क्वोट\n"
 
-#: fish/fish.c:784
+#: fish/fish.c:789
 #, c-format
 msgid "%s: internal error parsing string at '%s'\n"
 msgstr "%s: '%s' येथील अक्षरसंच वाचतेवेळी आंतरीक त्रुटी आढळली\n"
 
-#: fish/fish.c:801
+#: fish/fish.c:806
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: खूप जास्त घटके आढळले\n"
 
-#: fish/fish.c:830
+#: fish/fish.c:835
 #, c-format
 msgid "%s: empty command on command line\n"
 msgstr "%s: आदेश ओळवर रिकामे आदेश आढळले\n"
 
-#: fish/fish.c:971
+#: fish/fish.c:976
 msgid "display a list of commands or help on a command"
 msgstr "आदेश सूची किंवा आदेशकरीता मदत दाखवा"
 
-#: fish/fish.c:973
+#: fish/fish.c:978
 msgid "quit guestfish"
 msgstr "guestfish पासून बाहेर पडा"
 
-#: fish/fish.c:984
+#: fish/fish.c:989
 #, c-format
 msgid ""
 "help - display a list of commands or help on a command\n"
@@ -1826,7 +1826,7 @@ msgstr ""
 "     help cmd\n"
 "     help\n"
 
-#: fish/fish.c:992
+#: fish/fish.c:997
 #, c-format
 msgid ""
 "quit - quit guestfish\n"
@@ -1835,12 +1835,12 @@ msgstr ""
 "quit - guestfish पासून बाहेर पडा\n"
 "     quit\n"
 
-#: fish/fish.c:997
+#: fish/fish.c:1002
 #, c-format
 msgid "%s: command not known, use -h to list all commands\n"
 msgstr "%s: आदेश परिचीत नाही, सर्व आदेश दाखवण्यासाठी -h याचा वापर करा\n"
 
-#: fish/fish.c:1013
+#: fish/fish.c:1018
 #, c-format
 msgid ""
 "Did you mean to open a disk image?  guestfish -a disk.img\n"
@@ -1848,12 +1848,12 @@ msgid ""
 "For complete documentation:         man guestfish\n"
 msgstr ""
 
-#: fish/fish.c:1170
+#: fish/fish.c:1175
 #, c-format
 msgid "Runaway quote in string \"%s\"\n"
 msgstr "\"%s\" अक्षरमाळामध्ये रनअव्हे शब्द आढळले\n"
 
-#: fish/fish.c:1506
+#: fish/fish.c:1511
 #, c-format
 msgid "Enter key or passphrase (\"%s\"): "
 msgstr ""
@@ -2203,12 +2203,12 @@ msgstr ""
 "  -v|--verbose         Verbose messages\n"
 "  -V|--version         Display version and exit\n"
 
-#: fuse/guestmount.c:1084
+#: fuse/guestmount.c:1089
 #, fuzzy, c-format
 msgid "%s: must have at least one -a/-d and at least one -m/-i option\n"
 msgstr "%s: किमान एक -a व किमान एक -m पर्याय असायला हवे\n"
 
-#: fuse/guestmount.c:1092
+#: fuse/guestmount.c:1097
 #, c-format
 msgid "%s: you must specify a mountpoint in the host filesystem\n"
 msgstr "%s: यजमान फाइलप्रणालीत तुम्ही माऊंटपॉईंट निर्देशीत करायला हवे\n"
@@ -2351,28 +2351,39 @@ msgstr "साचा प्रमाणे जुळणारे ओळी प
 msgid "{filename}: could not read initrd format"
 msgstr ""
 
-#: src/appliance.c:138
+#: src/appliance.c:142
 #, c-format
 msgid ""
 "cannot find any suitable libguestfs supermin or ordinary appliance on "
 "LIBGUESTFS_PATH (search path: %s)"
 msgstr ""
 
-#: src/appliance.c:353
+#: src/appliance.c:358
 #, fuzzy, c-format
 msgid "failed to create temporary cache directory: %m"
 msgstr "तात्पूर्ती डिरेक्ट्री निर्माण करा"
 
-#: src/appliance.c:441
+#: src/appliance.c:446
 #, fuzzy, c-format
 msgid "error renaming temporary cache directory: %m"
 msgstr "तात्पूर्ती डिरेक्ट्री निर्माण करा"
 
-#: src/appliance.c:517
+#: src/appliance.c:522
 #, fuzzy
 msgid "external command failed, see earlier error messages"
 msgstr "guestfs_launch अपयशी, पूर्वीचे त्रुटी संदेश पहा"
 
+#: src/filearch.c:153
+#, c-format
+msgid "size of %s unreasonable (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/filearch.c:266
+msgid ""
+"file-architecture API not available since this version of libguestfs was "
+"compiled without PCRE or libmagic libraries"
+msgstr ""
+
 #: src/guestfs.c:178
 #, c-format
 msgid "guestfs_close: called twice on the same handle\n"
@@ -2383,31 +2394,57 @@ msgstr "guestfs_close: एकाच हँडलवर दोनवेळा क
 msgid "libguestfs: error: %s\n"
 msgstr "libguestfs: त्रुटी: %s\n"
 
-#: src/guestfs.c:762
+#: src/guestfs.c:778
 #, c-format
 msgid "<truncated, original size %zu bytes>"
 msgstr ""
 
-#: src/inspect.c:1077
+#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279
+#, c-format
+msgid "size of %s is unreasonably large (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/inspect.c:591
+#, fuzzy
+msgid "could not parse /etc/fstab or empty file"
+msgstr "आकार संरचना '%s' वाचणे अशक्य\n"
+
+#: src/inspect.c:784
 #, c-format
 msgid "cannot resolve Windows %%SYSTEMROOT%%"
 msgstr ""
 
-#: src/inspect.c:1293
+#: src/inspect.c:972
+#, fuzzy, c-format
+msgid "could not parse integer in version number: %s"
+msgstr "आकार संरचना '%s' वाचणे अशक्य\n"
+
+#: src/inspect.c:982
 msgid "no inspection data: call guestfs_inspect_os first"
 msgstr ""
 
-#: src/inspect.c:1305
+#: src/inspect.c:994
 #, c-format
 msgid ""
 "%s: root device not found: only call this function with a root device "
 "previously returned by guestfs_inspect_os"
 msgstr ""
 
-#: src/inspect.c:1400
+#: src/inspect.c:1089
 msgid "not a Windows guest, or systemroot could not be determined"
 msgstr ""
 
+#: src/inspect.c:1288
+#, c-format
+msgid "%s: file is empty"
+msgstr ""
+
+#: src/inspect.c:1305
+msgid ""
+"inspection API not available since this version of libguestfs was compiled "
+"without PCRE or hivex libraries"
+msgstr ""
+
 #: src/launch.c:94
 msgid "command line cannot be altered after qemu subprocess launched"
 msgstr "qemu उपकार्य सुरू केल्यावर आदेश ओळ बदलणे अशक्य आहे"
index e6d80a0..b9e235a 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,7 +7,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.5.4\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2010-11-05 15:20+0000\n"
+"POT-Creation-Date: 2010-11-18 12:58+0000\n"
 "PO-Revision-Date: 2010-09-02 15:28+0200\n"
 "Last-Translator: Geert Warrink <geert.warrink@onsnet.nu>\n"
 "Language-Team: Fedora\n"
@@ -1689,17 +1689,17 @@ msgstr ""
 "  -V|--version         Laat versie zien en sluit af\n"
 "Voor meer informatie,  bekijk de man pagina %s(1).\n"
 
-#: fish/fish.c:201 fuse/guestmount.c:975
+#: fish/fish.c:202 fuse/guestmount.c:976
 #, c-format
 msgid "guestfs_create: failed to create handle\n"
 msgstr "guestfs_create: hendel aanmaken mislukte\n"
 
-#: fish/fish.c:238
+#: fish/fish.c:239
 #, c-format
 msgid "%s: --listen=PID: PID was not a number: %s\n"
 msgstr "%s: --listen=PID: PID was geen getal: %s\n"
 
-#: fish/fish.c:245
+#: fish/fish.c:246
 #, c-format
 msgid ""
 "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n"
@@ -1707,45 +1707,45 @@ msgstr ""
 "%s: remote: $GUESTFISH_PID moet ingesteld worden op de PID van het proces op "
 "afstand\n"
 
-#: fish/fish.c:267 fuse/guestmount.c:1020
+#: fish/fish.c:268 fuse/guestmount.c:1021
 #, c-format
 msgid "%s: unknown long option: %s (%d)\n"
 msgstr "%s: onbekende lange optie: %s (%d)\n"
 
-#: fish/fish.c:291
+#: fish/fish.c:292
 #, c-format
 msgid "%s: only one -f parameter can be given\n"
 msgstr "%s: er kan slechts een -f parameter opgegeven worden\n"
 
-#: fish/fish.c:441
+#: fish/fish.c:446
 #, c-format
 msgid "%s: cannot use --listen and --remote options at the same time\n"
 msgstr ""
 "%s: de --listen en --remote opties kunnen niet tegelijkertijd gebruikt "
 "worden\n"
 
-#: fish/fish.c:449
+#: fish/fish.c:454
 #, c-format
 msgid "%s: extra parameters on the command line with --listen flag\n"
 msgstr "%s: extra parameters op de commando regel met --listen vlag\n"
 
-#: fish/fish.c:455
+#: fish/fish.c:460
 #, c-format
 msgid "%s: cannot use --listen and --file options at the same time\n"
 msgstr ""
 "%s: de --listen en --file opties kunnen niet tegelijkertijd gebruikt worden\n"
 
-#: fish/fish.c:512
+#: fish/fish.c:517
 #, c-format
 msgid "guestfish: could not access termcap or terminfo database.\n"
 msgstr ""
 
-#: fish/fish.c:516
+#: fish/fish.c:521
 #, c-format
 msgid "guestfish: terminal type \"%s\" not defined.\n"
 msgstr ""
 
-#: fish/fish.c:625
+#: fish/fish.c:630
 #, c-format
 msgid ""
 "\n"
@@ -1767,45 +1767,45 @@ msgstr ""
 "      'quit' om de shell te verlaten\n"
 "\n"
 
-#: fish/fish.c:712
+#: fish/fish.c:717
 #, c-format
 msgid "%s: unterminated double quote\n"
 msgstr "%s: niet afgesloten dubbel aanhalingsteken\n"
 
-#: fish/fish.c:718 fish/fish.c:735
+#: fish/fish.c:723 fish/fish.c:740
 #, c-format
 msgid "%s: command arguments not separated by whitespace\n"
 msgstr "%s: commando argumenten niet gescheiden door spaties\n"
 
-#: fish/fish.c:729
+#: fish/fish.c:734
 #, c-format
 msgid "%s: unterminated single quote\n"
 msgstr "%s: niet afgesloten enkel aanhalingsteken\n"
 
-#: fish/fish.c:784
+#: fish/fish.c:789
 #, c-format
 msgid "%s: internal error parsing string at '%s'\n"
 msgstr "%s: interne fout bij ontleden van tekenreeks op '%s'\n"
 
-#: fish/fish.c:801
+#: fish/fish.c:806
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: teveel argumenten\n"
 
-#: fish/fish.c:830
+#: fish/fish.c:835
 #, c-format
 msgid "%s: empty command on command line\n"
 msgstr "%s: leeg commando op commando regel\n"
 
-#: fish/fish.c:971
+#: fish/fish.c:976
 msgid "display a list of commands or help on a command"
 msgstr "laat een lijst van commando's of hulp over een commando zien"
 
-#: fish/fish.c:973
+#: fish/fish.c:978
 msgid "quit guestfish"
 msgstr "sluit guestfish af"
 
-#: fish/fish.c:984
+#: fish/fish.c:989
 #, c-format
 msgid ""
 "help - display a list of commands or help on a command\n"
@@ -1816,7 +1816,7 @@ msgstr ""
 "     help cmd\n"
 "     help\n"
 
-#: fish/fish.c:992
+#: fish/fish.c:997
 #, c-format
 msgid ""
 "quit - quit guestfish\n"
@@ -1825,12 +1825,12 @@ msgstr ""
 "quit - sluit guestfish af\n"
 "     quit\n"
 
-#: fish/fish.c:997
+#: fish/fish.c:1002
 #, c-format
 msgid "%s: command not known, use -h to list all commands\n"
 msgstr "%s: commando niet bekend, gebruik -h om alle commando's te tonen\n"
 
-#: fish/fish.c:1013
+#: fish/fish.c:1018
 #, c-format
 msgid ""
 "Did you mean to open a disk image?  guestfish -a disk.img\n"
@@ -1841,12 +1841,12 @@ msgstr ""
 "Voor een lijst commando's:         guestfish -h\n"
 "Voor complete documentatie:        man guestfish\n"
 
-#: fish/fish.c:1170
+#: fish/fish.c:1175
 #, c-format
 msgid "Runaway quote in string \"%s\"\n"
 msgstr "Los aanhalingsteken in tekenreeks \"%s\"\n"
 
-#: fish/fish.c:1506
+#: fish/fish.c:1511
 #, c-format
 msgid "Enter key or passphrase (\"%s\"): "
 msgstr "Vul sleutel of wachtzin in (\"%s\"): "
@@ -2215,12 +2215,12 @@ msgstr ""
 "  -v|--verbose         Breedsprakige boodschappen\n"
 "  -V|--version         Laat versie zien en sluit af\n"
 
-#: fuse/guestmount.c:1084
+#: fuse/guestmount.c:1089
 #, fuzzy, c-format
 msgid "%s: must have at least one -a/-d and at least one -m/-i option\n"
 msgstr "%s: moet tenminste een -a en tenminste een -m optie hebben\n"
 
-#: fuse/guestmount.c:1092
+#: fuse/guestmount.c:1097
 #, c-format
 msgid "%s: you must specify a mountpoint in the host filesystem\n"
 msgstr ""
@@ -2381,7 +2381,7 @@ msgstr "{path} komt niet overeen met augeas patroon"
 msgid "{filename}: could not read initrd format"
 msgstr "{filename}: kon initrd formaat niet lezen"
 
-#: src/appliance.c:138
+#: src/appliance.c:142
 #, c-format
 msgid ""
 "cannot find any suitable libguestfs supermin or ordinary appliance on "
@@ -2390,21 +2390,32 @@ msgstr ""
 "kon geen geschikte libguestfs supermin of gewoon toestel vinden op "
 "LIBGUESTFS_PATH (zoek pad: %s)"
 
-#: src/appliance.c:353
+#: src/appliance.c:358
 #, fuzzy, c-format
 msgid "failed to create temporary cache directory: %m"
 msgstr "maak een tijdelijke map aan"
 
-#: src/appliance.c:441
+#: src/appliance.c:446
 #, fuzzy, c-format
 msgid "error renaming temporary cache directory: %m"
 msgstr "maak een tijdelijke map aan"
 
-#: src/appliance.c:517
+#: src/appliance.c:522
 #, fuzzy
 msgid "external command failed, see earlier error messages"
 msgstr "guestfs_launch mislukte, bekijk de eerdere fout boodschap"
 
+#: src/filearch.c:153
+#, c-format
+msgid "size of %s unreasonable (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/filearch.c:266
+msgid ""
+"file-architecture API not available since this version of libguestfs was "
+"compiled without PCRE or libmagic libraries"
+msgstr ""
+
 #: src/guestfs.c:178
 #, c-format
 msgid "guestfs_close: called twice on the same handle\n"
@@ -2415,21 +2426,35 @@ msgstr "guestfs_close: twee keer dezelfde hendel aangeroepen\n"
 msgid "libguestfs: error: %s\n"
 msgstr "libguestfs: foutr: %s\n"
 
-#: src/guestfs.c:762
+#: src/guestfs.c:778
 #, c-format
 msgid "<truncated, original size %zu bytes>"
 msgstr ""
 
-#: src/inspect.c:1077
+#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279
+#, c-format
+msgid "size of %s is unreasonably large (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/inspect.c:591
+msgid "could not parse /etc/fstab or empty file"
+msgstr ""
+
+#: src/inspect.c:784
 #, c-format
 msgid "cannot resolve Windows %%SYSTEMROOT%%"
 msgstr "Kan Windows %%SYSTEMROOT%% niet oplossen"
 
-#: src/inspect.c:1293
+#: src/inspect.c:972
+#, c-format
+msgid "could not parse integer in version number: %s"
+msgstr ""
+
+#: src/inspect.c:982
 msgid "no inspection data: call guestfs_inspect_os first"
 msgstr "geen inspectie data: roep eerst guestfs_inspect_os aan"
 
-#: src/inspect.c:1305
+#: src/inspect.c:994
 #, c-format
 msgid ""
 "%s: root device not found: only call this function with a root device "
@@ -2438,10 +2463,21 @@ msgstr ""
 "%s: root apparaat niet gevonden: roep deze functie alleen aan met een root "
 "apparaat eerder teruggegeven door guestfs_inspect_os"
 
-#: src/inspect.c:1400
+#: src/inspect.c:1089
 msgid "not a Windows guest, or systemroot could not be determined"
 msgstr ""
 
+#: src/inspect.c:1288
+#, c-format
+msgid "%s: file is empty"
+msgstr ""
+
+#: src/inspect.c:1305
+msgid ""
+"inspection API not available since this version of libguestfs was compiled "
+"without PCRE or hivex libraries"
+msgstr ""
+
 #: src/launch.c:94
 msgid "command line cannot be altered after qemu subprocess launched"
 msgstr ""
index 175be9e..23e3e86 100644 (file)
--- a/po/or.po
+++ b/po/or.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: libguestfs.master.or\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2010-11-05 15:20+0000\n"
+"POT-Creation-Date: 2010-11-18 12:58+0000\n"
 "PO-Revision-Date: 2010-02-01 18:17+0530\n"
 "Last-Translator: Manoj Kumar Giri <mgiri@redhat.com>\n"
 "Language-Team: Oriya <oriya-it@googlegroups.com>\n"
@@ -1710,58 +1710,58 @@ msgstr ""
 "  -V|--version         ସଂସ୍କରଣ ଦର୍ଶାନ୍ତୁ ଏବଂ ପ୍ରସ୍ଥାନ କରନ୍ତୁ\n"
 "ଅଧିକ ସୂଚନା ପାଇଁ,  man ପୃଷ୍ଠା ଦେଖନ୍ତୁ %s(1).\n"
 
-#: fish/fish.c:201 fuse/guestmount.c:975
+#: fish/fish.c:202 fuse/guestmount.c:976
 #, c-format
 msgid "guestfs_create: failed to create handle\n"
 msgstr "guestfs_create: ନିୟନ୍ତ୍ରଣ ପ୍ରସ୍ତୁତ କରିବାରେ ବିଫଳ ହୋଇଛି\n"
 
-#: fish/fish.c:238
+#: fish/fish.c:239
 #, c-format
 msgid "%s: --listen=PID: PID was not a number: %s\n"
 msgstr "%s: --listen=PID: PID ଗୋଟିଏ ସଂଖ୍ୟା ନୁହଁ: %s\n"
 
-#: fish/fish.c:245
+#: fish/fish.c:246
 #, c-format
 msgid ""
 "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n"
 msgstr "%s: ସୁଦୂର: $GUESTFISH_PID ନିଶ୍ଚିତ ଭାବରେ PID ରେ ସୁଦୂର ପଦ୍ଧତିରେ ସେଟ ହୋଇଛି\n"
 
-#: fish/fish.c:267 fuse/guestmount.c:1020
+#: fish/fish.c:268 fuse/guestmount.c:1021
 #, c-format
 msgid "%s: unknown long option: %s (%d)\n"
 msgstr "%s: ଅଜଣା ଲମ୍ବା ବିକଳ୍ପ: %s (%d)\n"
 
-#: fish/fish.c:291
+#: fish/fish.c:292
 #, c-format
 msgid "%s: only one -f parameter can be given\n"
 msgstr "%s: କେବଳ ଗୋଟିଏ -f ପ୍ରାଚଳ ଦିଆହୋଇଛି\n"
 
-#: fish/fish.c:441
+#: fish/fish.c:446
 #, c-format
 msgid "%s: cannot use --listen and --remote options at the same time\n"
 msgstr "%s: --listen ଏବଂ --remote ବିକଳ୍ପଗୁଡ଼ିକୁ ଏକ ସମୟରେ ବ୍ୟବହାର କରିପାରିବେ ନାହିଁ\n"
 
-#: fish/fish.c:449
+#: fish/fish.c:454
 #, c-format
 msgid "%s: extra parameters on the command line with --listen flag\n"
 msgstr "%s: ନିର୍ଦ୍ଦେଶ ନାମାରେ --listen ସୂଚକ ସହିତ ଅତିରିକ୍ତ ପ୍ରଚଳଗୁଡ଼ିକ\n"
 
-#: fish/fish.c:455
+#: fish/fish.c:460
 #, c-format
 msgid "%s: cannot use --listen and --file options at the same time\n"
 msgstr "%s: --listen ଏବଂ --file ବିକଳ୍ପଗୁଡ଼ିକୁ ଏକା ସମୟରେ ବ୍ୟବହାର କରିପାରିବେ ନାହିଁ\n"
 
-#: fish/fish.c:512
+#: fish/fish.c:517
 #, c-format
 msgid "guestfish: could not access termcap or terminfo database.\n"
 msgstr ""
 
-#: fish/fish.c:516
+#: fish/fish.c:521
 #, c-format
 msgid "guestfish: terminal type \"%s\" not defined.\n"
 msgstr ""
 
-#: fish/fish.c:625
+#: fish/fish.c:630
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -1781,45 +1781,45 @@ msgstr ""
 "      'quit' shellରୁ ପ୍ରସ୍ଥାନ କରିବା ପାଇଁ\n"
 "\n"
 
-#: fish/fish.c:712
+#: fish/fish.c:717
 #, c-format
 msgid "%s: unterminated double quote\n"
 msgstr "%s: ସମାପ୍ତ ହୋଇନଥିବା ଦ୍ୱିତୀୟ କୋଟ\n"
 
-#: fish/fish.c:718 fish/fish.c:735
+#: fish/fish.c:723 fish/fish.c:740
 #, c-format
 msgid "%s: command arguments not separated by whitespace\n"
 msgstr "%s: ନିର୍ଦ୍ଦେଶ ସ୍ୱତନ୍ତ୍ରଚରଗୁଡ଼ିକ ଖାଲିସ୍ଥାନ ଦ୍ୱାରା ପୃଥକ ହୋଇନାହିଁ\n"
 
-#: fish/fish.c:729
+#: fish/fish.c:734
 #, c-format
 msgid "%s: unterminated single quote\n"
 msgstr "%s: ଅସମାପ୍ତ ଏକକ କୋଟ\n"
 
-#: fish/fish.c:784
+#: fish/fish.c:789
 #, c-format
 msgid "%s: internal error parsing string at '%s'\n"
 msgstr "%s: '%s' ରେ ଆଭ୍ୟନ୍ତରୀଣ ତ୍ରୁଟି ବିଶ୍ଳେଷଣ ବାକ୍ୟଖଣ୍ଡ\n"
 
-#: fish/fish.c:801
+#: fish/fish.c:806
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: ଅତ୍ୟଧିକ ସ୍ୱତନ୍ତ୍ରଚର\n"
 
-#: fish/fish.c:830
+#: fish/fish.c:835
 #, c-format
 msgid "%s: empty command on command line\n"
 msgstr "%s: ନିର୍ଦ୍ଦେଶ ନାମରେ ଖାଲି ନିର୍ଦ୍ଦେଶ\n"
 
-#: fish/fish.c:971
+#: fish/fish.c:976
 msgid "display a list of commands or help on a command"
 msgstr "ନିର୍ଦ୍ଦେଶମାନଙ୍କର ଗୋଟିଏ ତାଲିକା ଦର୍ଶାନ୍ତୁ ଅଥବା ଗୋଟିଏ ନିର୍ଦ୍ଦେଶରେ ସହାୟତା ଦେଖାନ୍ତୁ"
 
-#: fish/fish.c:973
+#: fish/fish.c:978
 msgid "quit guestfish"
 msgstr "guestfish ରୁ ପ୍ରସ୍ଥାନ କରନ୍ତୁ"
 
-#: fish/fish.c:984
+#: fish/fish.c:989
 #, c-format
 msgid ""
 "help - display a list of commands or help on a command\n"
@@ -1830,7 +1830,7 @@ msgstr ""
 "     ସହାୟତା cmd\n"
 "     ସହାୟତା\n"
 
-#: fish/fish.c:992
+#: fish/fish.c:997
 #, c-format
 msgid ""
 "quit - quit guestfish\n"
@@ -1839,13 +1839,13 @@ msgstr ""
 "ପ୍ରସ୍ଥାନ କରନ୍ତୁ - guestfish ରୁ ପ୍ରସ୍ଥାନ କରନ୍ତୁ\n"
 "     ପ୍ରସ୍ଥାନ କରନ୍ତୁ\n"
 
-#: fish/fish.c:997
+#: fish/fish.c:1002
 #, c-format
 msgid "%s: command not known, use -h to list all commands\n"
 msgstr ""
 "%s: ନିର୍ଦ୍ଦେଶଟି ପରିଚିତ ନୁହଁ, ସମସ୍ତ ନିର୍ଦ୍ଦେଶଗୁଡ଼ିକୁ ତାଲିକାଭୁକ୍ତ କରିବା ପାଇଁ -h କୁ ବ୍ୟବହାର କରନ୍ତୁ\n"
 
-#: fish/fish.c:1013
+#: fish/fish.c:1018
 #, c-format
 msgid ""
 "Did you mean to open a disk image?  guestfish -a disk.img\n"
@@ -1853,12 +1853,12 @@ msgid ""
 "For complete documentation:         man guestfish\n"
 msgstr ""
 
-#: fish/fish.c:1170
+#: fish/fish.c:1175
 #, c-format
 msgid "Runaway quote in string \"%s\"\n"
 msgstr "ବାକ୍ୟଖଣ୍ଡ \"%s\" ରେ ପଳାୟନ ଟିପ୍ପଣୀ\n"
 
-#: fish/fish.c:1506
+#: fish/fish.c:1511
 #, c-format
 msgid "Enter key or passphrase (\"%s\"): "
 msgstr ""
@@ -2208,12 +2208,12 @@ msgstr ""
 "  -v|--verbose         ଭର୍ବୋଜ ସନ୍ଦେଶଗୁଡ଼ିକ\n"
 "  -V|--version         ସଂସ୍କରଣ ଦର୍ଶାନ୍ତୁ ଏବଂ ପ୍ରସ୍ଥାନ କରନ୍ତୁ\n"
 
-#: fuse/guestmount.c:1084
+#: fuse/guestmount.c:1089
 #, fuzzy, c-format
 msgid "%s: must have at least one -a/-d and at least one -m/-i option\n"
 msgstr "%s: ନିଶ୍ଚିତ ଭାବରେ ଗୋଟିଏ -a ଏବଂ ଅତିକମରେ ଗୋଟିଏ -m ବିକଳ୍ପ ଥିବା ଉଚିତ\n"
 
-#: fuse/guestmount.c:1092
+#: fuse/guestmount.c:1097
 #, c-format
 msgid "%s: you must specify a mountpoint in the host filesystem\n"
 msgstr "%s: ଆପଣଙ୍କୁ ହୋଷ୍ଟ ଫାଇଲତନ୍ତ୍ରରେ ଗୋଟିଏ ସ୍ଥାପନ ବିନ୍ଦୁ ଉଲ୍ଲେଖ କରିବାକୁ ହେବ\n"
@@ -2356,28 +2356,39 @@ msgstr "ଗୋଟିଏ ପ୍ରକାର ସହିତ ମେଳଖାଉଥି
 msgid "{filename}: could not read initrd format"
 msgstr ""
 
-#: src/appliance.c:138
+#: src/appliance.c:142
 #, c-format
 msgid ""
 "cannot find any suitable libguestfs supermin or ordinary appliance on "
 "LIBGUESTFS_PATH (search path: %s)"
 msgstr ""
 
-#: src/appliance.c:353
+#: src/appliance.c:358
 #, fuzzy, c-format
 msgid "failed to create temporary cache directory: %m"
 msgstr "ଗୋଟିଏ ଅସ୍ଥାୟୀ ଡିରେକ୍ଟୋରୀ ନିର୍ମାଣ କରନ୍ତୁ"
 
-#: src/appliance.c:441
+#: src/appliance.c:446
 #, fuzzy, c-format
 msgid "error renaming temporary cache directory: %m"
 msgstr "ଗୋଟିଏ ଅସ୍ଥାୟୀ ଡିରେକ୍ଟୋରୀ ନିର୍ମାଣ କରନ୍ତୁ"
 
-#: src/appliance.c:517
+#: src/appliance.c:522
 #, fuzzy
 msgid "external command failed, see earlier error messages"
 msgstr "guestfs_launch ବିଫଳ ହୋଇଛି, ପୂର୍ବର ତ୍ରୁଟି ସନ୍ଦେଶଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ"
 
+#: src/filearch.c:153
+#, c-format
+msgid "size of %s unreasonable (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/filearch.c:266
+msgid ""
+"file-architecture API not available since this version of libguestfs was "
+"compiled without PCRE or libmagic libraries"
+msgstr ""
+
 #: src/guestfs.c:178
 #, c-format
 msgid "guestfs_close: called twice on the same handle\n"
@@ -2388,31 +2399,57 @@ msgstr "guestfs_close: ସମାନ ନିୟନ୍ତ୍ରଣରେ ଦୁଇ
 msgid "libguestfs: error: %s\n"
 msgstr "libguestfs: ତ୍ରୁଟି: %s\n"
 
-#: src/guestfs.c:762
+#: src/guestfs.c:778
 #, c-format
 msgid "<truncated, original size %zu bytes>"
 msgstr ""
 
-#: src/inspect.c:1077
+#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279
+#, c-format
+msgid "size of %s is unreasonably large (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/inspect.c:591
+#, fuzzy
+msgid "could not parse /etc/fstab or empty file"
+msgstr "ଆକାର ବିଶେଷ ଦ୍ରଷ୍ଟବ୍ୟ '%s' କୁ ବିଶ୍ଳେଷଣ କରିପାରିଲା ନାହିଁ\n"
+
+#: src/inspect.c:784
 #, c-format
 msgid "cannot resolve Windows %%SYSTEMROOT%%"
 msgstr ""
 
-#: src/inspect.c:1293
+#: src/inspect.c:972
+#, fuzzy, c-format
+msgid "could not parse integer in version number: %s"
+msgstr "ଆକାର ବିଶେଷ ଦ୍ରଷ୍ଟବ୍ୟ '%s' କୁ ବିଶ୍ଳେଷଣ କରିପାରିଲା ନାହିଁ\n"
+
+#: src/inspect.c:982
 msgid "no inspection data: call guestfs_inspect_os first"
 msgstr ""
 
-#: src/inspect.c:1305
+#: src/inspect.c:994
 #, c-format
 msgid ""
 "%s: root device not found: only call this function with a root device "
 "previously returned by guestfs_inspect_os"
 msgstr ""
 
-#: src/inspect.c:1400
+#: src/inspect.c:1089
 msgid "not a Windows guest, or systemroot could not be determined"
 msgstr ""
 
+#: src/inspect.c:1288
+#, c-format
+msgid "%s: file is empty"
+msgstr ""
+
+#: src/inspect.c:1305
+msgid ""
+"inspection API not available since this version of libguestfs was compiled "
+"without PCRE or hivex libraries"
+msgstr ""
+
 #: src/launch.c:94
 msgid "command line cannot be altered after qemu subprocess launched"
 msgstr "qemu ଉପପଦ୍ଧତି ଆରମ୍ଭ ହେବା ପରେ ନିର୍ଦ୍ଦେଶନାମାକୁ ପରିବର୍ତ୍ତନ କରିପାରିବେ ନାହିଁ"
index b2c12d3..0cd55d4 100644 (file)
--- a/po/pa.po
+++ b/po/pa.po
@@ -7,7 +7,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.0.81\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2010-11-05 15:20+0000\n"
+"POT-Creation-Date: 2010-11-18 12:58+0000\n"
 "PO-Revision-Date: 2010-01-29 12:50+0530\n"
 "Last-Translator: Jaswinder Singh <jsingh@redhat.com>\n"
 "Language-Team: Punjabi/Panjabi <kde-i18n-doc@kde.org>\n"
@@ -1708,59 +1708,59 @@ msgstr ""
 "  -V|--version         Display version and exit\n"
 "For more information,  see the manpage %s(1).\n"
 
-#: fish/fish.c:201 fuse/guestmount.c:975
+#: fish/fish.c:202 fuse/guestmount.c:976
 #, c-format
 msgid "guestfs_create: failed to create handle\n"
 msgstr "guestfs_create: ਹੈਂਡਲ ਬਣਾਉਣ ਵਿੱਚ ਫੇਲ\n"
 
-#: fish/fish.c:238
+#: fish/fish.c:239
 #, c-format
 msgid "%s: --listen=PID: PID was not a number: %s\n"
 msgstr "%s: --listen=PID: PID was not a number: %s\n"
 
-#: fish/fish.c:245
+#: fish/fish.c:246
 #, c-format
 msgid ""
 "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n"
 msgstr ""
 "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n"
 
-#: fish/fish.c:267 fuse/guestmount.c:1020
+#: fish/fish.c:268 fuse/guestmount.c:1021
 #, c-format
 msgid "%s: unknown long option: %s (%d)\n"
 msgstr "%s: unknown long option: %s (%d)\n"
 
-#: fish/fish.c:291
+#: fish/fish.c:292
 #, c-format
 msgid "%s: only one -f parameter can be given\n"
 msgstr "%s: only one -f parameter can be given\n"
 
-#: fish/fish.c:441
+#: fish/fish.c:446
 #, c-format
 msgid "%s: cannot use --listen and --remote options at the same time\n"
 msgstr "%s: cannot use --listen and --remote options at the same time\n"
 
-#: fish/fish.c:449
+#: fish/fish.c:454
 #, c-format
 msgid "%s: extra parameters on the command line with --listen flag\n"
 msgstr "%s: extra parameters on the command line with --listen flag\n"
 
-#: fish/fish.c:455
+#: fish/fish.c:460
 #, c-format
 msgid "%s: cannot use --listen and --file options at the same time\n"
 msgstr "%s: cannot use --listen and --file options at the same time\n"
 
-#: fish/fish.c:512
+#: fish/fish.c:517
 #, c-format
 msgid "guestfish: could not access termcap or terminfo database.\n"
 msgstr ""
 
-#: fish/fish.c:516
+#: fish/fish.c:521
 #, c-format
 msgid "guestfish: terminal type \"%s\" not defined.\n"
 msgstr ""
 
-#: fish/fish.c:625
+#: fish/fish.c:630
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -1780,45 +1780,45 @@ msgstr ""
 "      'quit' to quit the shell\n"
 "\n"
 
-#: fish/fish.c:712
+#: fish/fish.c:717
 #, c-format
 msgid "%s: unterminated double quote\n"
 msgstr "%s: unterminated double quote\n"
 
-#: fish/fish.c:718 fish/fish.c:735
+#: fish/fish.c:723 fish/fish.c:740
 #, c-format
 msgid "%s: command arguments not separated by whitespace\n"
 msgstr "%s: ਕਮਾਂਡ ਆਰਗੂਮੈਂਟ ਸਪੇਸ ਨਾਲ ਵੱਖ ਨਹੀਂ ਕੀਤਾ\n"
 
-#: fish/fish.c:729
+#: fish/fish.c:734
 #, c-format
 msgid "%s: unterminated single quote\n"
 msgstr "%s: unterminated single quote\n"
 
-#: fish/fish.c:784
+#: fish/fish.c:789
 #, c-format
 msgid "%s: internal error parsing string at '%s'\n"
 msgstr "%s: internal error parsing string at '%s'\n"
 
-#: fish/fish.c:801
+#: fish/fish.c:806
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: too many arguments\n"
 
-#: fish/fish.c:830
+#: fish/fish.c:835
 #, c-format
 msgid "%s: empty command on command line\n"
 msgstr "%s: empty command on command line\n"
 
-#: fish/fish.c:971
+#: fish/fish.c:976
 msgid "display a list of commands or help on a command"
 msgstr "ਕਮਾਂਡਾਂ ਦੀ ਸੂਚੀ ਜਾਂ ਕਮਾਂਡ ਬਾਰੇ ਸਹਾਇਤਾ ਵੇਖਾਓ"
 
-#: fish/fish.c:973
+#: fish/fish.c:978
 msgid "quit guestfish"
 msgstr "quit guestfish"
 
-#: fish/fish.c:984
+#: fish/fish.c:989
 #, c-format
 msgid ""
 "help - display a list of commands or help on a command\n"
@@ -1829,7 +1829,7 @@ msgstr ""
 "     help cmd\n"
 "     help\n"
 
-#: fish/fish.c:992
+#: fish/fish.c:997
 #, c-format
 msgid ""
 "quit - quit guestfish\n"
@@ -1838,12 +1838,12 @@ msgstr ""
 "quit - quit guestfish\n"
 "     quit\n"
 
-#: fish/fish.c:997
+#: fish/fish.c:1002
 #, c-format
 msgid "%s: command not known, use -h to list all commands\n"
 msgstr "%s: command not known, use -h to list all commands\n"
 
-#: fish/fish.c:1013
+#: fish/fish.c:1018
 #, c-format
 msgid ""
 "Did you mean to open a disk image?  guestfish -a disk.img\n"
@@ -1851,12 +1851,12 @@ msgid ""
 "For complete documentation:         man guestfish\n"
 msgstr ""
 
-#: fish/fish.c:1170
+#: fish/fish.c:1175
 #, c-format
 msgid "Runaway quote in string \"%s\"\n"
 msgstr "ਸਤਰ \"%s\" ਵਿੱਚ ਗਲਤ ਸ਼ਬਦਾਵਲੀ ਹੈ\n"
 
-#: fish/fish.c:1506
+#: fish/fish.c:1511
 #, c-format
 msgid "Enter key or passphrase (\"%s\"): "
 msgstr ""
@@ -2206,12 +2206,12 @@ msgstr ""
 "  -v|--verbose         Verbose messages\n"
 "  -V|--version         Display version and exit\n"
 
-#: fuse/guestmount.c:1084
+#: fuse/guestmount.c:1089
 #, fuzzy, c-format
 msgid "%s: must have at least one -a/-d and at least one -m/-i option\n"
 msgstr "%s: must have at least one -a and at least one -m option\n"
 
-#: fuse/guestmount.c:1092
+#: fuse/guestmount.c:1097
 #, c-format
 msgid "%s: you must specify a mountpoint in the host filesystem\n"
 msgstr "%s: ਤੁਹਾਨੂੰ ਹੋਸਟ ਫਾਇਲ-ਸਿਸਟਮ ਵਿੱਚ ਮਾਊਂਟਪੁਆਂਇਟ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ\n"
@@ -2354,28 +2354,39 @@ msgstr "ਨਮੂਨੇ ਨਾਲ ਮਿਲਦੀਆਂ ਲਾਈਨਾਂ ਭ
 msgid "{filename}: could not read initrd format"
 msgstr ""
 
-#: src/appliance.c:138
+#: src/appliance.c:142
 #, c-format
 msgid ""
 "cannot find any suitable libguestfs supermin or ordinary appliance on "
 "LIBGUESTFS_PATH (search path: %s)"
 msgstr ""
 
-#: src/appliance.c:353
+#: src/appliance.c:358
 #, fuzzy, c-format
 msgid "failed to create temporary cache directory: %m"
 msgstr "ਆਰਜੀ ਡਾਇਰੈਕਟਰੀ ਬਣਾਓ"
 
-#: src/appliance.c:441
+#: src/appliance.c:446
 #, fuzzy, c-format
 msgid "error renaming temporary cache directory: %m"
 msgstr "ਆਰਜੀ ਡਾਇਰੈਕਟਰੀ ਬਣਾਓ"
 
-#: src/appliance.c:517
+#: src/appliance.c:522
 #, fuzzy
 msgid "external command failed, see earlier error messages"
 msgstr "guestfs_launch ਫੇਲ ਹੋਇਆ, ਪਹਿਲੇ ਗਲਤੀ ਸੁਨੇਹੇ ਵੇਖੋ"
 
+#: src/filearch.c:153
+#, c-format
+msgid "size of %s unreasonable (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/filearch.c:266
+msgid ""
+"file-architecture API not available since this version of libguestfs was "
+"compiled without PCRE or libmagic libraries"
+msgstr ""
+
 #: src/guestfs.c:178
 #, c-format
 msgid "guestfs_close: called twice on the same handle\n"
@@ -2386,31 +2397,57 @@ msgstr "guestfs_close: called twice on the same handle\n"
 msgid "libguestfs: error: %s\n"
 msgstr "libguestfs: error: %s\n"
 
-#: src/guestfs.c:762
+#: src/guestfs.c:778
 #, c-format
 msgid "<truncated, original size %zu bytes>"
 msgstr ""
 
-#: src/inspect.c:1077
+#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279
+#, c-format
+msgid "size of %s is unreasonably large (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/inspect.c:591
+#, fuzzy
+msgid "could not parse /etc/fstab or empty file"
+msgstr "ਅਕਾਰ ਨਿਰਧਾਰਨ '%s' ਨੂੰ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਦਾ\n"
+
+#: src/inspect.c:784
 #, c-format
 msgid "cannot resolve Windows %%SYSTEMROOT%%"
 msgstr ""
 
-#: src/inspect.c:1293
+#: src/inspect.c:972
+#, fuzzy, c-format
+msgid "could not parse integer in version number: %s"
+msgstr "ਅਕਾਰ ਨਿਰਧਾਰਨ '%s' ਨੂੰ ਪਾਰਸ ਨਹੀਂ ਕਰ ਸਕਦਾ\n"
+
+#: src/inspect.c:982
 msgid "no inspection data: call guestfs_inspect_os first"
 msgstr ""
 
-#: src/inspect.c:1305
+#: src/inspect.c:994
 #, c-format
 msgid ""
 "%s: root device not found: only call this function with a root device "
 "previously returned by guestfs_inspect_os"
 msgstr ""
 
-#: src/inspect.c:1400
+#: src/inspect.c:1089
 msgid "not a Windows guest, or systemroot could not be determined"
 msgstr ""
 
+#: src/inspect.c:1288
+#, c-format
+msgid "%s: file is empty"
+msgstr ""
+
+#: src/inspect.c:1305
+msgid ""
+"inspection API not available since this version of libguestfs was compiled "
+"without PCRE or hivex libraries"
+msgstr ""
+
 #: src/launch.c:94
 msgid "command line cannot be altered after qemu subprocess launched"
 msgstr "ਕਮਾਂਡ ਲਾਈਨ ਨੂੰ qemu ਅਧੀਨ-ਕਾਰਜ ਚਾਲੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸੋਧਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"
index d3f1a16..6e3f099 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@ msgstr ""
 "Project-Id-Version: pl\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2010-11-05 15:20+0000\n"
+"POT-Creation-Date: 2010-11-18 12:58+0000\n"
 "PO-Revision-Date: 2010-10-23 13:41+0200\n"
 "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
 "Language-Team: Polish <trans-pl@lists.fedoraproject.org>\n"
@@ -1682,60 +1682,60 @@ msgstr ""
 "  -V|--version         Wyświetla wersję i kończy działanie\n"
 "Aby dowiedzieć się więcej, proszę zobaczyć stronę podręcznika %s(1).\n"
 
-#: fish/fish.c:201 fuse/guestmount.c:975
+#: fish/fish.c:202 fuse/guestmount.c:976
 #, c-format
 msgid "guestfs_create: failed to create handle\n"
 msgstr "guestfs_create: utworzenie programu obsługi nie powiodło się\n"
 
-#: fish/fish.c:238
+#: fish/fish.c:239
 #, c-format
 msgid "%s: --listen=PID: PID was not a number: %s\n"
 msgstr "%s: --listen=PID: PID nie był liczbą: %s\n"
 
-#: fish/fish.c:245
+#: fish/fish.c:246
 #, c-format
 msgid ""
 "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n"
 msgstr ""
 "%s: zdalnie: $GUESTFISH_PID musi być ustawiony na PID zdalnego procesu\n"
 
-#: fish/fish.c:267 fuse/guestmount.c:1020
+#: fish/fish.c:268 fuse/guestmount.c:1021
 #, c-format
 msgid "%s: unknown long option: %s (%d)\n"
 msgstr "%s: nieznana długa opcja: %s (%d)\n"
 
-#: fish/fish.c:291
+#: fish/fish.c:292
 #, c-format
 msgid "%s: only one -f parameter can be given\n"
 msgstr "%s: można podać tylko jeden parametr -f\n"
 
-#: fish/fish.c:441
+#: fish/fish.c:446
 #, c-format
 msgid "%s: cannot use --listen and --remote options at the same time\n"
 msgstr "%s: nie można używać opcji --listen i --remote w tym samym czasie\n"
 
-#: fish/fish.c:449
+#: fish/fish.c:454
 #, c-format
 msgid "%s: extra parameters on the command line with --listen flag\n"
 msgstr "%s: dodatkowe parametry wiersza poleceń za pomocą flagi --listen\n"
 
-#: fish/fish.c:455
+#: fish/fish.c:460
 #, c-format
 msgid "%s: cannot use --listen and --file options at the same time\n"
 msgstr "%s: nie można używać opcji --listen i --file w tym samym czasie\n"
 
-#: fish/fish.c:512
+#: fish/fish.c:517
 #, c-format
 msgid "guestfish: could not access termcap or terminfo database.\n"
 msgstr ""
 "guestfish: nie można uzyskać dostępu do bazy danych termcap lub terminfo.\n"
 
-#: fish/fish.c:516
+#: fish/fish.c:521
 #, c-format
 msgid "guestfish: terminal type \"%s\" not defined.\n"
 msgstr "guestfish: typ terminala \"%s\" nie jest określony.\n"
 
-#: fish/fish.c:625
+#: fish/fish.c:630
 #, c-format
 msgid ""
 "\n"
@@ -1756,45 +1756,45 @@ msgstr ""
 "              \"quit\", aby zakończyć powłokę\n"
 "\n"
 
-#: fish/fish.c:712
+#: fish/fish.c:717
 #, c-format
 msgid "%s: unterminated double quote\n"
 msgstr "%s: niezakończony podwójny cudzysłów\n"
 
-#: fish/fish.c:718 fish/fish.c:735
+#: fish/fish.c:723 fish/fish.c:740
 #, c-format
 msgid "%s: command arguments not separated by whitespace\n"
 msgstr "%s: parametry poleceń nie są oddzielone spacjami\n"
 
-#: fish/fish.c:729
+#: fish/fish.c:734
 #, c-format
 msgid "%s: unterminated single quote\n"
 msgstr "%s: niezakończony pojedynczy cudzysłów\n"
 
-#: fish/fish.c:784
+#: fish/fish.c:789
 #, c-format
 msgid "%s: internal error parsing string at '%s'\n"
 msgstr "%s: wewnętrzny błąd przetwarzania ciągu \"%s\"\n"
 
-#: fish/fish.c:801
+#: fish/fish.c:806
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: za dużo parametrów\n"
 
-#: fish/fish.c:830
+#: fish/fish.c:835
 #, c-format
 msgid "%s: empty command on command line\n"
 msgstr "%s: puste polecenie wiersza poleceń\n"
 
-#: fish/fish.c:971
+#: fish/fish.c:976
 msgid "display a list of commands or help on a command"
 msgstr "wyświetla listę poleceń lub pomoc polecenia"
 
-#: fish/fish.c:973
+#: fish/fish.c:978
 msgid "quit guestfish"
 msgstr "kończy działanie programu guestfish"
 
-#: fish/fish.c:984
+#: fish/fish.c:989
 #, c-format
 msgid ""
 "help - display a list of commands or help on a command\n"
@@ -1805,7 +1805,7 @@ msgstr ""
 "     help polecenie\n"
 "     help\n"
 
-#: fish/fish.c:992
+#: fish/fish.c:997
 #, c-format
 msgid ""
 "quit - quit guestfish\n"
@@ -1814,14 +1814,14 @@ msgstr ""
 "quit - kończy działanie programu guestfish\n"
 "     quit\n"
 
-#: fish/fish.c:997
+#: fish/fish.c:1002
 #, c-format
 msgid "%s: command not known, use -h to list all commands\n"
 msgstr ""
 "%s: nieznane polecenie, należy użyć -h, aby wyświetlić listę wszystkich "
 "poleceń\n"
 
-#: fish/fish.c:1013
+#: fish/fish.c:1018
 #, c-format
 msgid ""
 "Did you mean to open a disk image?  guestfish -a disk.img\n"
@@ -1832,12 +1832,12 @@ msgstr ""
 "Lista poleceń:                        guestfish -h\n"
 "Pełna dokumentacja:                   man guestfish\n"
 
-#: fish/fish.c:1170
+#: fish/fish.c:1175
 #, c-format
 msgid "Runaway quote in string \"%s\"\n"
 msgstr "Cytat ucieczki w ciągu \"%s\"\n"
 
-#: fish/fish.c:1506
+#: fish/fish.c:1511
 #, c-format
 msgid "Enter key or passphrase (\"%s\"): "
 msgstr "Proszę podać klucz lub hasło (\"%s\"): "
@@ -2226,12 +2226,12 @@ msgstr ""
 "  -v|--verbose         Wyświetla więcej komunikatów\n"
 "  -V|--version         Wyświetla wersję i kończy działanie\n"
 
-#: fuse/guestmount.c:1084
+#: fuse/guestmount.c:1089
 #, fuzzy, c-format
 msgid "%s: must have at least one -a/-d and at least one -m/-i option\n"
 msgstr "%s: musi posiadać co najmniej jedną opcję -a i co najmniej jedną -m\n"
 
-#: fuse/guestmount.c:1092
+#: fuse/guestmount.c:1097
 #, c-format
 msgid "%s: you must specify a mountpoint in the host filesystem\n"
 msgstr "%s: należy podać punkt montowania w systemie plików gospodarza\n"
@@ -2389,7 +2389,7 @@ msgstr "{path} nie zgadza się ze wzorem Augeas"
 msgid "{filename}: could not read initrd format"
 msgstr "{filename}: nie można odczytać formatu initrd"
 
-#: src/appliance.c:138
+#: src/appliance.c:142
 #, c-format
 msgid ""
 "cannot find any suitable libguestfs supermin or ordinary appliance on "
@@ -2398,22 +2398,33 @@ msgstr ""
 "nie można odnaleźć żadnego przyrządu biblioteki libguestfs typu \"supermin\" "
 "lub \"ordinary\" w LIBGUESTFS_PATH (ścieżka wyszukiwania: %s)"
 
-#: src/appliance.c:353
+#: src/appliance.c:358
 #, fuzzy, c-format
 msgid "failed to create temporary cache directory: %m"
 msgstr "tworzy katalog tymczasowy"
 
-#: src/appliance.c:441
+#: src/appliance.c:446
 #, fuzzy, c-format
 msgid "error renaming temporary cache directory: %m"
 msgstr "tworzy katalog tymczasowy"
 
-#: src/appliance.c:517
+#: src/appliance.c:522
 msgid "external command failed, see earlier error messages"
 msgstr ""
 "zewnętrzne polecenie nie powiodło się, proszę zobaczyć wcześniejsze "
 "komunikaty błędów"
 
+#: src/filearch.c:153
+#, c-format
+msgid "size of %s unreasonable (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/filearch.c:266
+msgid ""
+"file-architecture API not available since this version of libguestfs was "
+"compiled without PCRE or libmagic libraries"
+msgstr ""
+
 #: src/guestfs.c:178
 #, c-format
 msgid "guestfs_close: called twice on the same handle\n"
@@ -2424,21 +2435,36 @@ msgstr "guestfs_close: wywołano dwa razy w tym samym programie obsługującym\n
 msgid "libguestfs: error: %s\n"
 msgstr "libguestfs: błąd: %s\n"
 
-#: src/guestfs.c:762
+#: src/guestfs.c:778
 #, c-format
 msgid "<truncated, original size %zu bytes>"
 msgstr ""
 
-#: src/inspect.c:1077
+#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279
+#, c-format
+msgid "size of %s is unreasonably large (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/inspect.c:591
+#, fuzzy
+msgid "could not parse /etc/fstab or empty file"
+msgstr "nie można przetworzyć rozmiaru partycji startowej"
+
+#: src/inspect.c:784
 #, c-format
 msgid "cannot resolve Windows %%SYSTEMROOT%%"
 msgstr "nie można rozwiązać %%SYSTEMROOT%% systemu Windows"
 
-#: src/inspect.c:1293
+#: src/inspect.c:972
+#, fuzzy, c-format
+msgid "could not parse integer in version number: %s"
+msgstr "nie można przetworzyć rozmiaru partycji startowej"
+
+#: src/inspect.c:982
 msgid "no inspection data: call guestfs_inspect_os first"
 msgstr "brak danych badania: najpierw należy wywołać guestfs_inspect_os"
 
-#: src/inspect.c:1305
+#: src/inspect.c:994
 #, c-format
 msgid ""
 "%s: root device not found: only call this function with a root device "
@@ -2447,10 +2473,21 @@ msgstr ""
 "%s: nie odnaleziono urządzenia root: należy wywoływać tę funkcję tylko z "
 "urządzeniem root poprzednio zwróconym przez guestfs_inspect_os"
 
-#: src/inspect.c:1400
+#: src/inspect.c:1089
 msgid "not a Windows guest, or systemroot could not be determined"
 msgstr ""
 
+#: src/inspect.c:1288
+#, c-format
+msgid "%s: file is empty"
+msgstr ""
+
+#: src/inspect.c:1305
+msgid ""
+"inspection API not available since this version of libguestfs was compiled "
+"without PCRE or hivex libraries"
+msgstr ""
+
 #: src/launch.c:94
 msgid "command line cannot be altered after qemu subprocess launched"
 msgstr ""
index 6cf1bf5..5d0e855 100644 (file)
--- a/po/ta.po
+++ b/po/ta.po
@@ -7,7 +7,7 @@ msgstr ""
 "Project-Id-Version: libguestfs 1.0.81\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2010-11-05 15:20+0000\n"
+"POT-Creation-Date: 2010-11-18 12:58+0000\n"
 "PO-Revision-Date: 2010-01-29 13:38+0530\n"
 "Last-Translator: I. Felix <ifelix@redhat.com>\n"
 "Language-Team: ta_IN <kde-i18n-doc@kde.org>\n"
@@ -1709,58 +1709,58 @@ msgstr ""
 "  -V|--version         Display version and exit\n"
 "For more information,  see the manpage %s(1).\n"
 
-#: fish/fish.c:201 fuse/guestmount.c:975
+#: fish/fish.c:202 fuse/guestmount.c:976
 #, c-format
 msgid "guestfs_create: failed to create handle\n"
 msgstr "guestfs_create: ஹாண்டிலை உருவாக்க முடியவில்லை\n"
 
-#: fish/fish.c:238
+#: fish/fish.c:239
 #, c-format
 msgid "%s: --listen=PID: PID was not a number: %s\n"
 msgstr "%s: --listen=PID: PID ஆனது எண் இல்லை: %s\n"
 
-#: fish/fish.c:245
+#: fish/fish.c:246
 #, c-format
 msgid ""
 "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n"
 msgstr "%s: remote: $GUESTFISH_PID க்கு தொலை செயற்பாட்டைPID க்கு அமை\n"
 
-#: fish/fish.c:267 fuse/guestmount.c:1020
+#: fish/fish.c:268 fuse/guestmount.c:1021
 #, c-format
 msgid "%s: unknown long option: %s (%d)\n"
 msgstr "%s: தெரியாத நீண்ட விருப்பம்: %s (%d)\n"
 
-#: fish/fish.c:291
+#: fish/fish.c:292
 #, c-format
 msgid "%s: only one -f parameter can be given\n"
 msgstr "%s: ஒரே ஒரு -f அளவுரு கொடுக்கப்படலாம்\n"
 
-#: fish/fish.c:441
+#: fish/fish.c:446
 #, c-format
 msgid "%s: cannot use --listen and --remote options at the same time\n"
 msgstr "%s: cannot use --listen and --remote options at the same time\n"
 
-#: fish/fish.c:449
+#: fish/fish.c:454
 #, c-format
 msgid "%s: extra parameters on the command line with --listen flag\n"
 msgstr "%s: extra parameters on the command line with --listen flag\n"
 
-#: fish/fish.c:455
+#: fish/fish.c:460
 #, c-format
 msgid "%s: cannot use --listen and --file options at the same time\n"
 msgstr "%s:  --listen மற்றும் --file விருப்பங்களை அதே நேரத்தில் பயன்படுத்த முடியாது\n"
 
-#: fish/fish.c:512
+#: fish/fish.c:517
 #, c-format
 msgid "guestfish: could not access termcap or terminfo database.\n"
 msgstr ""
 
-#: fish/fish.c:516
+#: fish/fish.c:521
 #, c-format
 msgid "guestfish: terminal type \"%s\" not defined.\n"
 msgstr ""
 
-#: fish/fish.c:625
+#: fish/fish.c:630
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -1780,45 +1780,45 @@ msgstr ""
 "      'quit' to quit the shell\n"
 "\n"
 
-#: fish/fish.c:712
+#: fish/fish.c:717
 #, c-format
 msgid "%s: unterminated double quote\n"
 msgstr "%s: unterminated double quote\n"
 
-#: fish/fish.c:718 fish/fish.c:735
+#: fish/fish.c:723 fish/fish.c:740
 #, c-format
 msgid "%s: command arguments not separated by whitespace\n"
 msgstr "%s: கட்டளை விவாதங்கள் வொயிட்ஸ்பேஸ்ஸால் பிரிக்கப்படவில்லை\n"
 
-#: fish/fish.c:729
+#: fish/fish.c:734
 #, c-format
 msgid "%s: unterminated single quote\n"
 msgstr "%s: unterminated single quote\n"
 
-#: fish/fish.c:784
+#: fish/fish.c:789
 #, c-format
 msgid "%s: internal error parsing string at '%s'\n"
 msgstr "%s: அகப்பிழையை '%s' சரத்தில் பகுக்கிறது\n"
 
-#: fish/fish.c:801
+#: fish/fish.c:806
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: அதிக விவாதங்கள்\n"
 
-#: fish/fish.c:830
+#: fish/fish.c:835
 #, c-format
 msgid "%s: empty command on command line\n"
 msgstr "%s: கட்டளை வரியில் காலியான கட்டளை\n"
 
-#: fish/fish.c:971
+#: fish/fish.c:976
 msgid "display a list of commands or help on a command"
 msgstr "கட்டளைகளின் ஒரு பட்டியலைக் காட்டு அல்லது ஒரு கட்டளையில் உதவு"
 
-#: fish/fish.c:973
+#: fish/fish.c:978
 msgid "quit guestfish"
 msgstr "guestfishஐ நிறுத்து"
 
-#: fish/fish.c:984
+#: fish/fish.c:989
 #, c-format
 msgid ""
 "help - display a list of commands or help on a command\n"
@@ -1829,7 +1829,7 @@ msgstr ""
 "     help cmd\n"
 "     help\n"
 
-#: fish/fish.c:992
+#: fish/fish.c:997
 #, c-format
 msgid ""
 "quit - quit guestfish\n"
@@ -1838,13 +1838,13 @@ msgstr ""
 "quit - guestfishஐ நிறுத்து\n"
 "     quit\n"
 
-#: fish/fish.c:997
+#: fish/fish.c:1002
 #, c-format
 msgid "%s: command not known, use -h to list all commands\n"
 msgstr ""
 "%s: கட்டளை என்னவென்று தெரியவில்லை, அனைத்து கட்டளைகளையும் பட்டியலிட  -hஐ பயன்படுத்து\n"
 
-#: fish/fish.c:1013
+#: fish/fish.c:1018
 #, c-format
 msgid ""
 "Did you mean to open a disk image?  guestfish -a disk.img\n"
@@ -1852,12 +1852,12 @@ msgid ""
 "For complete documentation:         man guestfish\n"
 msgstr ""
 
-#: fish/fish.c:1170
+#: fish/fish.c:1175
 #, c-format
 msgid "Runaway quote in string \"%s\"\n"
 msgstr "Runaway quote in string \"%s\"\n"
 
-#: fish/fish.c:1506
+#: fish/fish.c:1511
 #, c-format
 msgid "Enter key or passphrase (\"%s\"): "
 msgstr ""
@@ -2209,13 +2209,13 @@ msgstr ""
 "  -v|--verbose         Verbose messages\n"
 "  -V|--version         Display version and exit\n"
 
-#: fuse/guestmount.c:1084
+#: fuse/guestmount.c:1089
 #, fuzzy, c-format
 msgid "%s: must have at least one -a/-d and at least one -m/-i option\n"
 msgstr ""
 "%s: விருப்பத்தில் குறைந்தபட்சம் ஒரு -a மற்றும் குறைந்தபட்சம் ஒரு -m ஐ பெற்றிருக்க வேண்டும்\n"
 
-#: fuse/guestmount.c:1092
+#: fuse/guestmount.c:1097
 #, c-format
 msgid "%s: you must specify a mountpoint in the host filesystem\n"
 msgstr "%s: புரவல கோப்புமுறைமையில் ஒரு ஏறும்புள்ளியை நீங்கள் குறிப்பிட வேண்டும்\n"
@@ -2358,28 +2358,39 @@ msgstr "திரும்பும் வரிகள் ஒரு பாணி
 msgid "{filename}: could not read initrd format"
 msgstr ""
 
-#: src/appliance.c:138
+#: src/appliance.c:142
 #, c-format
 msgid ""
 "cannot find any suitable libguestfs supermin or ordinary appliance on "
 "LIBGUESTFS_PATH (search path: %s)"
 msgstr ""
 
-#: src/appliance.c:353
+#: src/appliance.c:358
 #, fuzzy, c-format
 msgid "failed to create temporary cache directory: %m"
 msgstr "ஒரு தற்காலிக அடைவினை உருவாக்கு"
 
-#: src/appliance.c:441
+#: src/appliance.c:446
 #, fuzzy, c-format
 msgid "error renaming temporary cache directory: %m"
 msgstr "ஒரு தற்காலிக அடைவினை உருவாக்கு"
 
-#: src/appliance.c:517
+#: src/appliance.c:522
 #, fuzzy
 msgid "external command failed, see earlier error messages"
 msgstr "guestfs_launch தோல்வியுற்றது, முந்தைய பிழைச் செய்தியைப் பார்"
 
+#: src/filearch.c:153
+#, c-format
+msgid "size of %s unreasonable (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/filearch.c:266
+msgid ""
+"file-architecture API not available since this version of libguestfs was "
+"compiled without PCRE or libmagic libraries"
+msgstr ""
+
 #: src/guestfs.c:178
 #, c-format
 msgid "guestfs_close: called twice on the same handle\n"
@@ -2390,31 +2401,57 @@ msgstr "guestfs_close: அதே ஹாண்டலில் இரண்டு
 msgid "libguestfs: error: %s\n"
 msgstr "libguestfs: error: %s\n"
 
-#: src/guestfs.c:762
+#: src/guestfs.c:778
 #, c-format
 msgid "<truncated, original size %zu bytes>"
 msgstr ""
 
-#: src/inspect.c:1077
+#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279
+#, c-format
+msgid "size of %s is unreasonably large (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/inspect.c:591
+#, fuzzy
+msgid "could not parse /etc/fstab or empty file"
+msgstr "'%s'க்கான பகுப்பு அளவை குறிப்பிட முடியவில்லை\n"
+
+#: src/inspect.c:784
 #, c-format
 msgid "cannot resolve Windows %%SYSTEMROOT%%"
 msgstr ""
 
-#: src/inspect.c:1293
+#: src/inspect.c:972
+#, fuzzy, c-format
+msgid "could not parse integer in version number: %s"
+msgstr "'%s'க்கான பகுப்பு அளவை குறிப்பிட முடியவில்லை\n"
+
+#: src/inspect.c:982
 msgid "no inspection data: call guestfs_inspect_os first"
 msgstr ""
 
-#: src/inspect.c:1305
+#: src/inspect.c:994
 #, c-format
 msgid ""
 "%s: root device not found: only call this function with a root device "
 "previously returned by guestfs_inspect_os"
 msgstr ""
 
-#: src/inspect.c:1400
+#: src/inspect.c:1089
 msgid "not a Windows guest, or systemroot could not be determined"
 msgstr ""
 
+#: src/inspect.c:1288
+#, c-format
+msgid "%s: file is empty"
+msgstr ""
+
+#: src/inspect.c:1305
+msgid ""
+"inspection API not available since this version of libguestfs was compiled "
+"without PCRE or hivex libraries"
+msgstr ""
+
 #: src/launch.c:94
 msgid "command line cannot be altered after qemu subprocess launched"
 msgstr "command line cannot be altered after qemu subprocess launched"
index a616a2c..cedcb4f 100644 (file)
--- a/po/te.po
+++ b/po/te.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: libguestfs.master.libguestfs\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2010-11-05 15:20+0000\n"
+"POT-Creation-Date: 2010-11-18 12:58+0000\n"
 "PO-Revision-Date: 2010-01-27 20:03+0530\n"
 "Last-Translator: Krishna Babu K <kkrothap@redhat.com>\n"
 "Language-Team: Telugu <en@li.org>\n"
@@ -1710,58 +1710,58 @@ msgstr ""
 "  -V|--version         Display version and exit\n"
 "For more information,  see the manpage %s(1).\n"
 
-#: fish/fish.c:201 fuse/guestmount.c:975
+#: fish/fish.c:202 fuse/guestmount.c:976
 #, c-format
 msgid "guestfs_create: failed to create handle\n"
 msgstr "guestfs_create: సంభాలికను సృష్టించుటకు విఫలమైంది\n"
 
-#: fish/fish.c:238
+#: fish/fish.c:239
 #, c-format
 msgid "%s: --listen=PID: PID was not a number: %s\n"
 msgstr "%s: --listen=PID: PID సంఖ్య కాదు: %s\n"
 
-#: fish/fish.c:245
+#: fish/fish.c:246
 #, c-format
 msgid ""
 "%s: remote: $GUESTFISH_PID must be set to the PID of the remote process\n"
 msgstr "%s: remote: $GUESTFISH_PID అనునది రిమోట్ కార్యక్రమము యొక్క PIDకు అమర్చాలి\n"
 
-#: fish/fish.c:267 fuse/guestmount.c:1020
+#: fish/fish.c:268 fuse/guestmount.c:1021
 #, c-format
 msgid "%s: unknown long option: %s (%d)\n"
 msgstr "%s: తెలియని long ఐచ్చికము: %s (%d)\n"
 
-#: fish/fish.c:291
+#: fish/fish.c:292
 #, c-format
 msgid "%s: only one -f parameter can be given\n"
 msgstr "%s: ఒక -f పారామితి మాత్రమే యివ్వగలము\n"
 
-#: fish/fish.c:441
+#: fish/fish.c:446
 #, c-format
 msgid "%s: cannot use --listen and --remote options at the same time\n"
 msgstr "%s: ఒకే సమయం వద్ద --listen మరియు --remote ఐచ్చికాలను వుపయోగించలేము\n"
 
-#: fish/fish.c:449
+#: fish/fish.c:454
 #, c-format
 msgid "%s: extra parameters on the command line with --listen flag\n"
 msgstr "%s: --listen ఫ్లాగ్‌తో ఆదేశ వరుసపై అదనపు పారామితులు\n"
 
-#: fish/fish.c:455
+#: fish/fish.c:460
 #, c-format
 msgid "%s: cannot use --listen and --file options at the same time\n"
 msgstr "%s: ఒకే సమయంలో --listen మరియు --file ఐచ్చికాలను వుపయోగించలేము\n"
 
-#: fish/fish.c:512
+#: fish/fish.c:517
 #, c-format
 msgid "guestfish: could not access termcap or terminfo database.\n"
 msgstr ""
 
-#: fish/fish.c:516
+#: fish/fish.c:521
 #, c-format
 msgid "guestfish: terminal type \"%s\" not defined.\n"
 msgstr ""
 
-#: fish/fish.c:625
+#: fish/fish.c:630
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -1781,45 +1781,45 @@ msgstr ""
 "      'quit' షెల్ నిష్క్రమించుటకు\n"
 "\n"
 
-#: fish/fish.c:712
+#: fish/fish.c:717
 #, c-format
 msgid "%s: unterminated double quote\n"
 msgstr "%s: మూయని డబుల్ కోట్\n"
 
-#: fish/fish.c:718 fish/fish.c:735
+#: fish/fish.c:723 fish/fish.c:740
 #, c-format
 msgid "%s: command arguments not separated by whitespace\n"
 msgstr "%s: వెట్‌స్పేస్ ద్వారా వేరుచేయబడిన కమాండ్ ఆర్గుమెంట్స్\n"
 
-#: fish/fish.c:729
+#: fish/fish.c:734
 #, c-format
 msgid "%s: unterminated single quote\n"
 msgstr "%s: మూయని సింగిల్ కోట్\n"
 
-#: fish/fish.c:784
+#: fish/fish.c:789
 #, c-format
 msgid "%s: internal error parsing string at '%s'\n"
 msgstr "%s: '%s'వద్ద స్ట్రింగును పార్శ్ చేయుటలో అంతర్గత దోషము\n"
 
-#: fish/fish.c:801
+#: fish/fish.c:806
 #, c-format
 msgid "%s: too many arguments\n"
 msgstr "%s: చాలా యెక్కువ ఆర్గుమెంట్లు\n"
 
-#: fish/fish.c:830
+#: fish/fish.c:835
 #, c-format
 msgid "%s: empty command on command line\n"
 msgstr "%s: ఆదేశ వరుసపై ఖాళీ ఆదేశము\n"
 
-#: fish/fish.c:971
+#: fish/fish.c:976
 msgid "display a list of commands or help on a command"
 msgstr "ఆదేశముల జాబితాను లేదా ఆదేశముపై సహాయమును ప్రదర్శించుము"
 
-#: fish/fish.c:973
+#: fish/fish.c:978
 msgid "quit guestfish"
 msgstr "guestfish నిష్క్రమించుము"
 
-#: fish/fish.c:984
+#: fish/fish.c:989
 #, c-format
 msgid ""
 "help - display a list of commands or help on a command\n"
@@ -1830,7 +1830,7 @@ msgstr ""
 "     help cmd\n"
 "     help\n"
 
-#: fish/fish.c:992
+#: fish/fish.c:997
 #, c-format
 msgid ""
 "quit - quit guestfish\n"
@@ -1839,12 +1839,12 @@ msgstr ""
 "quit - guestfish నిష్క్రమించును\n"
 "     quit\n"
 
-#: fish/fish.c:997
+#: fish/fish.c:1002
 #, c-format
 msgid "%s: command not known, use -h to list all commands\n"
 msgstr "%s: తెలియని ఆదేశము, అన్ని ఆదేశములను జాబితాచేయుటకు -h వుపయోగించుము\n"
 
-#: fish/fish.c:1013
+#: fish/fish.c:1018
 #, c-format
 msgid ""
 "Did you mean to open a disk image?  guestfish -a disk.img\n"
@@ -1852,12 +1852,12 @@ msgid ""
 "For complete documentation:         man guestfish\n"
 msgstr ""
 
-#: fish/fish.c:1170
+#: fish/fish.c:1175
 #, c-format
 msgid "Runaway quote in string \"%s\"\n"
 msgstr "\"%s\" స్ట్రింగునందు రన్‌యెవే స్ట్రింగ్\n"
 
-#: fish/fish.c:1506
+#: fish/fish.c:1511
 #, c-format
 msgid "Enter key or passphrase (\"%s\"): "
 msgstr ""
@@ -2207,12 +2207,12 @@ msgstr ""
 "  -v|--verbose         Verbose messages\n"
 "  -V|--version         Display version and exit\n"
 
-#: fuse/guestmount.c:1084
+#: fuse/guestmount.c:1089
 #, fuzzy, c-format
 msgid "%s: must have at least one -a/-d and at least one -m/-i option\n"
 msgstr "%s: తప్పక కనీసం వొక -a మరియు వొక -m ఐచ్చికాన్ని కలిగివుండాలి\n"
 
-#: fuse/guestmount.c:1092
+#: fuse/guestmount.c:1097
 #, c-format
 msgid "%s: you must specify a mountpoint in the host filesystem\n"
 msgstr "%s:హోస్టు ఫైల్‌సిస్టమ్ నందు మీరు తప్పక వొక మౌంట్‌పాయింట్‌ను తెలుపవలెను\n"
@@ -2355,28 +2355,39 @@ msgstr "మాదిరిని పోలిన వరుసలను తిప
 msgid "{filename}: could not read initrd format"
 msgstr ""
 
-#: src/appliance.c:138
+#: src/appliance.c:142
 #, c-format
 msgid ""
 "cannot find any suitable libguestfs supermin or ordinary appliance on "
 "LIBGUESTFS_PATH (search path: %s)"
 msgstr ""
 
-#: src/appliance.c:353
+#: src/appliance.c:358
 #, fuzzy, c-format
 msgid "failed to create temporary cache directory: %m"
 msgstr "తాత్కాలిక డైరెక్టరీను సృష్టించుము"
 
-#: src/appliance.c:441
+#: src/appliance.c:446
 #, fuzzy, c-format
 msgid "error renaming temporary cache directory: %m"
 msgstr "తాత్కాలిక డైరెక్టరీను సృష్టించుము"
 
-#: src/appliance.c:517
+#: src/appliance.c:522
 #, fuzzy
 msgid "external command failed, see earlier error messages"
 msgstr "guestfs_launch విఫలమైంది, ముందలి దోషపు సందేశములను చూడుము"
 
+#: src/filearch.c:153
+#, c-format
+msgid "size of %s unreasonable (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/filearch.c:266
+msgid ""
+"file-architecture API not available since this version of libguestfs was "
+"compiled without PCRE or libmagic libraries"
+msgstr ""
+
 #: src/guestfs.c:178
 #, c-format
 msgid "guestfs_close: called twice on the same handle\n"
@@ -2387,31 +2398,57 @@ msgstr "guestfs_close: ఒకే సంభాలికపై రెండుస
 msgid "libguestfs: error: %s\n"
 msgstr "libguestfs: దోషము: %s\n"
 
-#: src/guestfs.c:762
+#: src/guestfs.c:778
 #, c-format
 msgid "<truncated, original size %zu bytes>"
 msgstr ""
 
-#: src/inspect.c:1077
+#: src/inspect.c:388 src/inspect.c:1186 src/inspect.c:1229 src/inspect.c:1279
+#, c-format
+msgid "size of %s is unreasonably large (%<PRIi64> bytes)"
+msgstr ""
+
+#: src/inspect.c:591
+#, fuzzy
+msgid "could not parse /etc/fstab or empty file"
+msgstr "పరిమాణ వివరణలను పార్శ్ చేయలేకపోయింది '%s'\n"
+
+#: src/inspect.c:784
 #, c-format
 msgid "cannot resolve Windows %%SYSTEMROOT%%"
 msgstr ""
 
-#: src/inspect.c:1293
+#: src/inspect.c:972
+#, fuzzy, c-format
+msgid "could not parse integer in version number: %s"
+msgstr "పరిమాణ వివరణలను పార్శ్ చేయలేకపోయింది '%s'\n"
+
+#: src/inspect.c:982
 msgid "no inspection data: call guestfs_inspect_os first"
 msgstr ""
 
-#: src/inspect.c:1305
+#: src/inspect.c:994
 #, c-format
 msgid ""
 "%s: root device not found: only call this function with a root device "
 "previously returned by guestfs_inspect_os"
 msgstr ""
 
-#: src/inspect.c:1400
+#: src/inspect.c:1089
 msgid "not a Windows guest, or systemroot could not be determined"
 msgstr ""
 
+#: src/inspect.c:1288
+#, c-format
+msgid "%s: file is empty"
+msgstr ""
+
+#: src/inspect.c:1305
+msgid ""
+"inspection API not available since this version of libguestfs was compiled "
+"without PCRE or hivex libraries"
+msgstr ""
+
 #: src/launch.c:94
 msgid "command line cannot be altered after qemu subprocess launched"
 msgstr "qemu వుపకార్యక్రమము ఆరంభించిన తర్వాత ఆదేశ వరుస మార్చబడలేదు"