+" guestfs_tail_n (guestfs_h *g,\n"
+" int nrlines,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6568 ../fish/guestfish-actions.pod:4424
+msgid ""
+"If the parameter C<nrlines> is a positive number, this returns the last "
+"C<nrlines> lines of the file C<path>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6571 ../fish/guestfish-actions.pod:4427
+msgid ""
+"If the parameter C<nrlines> is a negative number, this returns lines from "
+"the file C<path>, starting with the C<-nrlines>th line."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6585
+msgid "guestfs_tar_in"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6587
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_tar_in (guestfs_h *g,\n"
+" const char *tarfile,\n"
+" const char *directory);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6592 ../fish/guestfish-actions.pod:4439
+msgid ""
+"This command uploads and unpacks local file C<tarfile> (an I<uncompressed> "
+"tar file) into C<directory>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6595
+msgid "To upload a compressed tarball, use C<guestfs_tgz_in> or C<guestfs_txz_in>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6600 ../src/guestfs-actions.pod:6617 ../src/guestfs-actions.pod:6633 ../src/guestfs-actions.pod:6649
+msgid "(Added in 1.0.3)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6602
+msgid "guestfs_tar_out"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6604
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_tar_out (guestfs_h *g,\n"
+" const char *directory,\n"
+" const char *tarfile);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6609 ../fish/guestfish-actions.pod:4451
+msgid ""
+"This command packs the contents of C<directory> and downloads it to local "
+"file C<tarfile>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6612
+msgid ""
+"To download a compressed tarball, use C<guestfs_tgz_out> or "
+"C<guestfs_txz_out>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6619
+msgid "guestfs_tgz_in"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6621
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_tgz_in (guestfs_h *g,\n"
+" const char *tarball,\n"
+" const char *directory);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6626 ../fish/guestfish-actions.pod:4463
+msgid ""
+"This command uploads and unpacks local file C<tarball> (a I<gzip compressed> "
+"tar file) into C<directory>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6629
+msgid "To upload an uncompressed tarball, use C<guestfs_tar_in>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6635
+msgid "guestfs_tgz_out"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6637
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_tgz_out (guestfs_h *g,\n"
+" const char *directory,\n"
+" const char *tarball);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6642 ../fish/guestfish-actions.pod:4474
+msgid ""
+"This command packs the contents of C<directory> and downloads it to local "
+"file C<tarball>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6645
+msgid "To download an uncompressed tarball, use C<guestfs_tar_out>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6651
+msgid "guestfs_touch"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6653
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_touch (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6657 ../fish/guestfish-actions.pod:4485
+msgid ""
+"Touch acts like the L<touch(1)> command. It can be used to update the "
+"timestamps on a file, or, if the file does not exist, to create a new "
+"zero-length file."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6661 ../fish/guestfish-actions.pod:4489
+msgid ""
+"This command only works on regular files, and will fail on other file types "
+"such as directories, symbolic links, block special etc."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6668
+msgid "guestfs_truncate"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6670
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_truncate (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6674 ../fish/guestfish-actions.pod:4496
+msgid ""
+"This command truncates C<path> to a zero-length file. The file must exist "
+"already."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6681
+msgid "guestfs_truncate_size"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6683
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_truncate_size (guestfs_h *g,\n"
+" const char *path,\n"
+" int64_t size);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6688 ../fish/guestfish-actions.pod:4503
+msgid ""
+"This command truncates C<path> to size C<size> bytes. The file must exist "
+"already."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6691
+msgid ""
+"If the current file size is less than C<size> then the file is extended to "
+"the required size with zero bytes. This creates a sparse file (ie. disk "
+"blocks are not allocated for the file until you write to it). To create a "
+"non-sparse file of zeroes, use C<guestfs_fallocate64> instead."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6701
+msgid "guestfs_tune2fs_l"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6703
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_tune2fs_l (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6707 ../fish/guestfish-actions.pod:4516
+msgid ""
+"This returns the contents of the ext2, ext3 or ext4 filesystem superblock on "
+"C<device>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6710 ../fish/guestfish-actions.pod:4519
+msgid ""
+"It is the same as running C<tune2fs -l device>. See L<tune2fs(8)> manpage "
+"for more details. The list of fields returned isn't clearly defined, and "
+"depends on both the version of C<tune2fs> that libguestfs was built against, "
+"and the filesystem itself."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6723
+msgid "guestfs_txz_in"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6725
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_txz_in (guestfs_h *g,\n"
+" const char *tarball,\n"
+" const char *directory);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6730 ../fish/guestfish-actions.pod:4528
+msgid ""
+"This command uploads and unpacks local file C<tarball> (an I<xz compressed> "
+"tar file) into C<directory>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6737
+msgid "guestfs_txz_out"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6739
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_txz_out (guestfs_h *g,\n"
+" const char *directory,\n"
+" const char *tarball);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6744 ../fish/guestfish-actions.pod:4537
+msgid ""
+"This command packs the contents of C<directory> and downloads it to local "
+"file C<tarball> (as an xz compressed tar archive)."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6751
+msgid "guestfs_umask"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6753
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_umask (guestfs_h *g,\n"
+" int mask);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6757 ../fish/guestfish-actions.pod:4546
+msgid ""
+"This function sets the mask used for creating new files and device nodes to "
+"C<mask & 0777>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6760 ../fish/guestfish-actions.pod:4549
+msgid ""
+"Typical umask values would be C<022> which creates new files with "
+"permissions like \"-rw-r--r--\" or \"-rwxr-xr-x\", and C<002> which creates "
+"new files with permissions like \"-rw-rw-r--\" or \"-rwxrwxr-x\"."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6765 ../fish/guestfish-actions.pod:4554
+msgid ""
+"The default umask is C<022>. This is important because it means that "
+"directories and device nodes will be created with C<0644> or C<0755> mode "
+"even if you specify C<0777>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6769
+msgid ""
+"See also C<guestfs_get_umask>, L<umask(2)>, C<guestfs_mknod>, "
+"C<guestfs_mkdir>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6772 ../fish/guestfish-actions.pod:4561
+msgid "This call returns the previous umask."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6778
+msgid "guestfs_umount"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6780
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_umount (guestfs_h *g,\n"
+" const char *pathordevice);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6784 ../fish/guestfish-actions.pod:4569
+msgid ""
+"This unmounts the given filesystem. The filesystem may be specified either "
+"by its mountpoint (path) or the device which contains the filesystem."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6792
+msgid "guestfs_umount_all"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6794
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_umount_all (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6797 ../fish/guestfish-actions.pod:4579
+msgid "This unmounts all mounted filesystems."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6799 ../fish/guestfish-actions.pod:4581
+msgid "Some internal mounts are not unmounted by this call."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6805
+msgid "guestfs_upload"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6807
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_upload (guestfs_h *g,\n"
+" const char *filename,\n"
+" const char *remotefilename);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6812 ../src/guestfs-actions.pod:6836 ../fish/guestfish-actions.pod:4587 ../fish/guestfish-actions.pod:4600
+msgid "Upload local file C<filename> to C<remotefilename> on the filesystem."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6817
+msgid "See also C<guestfs_download>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6828
+msgid "guestfs_upload_offset"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6830
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_upload_offset (guestfs_h *g,\n"
+" const char *filename,\n"
+" const char *remotefilename,\n"
+" int64_t offset);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6839 ../fish/guestfish-actions.pod:4603
+msgid ""
+"C<remotefilename> is overwritten starting at the byte C<offset> specified. "
+"The intention is to overwrite parts of existing files or devices, although "
+"if a non-existant file is specified then it is created with a \"hole\" "
+"before C<offset>. The size of the data written is implicit in the size of "
+"the source C<filename>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6846
+msgid ""
+"Note that there is no limit on the amount of data that can be uploaded with "
+"this call, unlike with C<guestfs_pwrite>, and this call always writes the "
+"full amount unless an error occurs."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6851
+msgid "See also C<guestfs_upload>, C<guestfs_pwrite>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6862
+msgid "guestfs_utimens"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6864
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_utimens (guestfs_h *g,\n"
+" const char *path,\n"
+" int64_t atsecs,\n"
+" int64_t atnsecs,\n"
+" int64_t mtsecs,\n"
+" int64_t mtnsecs);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6872 ../fish/guestfish-actions.pod:4623
+msgid "This command sets the timestamps of a file with nanosecond precision."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6875 ../fish/guestfish-actions.pod:4626
+msgid ""
+"C<atsecs, atnsecs> are the last access time (atime) in secs and nanoseconds "
+"from the epoch."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6878 ../fish/guestfish-actions.pod:4629
+msgid ""
+"C<mtsecs, mtnsecs> are the last modification time (mtime) in secs and "
+"nanoseconds from the epoch."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6881 ../fish/guestfish-actions.pod:4632
+msgid ""
+"If the C<*nsecs> field contains the special value C<-1> then the "
+"corresponding timestamp is set to the current time. (The C<*secs> field is "
+"ignored in this case)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6885 ../fish/guestfish-actions.pod:4636
+msgid ""
+"If the C<*nsecs> field contains the special value C<-2> then the "
+"corresponding timestamp is left unchanged. (The C<*secs> field is ignored "
+"in this case)."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6893 ../src/guestfs-structs.pod:175
+msgid "guestfs_version"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6895
+#, no-wrap
+msgid ""
+" struct guestfs_version *\n"
+" guestfs_version (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6898 ../fish/guestfish-actions.pod:4644
+msgid "Return the libguestfs version number that the program is linked against."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6901 ../fish/guestfish-actions.pod:4647
+msgid ""
+"Note that because of dynamic linking this is not necessarily the version of "
+"libguestfs that you compiled against. You can compile the program, and then "
+"at runtime dynamically link against a completely different C<libguestfs.so> "
+"library."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6906 ../fish/guestfish-actions.pod:4652
+msgid ""
+"This call was added in version C<1.0.58>. In previous versions of "
+"libguestfs there was no way to get the version number. From C code you can "
+"use dynamic linker functions to find out if this symbol exists (if it "
+"doesn't, then it's an earlier version)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6912 ../fish/guestfish-actions.pod:4658
+msgid ""
+"The call returns a structure with four elements. The first three (C<major>, "
+"C<minor> and C<release>) are numbers and correspond to the usual version "
+"triplet. The fourth element (C<extra>) is a string and is normally empty, "
+"but may be used for distro-specific information."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6918 ../fish/guestfish-actions.pod:4664
+msgid "To construct the original version string: C<$major.$minor.$release$extra>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6921 ../fish/guestfish-actions.pod:4667
+msgid "See also: L<guestfs(3)/LIBGUESTFS VERSION NUMBERS>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6923
+msgid ""
+"I<Note:> Don't use this call to test for availability of features. In "
+"enterprise distributions we backport features from later versions into "
+"earlier versions, making this an unreliable way to test for features. Use "
+"C<guestfs_available> instead."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6929
+msgid ""
+"This function returns a C<struct guestfs_version *>, or NULL if there was an "
+"error. I<The caller must call C<guestfs_free_version> after use>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6933
+msgid "(Added in 1.0.58)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6935
+msgid "guestfs_vfs_label"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6937
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_vfs_label (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6941 ../fish/guestfish-actions.pod:4679
+msgid "This returns the filesystem label of the filesystem on C<device>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6944 ../fish/guestfish-actions.pod:4682
+msgid "If the filesystem is unlabeled, this returns the empty string."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6946
+msgid "To find a filesystem from the label, use C<guestfs_findfs_label>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6951 ../src/guestfs-actions.pod:6988
+msgid "(Added in 1.3.18)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6953
+msgid "guestfs_vfs_type"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6955
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_vfs_type (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6959 ../fish/guestfish-actions.pod:4690
+msgid ""
+"This command gets the filesystem type corresponding to the filesystem on "
+"C<device>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6962 ../fish/guestfish-actions.pod:4693
+msgid ""
+"For most filesystems, the result is the name of the Linux VFS module which "
+"would be used to mount this filesystem if you mounted it without specifying "
+"the filesystem type. For example a string such as C<ext3> or C<ntfs>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6972
+msgid "guestfs_vfs_uuid"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6974
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_vfs_uuid (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6978 ../fish/guestfish-actions.pod:4702
+msgid "This returns the filesystem UUID of the filesystem on C<device>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6981 ../fish/guestfish-actions.pod:4705
+msgid "If the filesystem does not have a UUID, this returns the empty string."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6983
+msgid "To find a filesystem from the UUID, use C<guestfs_findfs_uuid>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6990
+msgid "guestfs_vg_activate"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6992
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_vg_activate (guestfs_h *g,\n"
+" int activate,\n"
+" char *const *volgroups);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6997 ../fish/guestfish-actions.pod:4713
+msgid ""
+"This command activates or (if C<activate> is false) deactivates all logical "
+"volumes in the listed volume groups C<volgroups>. If activated, then they "
+"are made known to the kernel, ie. they appear as C</dev/mapper> devices. If "
+"deactivated, then those devices disappear."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7003 ../fish/guestfish-actions.pod:4719
+msgid "This command is the same as running C<vgchange -a y|n volgroups...>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7005 ../fish/guestfish-actions.pod:4721
+msgid ""
+"Note that if C<volgroups> is an empty list then B<all> volume groups are "
+"activated or deactivated."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7012
+msgid "guestfs_vg_activate_all"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7014
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_vg_activate_all (guestfs_h *g,\n"
+" int activate);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7018 ../fish/guestfish-actions.pod:4728
+msgid ""
+"This command activates or (if C<activate> is false) deactivates all logical "
+"volumes in all volume groups. If activated, then they are made known to the "
+"kernel, ie. they appear as C</dev/mapper> devices. If deactivated, then "
+"those devices disappear."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7024 ../fish/guestfish-actions.pod:4734
+msgid "This command is the same as running C<vgchange -a y|n>"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7030
+msgid "guestfs_vgcreate"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7032
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_vgcreate (guestfs_h *g,\n"
+" const char *volgroup,\n"
+" char *const *physvols);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7037 ../fish/guestfish-actions.pod:4740
+msgid ""
+"This creates an LVM volume group called C<volgroup> from the non-empty list "
+"of physical volumes C<physvols>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7044
+msgid "guestfs_vglvuuids"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7046
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_vglvuuids (guestfs_h *g,\n"
+" const char *vgname);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7050 ../fish/guestfish-actions.pod:4747
+msgid ""
+"Given a VG called C<vgname>, this returns the UUIDs of all the logical "
+"volumes created in this volume group."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7053
+msgid ""
+"You can use this along with C<guestfs_lvs> and C<guestfs_lvuuid> calls to "
+"associate logical volumes and volume groups."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7056
+msgid "See also C<guestfs_vgpvuuids>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7064
+msgid "guestfs_vgpvuuids"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7066
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_vgpvuuids (guestfs_h *g,\n"
+" const char *vgname);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7070 ../fish/guestfish-actions.pod:4759
+msgid ""
+"Given a VG called C<vgname>, this returns the UUIDs of all the physical "
+"volumes that this volume group resides on."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7073
+msgid ""
+"You can use this along with C<guestfs_pvs> and C<guestfs_pvuuid> calls to "
+"associate physical volumes and volume groups."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7076
+msgid "See also C<guestfs_vglvuuids>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7084
+msgid "guestfs_vgremove"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7086
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_vgremove (guestfs_h *g,\n"
+" const char *vgname);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7090 ../fish/guestfish-actions.pod:4771
+msgid "Remove an LVM volume group C<vgname>, (for example C<VG>)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7092 ../fish/guestfish-actions.pod:4773
+msgid "This also forcibly removes all logical volumes in the volume group (if any)."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7099
+msgid "guestfs_vgrename"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7101
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_vgrename (guestfs_h *g,\n"
+" const char *volgroup,\n"
+" const char *newvolgroup);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7106 ../fish/guestfish-actions.pod:4780
+msgid "Rename a volume group C<volgroup> with the new name C<newvolgroup>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7112
+msgid "guestfs_vgs"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7114
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_vgs (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7117 ../fish/guestfish-actions.pod:4786
+msgid ""
+"List all the volumes groups detected. This is the equivalent of the "
+"L<vgs(8)> command."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7120 ../fish/guestfish-actions.pod:4789
+msgid ""
+"This returns a list of just the volume group names that were detected "
+"(eg. C<VolGroup00>)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7123
+msgid "See also C<guestfs_vgs_full>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7131
+msgid "guestfs_vgs_full"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7133
+#, no-wrap
+msgid ""
+" struct guestfs_lvm_vg_list *\n"
+" guestfs_vgs_full (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7136 ../fish/guestfish-actions.pod:4798
+msgid ""
+"List all the volumes groups detected. This is the equivalent of the "
+"L<vgs(8)> command. The \"full\" version includes all fields."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7139
+msgid ""
+"This function returns a C<struct guestfs_lvm_vg_list *>, or NULL if there "
+"was an error. I<The caller must call C<guestfs_free_lvm_vg_list> after "
+"use>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7145
+msgid "guestfs_vgscan"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7147
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_vgscan (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7150 ../fish/guestfish-actions.pod:4805
+msgid ""
+"This rescans all block devices and rebuilds the list of LVM physical "
+"volumes, volume groups and logical volumes."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7157
+msgid "guestfs_vguuid"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7159
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_vguuid (guestfs_h *g,\n"
+" const char *vgname);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7163 ../fish/guestfish-actions.pod:4812
+msgid "This command returns the UUID of the LVM VG named C<vgname>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7170
+msgid "guestfs_wait_ready"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7172
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_wait_ready (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7175
+msgid "This function is a no op."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7177
+msgid ""
+"In versions of the API E<lt> 1.0.71 you had to call this function just after "
+"calling C<guestfs_launch> to wait for the launch to complete. However this "
+"is no longer necessary because C<guestfs_launch> now does the waiting."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7182
+msgid ""
+"If you see any calls to this function in code then you can just remove them, "
+"unless you want to retain compatibility with older versions of the API."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7190
+msgid "guestfs_wc_c"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7192
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_wc_c (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7196 ../fish/guestfish-actions.pod:4818
+msgid ""
+"This command counts the characters in a file, using the C<wc -c> external "
+"command."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7203
+msgid "guestfs_wc_l"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7205
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_wc_l (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7209 ../fish/guestfish-actions.pod:4825
+msgid ""
+"This command counts the lines in a file, using the C<wc -l> external "
+"command."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7216
+msgid "guestfs_wc_w"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7218
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_wc_w (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7222 ../fish/guestfish-actions.pod:4832
+msgid ""
+"This command counts the words in a file, using the C<wc -w> external "
+"command."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7229
+msgid "guestfs_write"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7231
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_write (guestfs_h *g,\n"
+" const char *path,\n"
+" const char *content,\n"
+" size_t content_size);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7237 ../fish/guestfish-actions.pod:4839
+msgid ""
+"This call creates a file called C<path>. The content of the file is the "
+"string C<content> (which can contain any 8 bit data)."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7247
+msgid "guestfs_write_file"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7249
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_write_file (guestfs_h *g,\n"
+" const char *path,\n"
+" const char *content,\n"
+" int size);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7255 ../fish/guestfish-actions.pod:4849
+msgid ""
+"This call creates a file called C<path>. The contents of the file is the "
+"string C<content> (which can contain any 8 bit data), with length C<size>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7259 ../fish/guestfish-actions.pod:4853
+msgid ""
+"As a special case, if C<size> is C<0> then the length is calculated using "
+"C<strlen> (so in this case the content cannot contain embedded ASCII NULs)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7263 ../fish/guestfish-actions.pod:4857
+msgid ""
+"I<NB.> Owing to a bug, writing content containing ASCII NUL characters does "
+"I<not> work, even if the length is specified."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7271 ../fish/guestfish-actions.pod:4863
+msgid "This function is deprecated. In new code, use the C<write> call instead."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7280
+msgid "guestfs_zegrep"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7282
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_zegrep (guestfs_h *g,\n"
+" const char *regex,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7287 ../fish/guestfish-actions.pod:4874
+msgid "This calls the external C<zegrep> program and returns the matching lines."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7299
+msgid "guestfs_zegrepi"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7301
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_zegrepi (guestfs_h *g,\n"
+" const char *regex,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7306 ../fish/guestfish-actions.pod:4884
+msgid "This calls the external C<zegrep -i> program and returns the matching lines."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7318
+msgid "guestfs_zero"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7320
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_zero (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7324 ../fish/guestfish-actions.pod:4894
+msgid "This command writes zeroes over the first few blocks of C<device>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7326 ../fish/guestfish-actions.pod:4896
+msgid ""
+"How many blocks are zeroed isn't specified (but it's I<not> enough to "
+"securely wipe the device). It should be sufficient to remove any partition "
+"tables, filesystem superblocks and so on."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7330
+msgid "See also: C<guestfs_zero_device>, C<guestfs_scrub_device>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7341
+msgid "guestfs_zero_device"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7343
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_zero_device (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7347
+msgid ""
+"This command writes zeroes over the entire C<device>. Compare with "
+"C<guestfs_zero> which just zeroes the first few blocks of a device."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7361
+msgid "(Added in 1.3.1)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7363
+msgid "guestfs_zerofree"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7365
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_zerofree (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7369 ../fish/guestfish-actions.pod:4917
+msgid ""
+"This runs the I<zerofree> program on C<device>. This program claims to zero "
+"unused inodes and disk blocks on an ext2/3 filesystem, thus making it "
+"possible to compress the filesystem more effectively."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7374 ../fish/guestfish-actions.pod:4922
+msgid "You should B<not> run this program if the filesystem is mounted."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7377 ../fish/guestfish-actions.pod:4925
+msgid ""
+"It is possible that using this program can damage the filesystem or data on "
+"the filesystem."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7384
+msgid "guestfs_zfgrep"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7386
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_zfgrep (guestfs_h *g,\n"
+" const char *pattern,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7391 ../fish/guestfish-actions.pod:4932
+msgid "This calls the external C<zfgrep> program and returns the matching lines."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7403
+msgid "guestfs_zfgrepi"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7405
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_zfgrepi (guestfs_h *g,\n"
+" const char *pattern,\n"
+" const char *path);\n"
+"\n"
+msgstr ""