X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=po-docs%2Flibguestfs-docs.pot;h=4b4e98ae2e306cf04416e97966c7c2ba84faa640;hb=408c28f588adc884e9e0cb2358426a703f52d733;hp=1dc0b0d40fd7b863d832f3c2b54f8dccc506bb6f;hpb=bdfa1f282f87abab00d0eab367266f44c490c43f;p=libguestfs.git diff --git a/po-docs/libguestfs-docs.pot b/po-docs/libguestfs-docs.pot index 1dc0b0d..4b4e98a 100644 --- a/po-docs/libguestfs-docs.pot +++ b/po-docs/libguestfs-docs.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: libguestfs 1.12.7\n" +"Project-Id-Version: libguestfs 1.12.9\n" "Report-Msgid-Bugs-To: libguestfs@redhat.com\n" -"POT-Creation-Date: 2011-09-16 16:31+0200\n" +"POT-Creation-Date: 2011-10-31 09:45+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -98,7 +98,7 @@ msgid "" msgstr "" #. type: =head1 -#: ../cat/virt-cat.pod:32 ../cat/virt-ls.pod:35 ../df/virt-df.pod:43 ../edit/virt-edit.pod:44 ../fish/guestfish.pod:41 ../fish/guestfish.pod:1018 ../fish/virt-copy-in.pod:29 ../fish/virt-copy-out.pod:21 ../fish/virt-tar-in.pod:30 ../fish/virt-tar-out.pod:24 ../fuse/guestmount.pod:39 ../resize/virt-resize.pod:27 ../tools/virt-tar.pl:50 +#: ../cat/virt-cat.pod:32 ../cat/virt-ls.pod:35 ../df/virt-df.pod:43 ../edit/virt-edit.pod:44 ../fish/guestfish.pod:41 ../fish/guestfish.pod:1051 ../fish/virt-copy-in.pod:29 ../fish/virt-copy-out.pod:21 ../fish/virt-tar-in.pod:30 ../fish/virt-tar-out.pod:24 ../fuse/guestmount.pod:39 ../resize/virt-resize.pod:27 ../tools/virt-tar.pl:50 msgid "EXAMPLES" msgstr "" @@ -184,12 +184,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../cat/virt-cat.pod:62 ../cat/virt-filesystems.pod:91 ../cat/virt-ls.pod:261 ../df/virt-df.pod:59 ../edit/virt-edit.pod:62 ../fish/guestfish.pod:148 ../fish/virt-copy-in.pod:45 ../fish/virt-copy-out.pod:34 ../fish/virt-tar-in.pod:42 ../fish/virt-tar-out.pod:36 ../fuse/guestmount.pod:83 ../inspector/virt-inspector.pod:55 ../rescue/virt-rescue.pod:84 ../resize/virt-resize.pod:241 ../test-tool/libguestfs-test-tool.pod:36 ../tools/virt-list-filesystems.pl:53 ../tools/virt-list-partitions.pl:54 ../tools/virt-make-fs.pl:153 ../tools/virt-tar.pl:103 ../tools/virt-win-reg.pl:96 +#: ../cat/virt-cat.pod:62 ../cat/virt-filesystems.pod:91 ../cat/virt-ls.pod:261 ../df/virt-df.pod:59 ../edit/virt-edit.pod:62 ../fish/guestfish.pod:148 ../fish/virt-copy-in.pod:45 ../fish/virt-copy-out.pod:34 ../fish/virt-tar-in.pod:42 ../fish/virt-tar-out.pod:36 ../fuse/guestmount.pod:92 ../inspector/virt-inspector.pod:55 ../rescue/virt-rescue.pod:84 ../resize/virt-resize.pod:241 ../test-tool/libguestfs-test-tool.pod:36 ../tools/virt-list-filesystems.pl:53 ../tools/virt-list-partitions.pl:54 ../tools/virt-make-fs.pl:153 ../tools/virt-tar.pl:103 ../tools/virt-win-reg.pl:96 msgid "OPTIONS" msgstr "" #. type: =item -#: ../cat/virt-cat.pod:66 ../cat/virt-filesystems.pod:95 ../cat/virt-ls.pod:265 ../df/virt-df.pod:63 ../edit/virt-edit.pod:66 ../fish/guestfish.pod:152 ../fuse/guestmount.pod:151 ../inspector/virt-inspector.pod:59 ../rescue/virt-rescue.pod:88 ../resize/virt-resize.pod:245 ../test-tool/libguestfs-test-tool.pod:40 ../tools/virt-list-filesystems.pl:61 ../tools/virt-list-partitions.pl:62 ../tools/virt-make-fs.pl:161 ../tools/virt-tar.pl:111 ../tools/virt-win-reg.pl:104 +#: ../cat/virt-cat.pod:66 ../cat/virt-filesystems.pod:95 ../cat/virt-ls.pod:265 ../df/virt-df.pod:63 ../edit/virt-edit.pod:66 ../fish/guestfish.pod:152 ../fuse/guestmount.pod:160 ../inspector/virt-inspector.pod:59 ../rescue/virt-rescue.pod:88 ../resize/virt-resize.pod:245 ../test-tool/libguestfs-test-tool.pod:40 ../tools/virt-list-filesystems.pl:61 ../tools/virt-list-partitions.pl:62 ../tools/virt-make-fs.pl:161 ../tools/virt-tar.pl:111 ../tools/virt-win-reg.pl:104 msgid "B<--help>" msgstr "" @@ -217,7 +217,7 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:78 ../cat/virt-filesystems.pod:107 ../cat/virt-ls.pod:277 ../df/virt-df.pod:75 ../edit/virt-edit.pod:78 ../fish/guestfish.pod:174 ../fuse/guestmount.pod:93 ../inspector/virt-inspector.pod:71 ../rescue/virt-rescue.pod:100 +#: ../cat/virt-cat.pod:78 ../cat/virt-filesystems.pod:107 ../cat/virt-ls.pod:277 ../df/virt-df.pod:75 ../edit/virt-edit.pod:78 ../fish/guestfish.pod:174 ../fuse/guestmount.pod:102 ../inspector/virt-inspector.pod:71 ../rescue/virt-rescue.pod:100 msgid "" "The format of the disk image is auto-detected. To override this and force a " "particular format use the I<--format=..> option." @@ -265,7 +265,7 @@ msgid "" msgstr "" #. type: =item -#: ../cat/virt-cat.pod:98 ../cat/virt-filesystems.pod:148 ../cat/virt-ls.pod:314 ../edit/virt-edit.pod:112 ../fish/guestfish.pod:217 ../fuse/guestmount.pod:126 ../inspector/virt-inspector.pod:92 +#: ../cat/virt-cat.pod:98 ../cat/virt-filesystems.pod:148 ../cat/virt-ls.pod:314 ../edit/virt-edit.pod:112 ../fish/guestfish.pod:217 ../fuse/guestmount.pod:135 ../inspector/virt-inspector.pod:92 msgid "B<--echo-keys>" msgstr "" @@ -279,17 +279,17 @@ msgid "" msgstr "" #. type: =item -#: ../cat/virt-cat.pod:105 ../cat/virt-filesystems.pod:170 ../cat/virt-ls.pod:328 ../df/virt-df.pod:101 ../fish/guestfish.pod:233 ../fuse/guestmount.pod:133 ../inspector/virt-inspector.pod:99 ../rescue/virt-rescue.pod:124 +#: ../cat/virt-cat.pod:105 ../cat/virt-filesystems.pod:170 ../cat/virt-ls.pod:328 ../df/virt-df.pod:101 ../fish/guestfish.pod:233 ../fuse/guestmount.pod:142 ../inspector/virt-inspector.pod:99 ../rescue/virt-rescue.pod:124 msgid "B<--format=raw|qcow2|..>" msgstr "" #. type: =item -#: ../cat/virt-cat.pod:107 ../cat/virt-filesystems.pod:172 ../cat/virt-ls.pod:330 ../df/virt-df.pod:103 ../edit/virt-edit.pod:134 ../fish/guestfish.pod:235 ../fuse/guestmount.pod:135 ../inspector/virt-inspector.pod:101 ../rescue/virt-rescue.pod:126 +#: ../cat/virt-cat.pod:107 ../cat/virt-filesystems.pod:172 ../cat/virt-ls.pod:330 ../df/virt-df.pod:103 ../edit/virt-edit.pod:134 ../fish/guestfish.pod:235 ../fuse/guestmount.pod:144 ../inspector/virt-inspector.pod:101 ../rescue/virt-rescue.pod:126 msgid "B<--format>" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:109 ../cat/virt-filesystems.pod:174 ../cat/virt-ls.pod:332 ../df/virt-df.pod:105 ../edit/virt-edit.pod:136 ../fish/guestfish.pod:237 ../fuse/guestmount.pod:137 ../rescue/virt-rescue.pod:128 +#: ../cat/virt-cat.pod:109 ../cat/virt-filesystems.pod:174 ../cat/virt-ls.pod:332 ../df/virt-df.pod:105 ../edit/virt-edit.pod:136 ../fish/guestfish.pod:237 ../fuse/guestmount.pod:146 ../rescue/virt-rescue.pod:128 msgid "" "The default for the I<-a> option is to auto-detect the format of the disk " "image. Using this forces the disk format for I<-a> options which follow on " @@ -298,7 +298,7 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:114 ../cat/virt-filesystems.pod:179 ../cat/virt-ls.pod:337 ../df/virt-df.pod:110 ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242 ../fish/guestfish.pod:673 ../inspector/virt-inspector.pod:336 ../rescue/virt-rescue.pod:133 ../src/guestfs.pod:2745 +#: ../cat/virt-cat.pod:114 ../cat/virt-filesystems.pod:179 ../cat/virt-ls.pod:337 ../df/virt-df.pod:110 ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242 ../fish/guestfish.pod:673 ../inspector/virt-inspector.pod:336 ../rescue/virt-rescue.pod:133 ../src/guestfs.pod:2768 msgid "For example:" msgstr "" @@ -339,24 +339,24 @@ msgid "" msgstr "" #. type: =item -#: ../cat/virt-cat.pod:129 ../cat/virt-filesystems.pod:200 ../cat/virt-ls.pod:361 ../edit/virt-edit.pod:156 ../fish/guestfish.pod:289 ../fuse/guestmount.pod:163 ../inspector/virt-inspector.pod:114 +#: ../cat/virt-cat.pod:129 ../cat/virt-filesystems.pod:200 ../cat/virt-ls.pod:361 ../edit/virt-edit.pod:156 ../fish/guestfish.pod:289 ../fuse/guestmount.pod:172 ../inspector/virt-inspector.pod:114 msgid "B<--keys-from-stdin>" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:131 ../cat/virt-filesystems.pod:202 ../cat/virt-ls.pod:363 ../edit/virt-edit.pod:158 ../fish/guestfish.pod:291 ../fuse/guestmount.pod:165 ../inspector/virt-inspector.pod:116 +#: ../cat/virt-cat.pod:131 ../cat/virt-filesystems.pod:202 ../cat/virt-ls.pod:363 ../edit/virt-edit.pod:158 ../fish/guestfish.pod:291 ../fuse/guestmount.pod:174 ../inspector/virt-inspector.pod:116 msgid "" "Read key or passphrase parameters from stdin. The default is to try to read " "passphrases from the user by opening C." msgstr "" #. type: =item -#: ../cat/virt-cat.pod:134 ../cat/virt-filesystems.pod:261 ../cat/virt-ls.pod:425 ../df/virt-df.pod:173 ../edit/virt-edit.pod:161 ../fish/guestfish.pod:390 ../fuse/guestmount.pod:257 ../inspector/virt-inspector.pod:119 ../rescue/virt-rescue.pod:178 +#: ../cat/virt-cat.pod:134 ../cat/virt-filesystems.pod:261 ../cat/virt-ls.pod:425 ../df/virt-df.pod:173 ../edit/virt-edit.pod:161 ../fish/guestfish.pod:390 ../fuse/guestmount.pod:266 ../inspector/virt-inspector.pod:119 ../rescue/virt-rescue.pod:178 msgid "B<-v>" msgstr "" #. type: =item -#: ../cat/virt-cat.pod:136 ../cat/virt-filesystems.pod:263 ../cat/virt-ls.pod:427 ../df/virt-df.pod:175 ../edit/virt-edit.pod:163 ../fish/guestfish.pod:392 ../fuse/guestmount.pod:259 ../inspector/virt-inspector.pod:121 ../rescue/virt-rescue.pod:180 +#: ../cat/virt-cat.pod:136 ../cat/virt-filesystems.pod:263 ../cat/virt-ls.pod:427 ../df/virt-df.pod:175 ../edit/virt-edit.pod:163 ../fish/guestfish.pod:392 ../fuse/guestmount.pod:268 ../inspector/virt-inspector.pod:121 ../rescue/virt-rescue.pod:180 msgid "B<--verbose>" msgstr "" @@ -366,12 +366,12 @@ msgid "Enable verbose messages for debugging." msgstr "" #. type: =item -#: ../cat/virt-cat.pod:140 ../cat/virt-filesystems.pod:267 ../cat/virt-ls.pod:431 ../df/virt-df.pod:179 ../edit/virt-edit.pod:167 ../fish/guestfish.pod:397 ../fuse/guestmount.pod:263 ../inspector/virt-inspector.pod:125 ../rescue/virt-rescue.pod:184 ../resize/virt-resize.pod:484 +#: ../cat/virt-cat.pod:140 ../cat/virt-filesystems.pod:267 ../cat/virt-ls.pod:431 ../df/virt-df.pod:179 ../edit/virt-edit.pod:167 ../fish/guestfish.pod:397 ../fuse/guestmount.pod:272 ../inspector/virt-inspector.pod:125 ../rescue/virt-rescue.pod:184 ../resize/virt-resize.pod:484 msgid "B<-V>" msgstr "" #. type: =item -#: ../cat/virt-cat.pod:142 ../cat/virt-filesystems.pod:269 ../cat/virt-ls.pod:433 ../df/virt-df.pod:181 ../edit/virt-edit.pod:169 ../fish/guestfish.pod:399 ../fuse/guestmount.pod:265 ../inspector/virt-inspector.pod:127 ../rescue/virt-rescue.pod:186 ../resize/virt-resize.pod:486 ../tools/virt-list-filesystems.pl:69 ../tools/virt-list-partitions.pl:70 ../tools/virt-make-fs.pl:169 ../tools/virt-tar.pl:119 ../tools/virt-win-reg.pl:112 +#: ../cat/virt-cat.pod:142 ../cat/virt-filesystems.pod:269 ../cat/virt-ls.pod:433 ../df/virt-df.pod:181 ../edit/virt-edit.pod:169 ../fish/guestfish.pod:399 ../fuse/guestmount.pod:274 ../inspector/virt-inspector.pod:127 ../rescue/virt-rescue.pod:186 ../resize/virt-resize.pod:486 ../tools/virt-list-filesystems.pl:69 ../tools/virt-list-partitions.pl:70 ../tools/virt-make-fs.pl:169 ../tools/virt-tar.pl:119 ../tools/virt-win-reg.pl:112 msgid "B<--version>" msgstr "" @@ -381,7 +381,7 @@ msgid "Display version number and exit." msgstr "" #. type: =item -#: ../cat/virt-cat.pod:146 ../cat/virt-filesystems.pod:281 ../cat/virt-ls.pod:437 ../df/virt-df.pod:185 ../edit/virt-edit.pod:173 ../fish/guestfish.pod:412 ../fuse/guestmount.pod:278 ../inspector/virt-inspector.pod:131 ../rescue/virt-rescue.pod:199 ../tools/virt-tar.pl:158 +#: ../cat/virt-cat.pod:146 ../cat/virt-filesystems.pod:281 ../cat/virt-ls.pod:437 ../df/virt-df.pod:185 ../edit/virt-edit.pod:173 ../fish/guestfish.pod:412 ../fuse/guestmount.pod:287 ../inspector/virt-inspector.pod:131 ../rescue/virt-rescue.pod:199 ../tools/virt-tar.pl:158 msgid "B<-x>" msgstr "" @@ -490,12 +490,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../cat/virt-cat.pod:191 ../cat/virt-filesystems.pod:365 ../cat/virt-ls.pod:483 ../df/virt-df.pod:215 ../edit/virt-edit.pod:342 ../inspector/virt-inspector.pod:352 ../rescue/virt-rescue.pod:262 ../resize/virt-resize.pod:568 ../tools/virt-list-filesystems.pl:188 ../tools/virt-list-partitions.pl:258 ../tools/virt-make-fs.pl:532 ../tools/virt-tar.pl:289 ../tools/virt-win-reg.pl:733 +#: ../cat/virt-cat.pod:191 ../cat/virt-filesystems.pod:365 ../cat/virt-ls.pod:483 ../df/virt-df.pod:215 ../edit/virt-edit.pod:342 ../inspector/virt-inspector.pod:352 ../rescue/virt-rescue.pod:262 ../resize/virt-resize.pod:568 ../tools/virt-list-filesystems.pl:188 ../tools/virt-list-partitions.pl:258 ../tools/virt-make-fs.pl:550 ../tools/virt-tar.pl:289 ../tools/virt-win-reg.pl:733 msgid "SHELL QUOTING" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:193 ../cat/virt-filesystems.pod:367 ../cat/virt-ls.pod:485 ../df/virt-df.pod:217 ../edit/virt-edit.pod:344 ../inspector/virt-inspector.pod:354 ../rescue/virt-rescue.pod:264 ../resize/virt-resize.pod:570 ../tools/virt-list-filesystems.pl:190 ../tools/virt-list-partitions.pl:260 ../tools/virt-make-fs.pl:534 ../tools/virt-tar.pl:291 ../tools/virt-win-reg.pl:741 +#: ../cat/virt-cat.pod:193 ../cat/virt-filesystems.pod:367 ../cat/virt-ls.pod:485 ../df/virt-df.pod:217 ../edit/virt-edit.pod:344 ../inspector/virt-inspector.pod:354 ../rescue/virt-rescue.pod:264 ../resize/virt-resize.pod:570 ../tools/virt-list-filesystems.pl:190 ../tools/virt-list-partitions.pl:260 ../tools/virt-make-fs.pl:552 ../tools/virt-tar.pl:291 ../tools/virt-win-reg.pl:741 msgid "" "Libvirt guest names can contain arbitrary characters, some of which have " "meaning to the shell such as C<#> and space. You may need to quote or " @@ -504,17 +504,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../cat/virt-cat.pod:198 ../cat/virt-filesystems.pod:372 ../cat/virt-ls.pod:490 ../df/virt-df.pod:222 ../edit/virt-edit.pod:349 ../fish/guestfish.pod:1081 ../fuse/guestmount.pod:303 ../inspector/virt-inspector.pod:375 ../resize/virt-resize.pod:575 ../test-tool/libguestfs-test-tool.pod:90 +#: ../cat/virt-cat.pod:198 ../cat/virt-filesystems.pod:372 ../cat/virt-ls.pod:490 ../df/virt-df.pod:222 ../edit/virt-edit.pod:349 ../fish/guestfish.pod:1114 ../fuse/guestmount.pod:312 ../inspector/virt-inspector.pod:375 ../resize/virt-resize.pod:575 ../test-tool/libguestfs-test-tool.pod:90 msgid "EXIT STATUS" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:200 ../cat/virt-filesystems.pod:374 ../cat/virt-ls.pod:492 ../df/virt-df.pod:224 ../edit/virt-edit.pod:351 ../fuse/guestmount.pod:305 ../inspector/virt-inspector.pod:377 ../resize/virt-resize.pod:577 +#: ../cat/virt-cat.pod:200 ../cat/virt-filesystems.pod:374 ../cat/virt-ls.pod:492 ../df/virt-df.pod:224 ../edit/virt-edit.pod:351 ../fuse/guestmount.pod:314 ../inspector/virt-inspector.pod:377 ../resize/virt-resize.pod:577 msgid "This program returns 0 if successful, or non-zero if there was an error." msgstr "" #. type: =head1 -#: ../cat/virt-cat.pod:203 ../cat/virt-filesystems.pod:377 ../cat/virt-ls.pod:495 ../df/virt-df.pod:227 ../edit/virt-edit.pod:354 ../examples/guestfs-examples.pod:33 ../examples/guestfs-recipes.pod:384 ../fish/guestfish.pod:1235 ../fish/virt-copy-in.pod:50 ../fish/virt-copy-out.pod:39 ../fish/virt-tar-in.pod:47 ../fish/virt-tar-out.pod:41 ../fuse/guestmount.pod:308 ../inspector/virt-inspector.pod:380 ../java/examples/guestfs-java.pod:45 ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:39 ../python/examples/guestfs-python.pod:42 ../rescue/virt-rescue.pod:284 ../resize/virt-resize.pod:580 ../ruby/examples/guestfs-ruby.pod:36 ../src/guestfs.pod:3119 ../test-tool/libguestfs-test-tool.pod:100 ../tools/virt-list-filesystems.pl:195 ../tools/virt-list-partitions.pl:265 ../tools/virt-make-fs.pl:539 ../tools/virt-tar.pl:296 ../tools/virt-win-reg.pl:746 +#: ../cat/virt-cat.pod:203 ../cat/virt-filesystems.pod:377 ../cat/virt-ls.pod:495 ../df/virt-df.pod:227 ../edit/virt-edit.pod:354 ../examples/guestfs-examples.pod:33 ../examples/guestfs-recipes.pod:384 ../fish/guestfish.pod:1268 ../fish/virt-copy-in.pod:50 ../fish/virt-copy-out.pod:39 ../fish/virt-tar-in.pod:47 ../fish/virt-tar-out.pod:41 ../fuse/guestmount.pod:317 ../inspector/virt-inspector.pod:380 ../java/examples/guestfs-java.pod:45 ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:39 ../python/examples/guestfs-python.pod:42 ../rescue/virt-rescue.pod:284 ../resize/virt-resize.pod:580 ../ruby/examples/guestfs-ruby.pod:36 ../src/guestfs.pod:3146 ../test-tool/libguestfs-test-tool.pod:100 ../tools/virt-list-filesystems.pl:195 ../tools/virt-list-partitions.pl:265 ../tools/virt-make-fs.pl:557 ../tools/virt-tar.pl:296 ../tools/virt-win-reg.pl:746 msgid "SEE ALSO" msgstr "" @@ -526,27 +526,27 @@ msgid "" msgstr "" #. type: =head1 -#: ../cat/virt-cat.pod:212 ../cat/virt-filesystems.pod:388 ../cat/virt-ls.pod:507 ../df/virt-df.pod:235 ../edit/virt-edit.pod:368 ../rescue/virt-rescue.pod:292 ../resize/virt-resize.pod:601 ../tools/virt-list-filesystems.pl:208 ../tools/virt-list-partitions.pl:277 ../tools/virt-make-fs.pl:564 ../tools/virt-tar.pl:311 ../tools/virt-win-reg.pl:772 +#: ../cat/virt-cat.pod:212 ../cat/virt-filesystems.pod:388 ../cat/virt-ls.pod:507 ../df/virt-df.pod:235 ../edit/virt-edit.pod:368 ../rescue/virt-rescue.pod:292 ../resize/virt-resize.pod:601 ../tools/virt-list-filesystems.pl:208 ../tools/virt-list-partitions.pl:277 ../tools/virt-make-fs.pl:582 ../tools/virt-tar.pl:311 ../tools/virt-win-reg.pl:772 msgid "AUTHOR" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:214 ../cat/virt-filesystems.pod:390 ../cat/virt-ls.pod:509 ../df/virt-df.pod:237 ../edit/virt-edit.pod:370 ../inspector/virt-inspector.pod:395 ../rescue/virt-rescue.pod:294 ../resize/virt-resize.pod:603 ../tools/virt-list-filesystems.pl:210 ../tools/virt-list-partitions.pl:279 ../tools/virt-make-fs.pl:566 ../tools/virt-tar.pl:313 ../tools/virt-win-reg.pl:774 +#: ../cat/virt-cat.pod:214 ../cat/virt-filesystems.pod:390 ../cat/virt-ls.pod:509 ../df/virt-df.pod:237 ../edit/virt-edit.pod:370 ../inspector/virt-inspector.pod:395 ../rescue/virt-rescue.pod:294 ../resize/virt-resize.pod:603 ../tools/virt-list-filesystems.pl:210 ../tools/virt-list-partitions.pl:279 ../tools/virt-make-fs.pl:584 ../tools/virt-tar.pl:313 ../tools/virt-win-reg.pl:774 msgid "Richard W.M. Jones L" msgstr "" #. type: =head1 -#: ../cat/virt-cat.pod:216 ../cat/virt-filesystems.pod:392 ../cat/virt-ls.pod:511 ../df/virt-df.pod:239 ../edit/virt-edit.pod:372 ../examples/guestfs-examples.pod:48 ../examples/guestfs-recipes.pod:400 ../fish/guestfish.pod:1264 ../fish/virt-copy-in.pod:64 ../fish/virt-copy-out.pod:53 ../fish/virt-tar-in.pod:62 ../fish/virt-tar-out.pod:55 ../fuse/guestmount.pod:323 ../inspector/virt-inspector.pod:403 ../java/examples/guestfs-java.pod:61 ../ocaml/examples/guestfs-ocaml.pod:94 ../perl/examples/guestfs-perl.pod:55 ../python/examples/guestfs-python.pod:57 ../rescue/virt-rescue.pod:296 ../resize/virt-resize.pod:605 ../ruby/examples/guestfs-ruby.pod:51 ../src/guestfs.pod:3195 ../test-tool/libguestfs-test-tool.pod:110 ../tools/virt-list-filesystems.pl:212 ../tools/virt-list-partitions.pl:281 ../tools/virt-make-fs.pl:568 ../tools/virt-tar.pl:315 ../tools/virt-win-reg.pl:776 +#: ../cat/virt-cat.pod:216 ../cat/virt-filesystems.pod:392 ../cat/virt-ls.pod:511 ../df/virt-df.pod:239 ../edit/virt-edit.pod:372 ../examples/guestfs-examples.pod:48 ../examples/guestfs-recipes.pod:400 ../fish/guestfish.pod:1297 ../fish/virt-copy-in.pod:64 ../fish/virt-copy-out.pod:53 ../fish/virt-tar-in.pod:62 ../fish/virt-tar-out.pod:55 ../fuse/guestmount.pod:332 ../inspector/virt-inspector.pod:403 ../java/examples/guestfs-java.pod:61 ../ocaml/examples/guestfs-ocaml.pod:94 ../perl/examples/guestfs-perl.pod:55 ../python/examples/guestfs-python.pod:57 ../rescue/virt-rescue.pod:296 ../resize/virt-resize.pod:605 ../ruby/examples/guestfs-ruby.pod:51 ../src/guestfs.pod:3223 ../test-tool/libguestfs-test-tool.pod:110 ../tools/virt-list-filesystems.pl:212 ../tools/virt-list-partitions.pl:281 ../tools/virt-make-fs.pl:586 ../tools/virt-tar.pl:315 ../tools/virt-win-reg.pl:776 msgid "COPYRIGHT" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:218 ../inspector/virt-inspector.pod:405 ../resize/virt-resize.pod:607 +#: ../cat/virt-cat.pod:218 ../inspector/virt-inspector.pod:405 ../resize/virt-resize.pod:607 ../tools/virt-make-fs.pl:588 msgid "Copyright (C) 2010-2011 Red Hat Inc." msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:220 ../cat/virt-filesystems.pod:396 ../cat/virt-ls.pod:515 ../df/virt-df.pod:243 ../edit/virt-edit.pod:376 ../fish/guestfish.pod:1269 ../fish/virt-copy-in.pod:69 ../fish/virt-copy-out.pod:58 ../fish/virt-tar-in.pod:67 ../fish/virt-tar-out.pod:60 ../fuse/guestmount.pod:328 ../inspector/virt-inspector.pod:407 ../rescue/virt-rescue.pod:300 ../resize/virt-resize.pod:609 ../test-tool/libguestfs-test-tool.pod:115 ../tools/virt-list-filesystems.pl:216 ../tools/virt-list-partitions.pl:285 ../tools/virt-make-fs.pl:572 ../tools/virt-tar.pl:319 ../tools/virt-win-reg.pl:780 +#: ../cat/virt-cat.pod:220 ../cat/virt-filesystems.pod:396 ../cat/virt-ls.pod:515 ../df/virt-df.pod:243 ../edit/virt-edit.pod:376 ../fish/guestfish.pod:1302 ../fish/virt-copy-in.pod:69 ../fish/virt-copy-out.pod:58 ../fish/virt-tar-in.pod:67 ../fish/virt-tar-out.pod:60 ../fuse/guestmount.pod:337 ../inspector/virt-inspector.pod:407 ../rescue/virt-rescue.pod:300 ../resize/virt-resize.pod:609 ../test-tool/libguestfs-test-tool.pod:115 ../tools/virt-list-filesystems.pl:216 ../tools/virt-list-partitions.pl:285 ../tools/virt-make-fs.pl:590 ../tools/virt-tar.pl:319 ../tools/virt-win-reg.pl:780 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 " @@ -555,7 +555,7 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:225 ../cat/virt-filesystems.pod:401 ../cat/virt-ls.pod:520 ../df/virt-df.pod:248 ../edit/virt-edit.pod:381 ../fish/guestfish.pod:1274 ../fish/virt-copy-in.pod:74 ../fish/virt-copy-out.pod:63 ../fish/virt-tar-in.pod:72 ../fish/virt-tar-out.pod:65 ../fuse/guestmount.pod:333 ../inspector/virt-inspector.pod:412 ../rescue/virt-rescue.pod:305 ../resize/virt-resize.pod:614 ../test-tool/libguestfs-test-tool.pod:120 ../tools/virt-list-filesystems.pl:221 ../tools/virt-list-partitions.pl:290 ../tools/virt-make-fs.pl:577 ../tools/virt-tar.pl:324 ../tools/virt-win-reg.pl:785 +#: ../cat/virt-cat.pod:225 ../cat/virt-filesystems.pod:401 ../cat/virt-ls.pod:520 ../df/virt-df.pod:248 ../edit/virt-edit.pod:381 ../fish/guestfish.pod:1307 ../fish/virt-copy-in.pod:74 ../fish/virt-copy-out.pod:63 ../fish/virt-tar-in.pod:72 ../fish/virt-tar-out.pod:65 ../fuse/guestmount.pod:342 ../inspector/virt-inspector.pod:412 ../rescue/virt-rescue.pod:305 ../resize/virt-resize.pod:614 ../test-tool/libguestfs-test-tool.pod:120 ../tools/virt-list-filesystems.pl:221 ../tools/virt-list-partitions.pl:290 ../tools/virt-make-fs.pl:595 ../tools/virt-tar.pl:324 ../tools/virt-win-reg.pl:785 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 " @@ -564,7 +564,7 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-cat.pod:230 ../cat/virt-filesystems.pod:406 ../cat/virt-ls.pod:525 ../df/virt-df.pod:253 ../edit/virt-edit.pod:386 ../fish/guestfish.pod:1279 ../fish/virt-copy-in.pod:79 ../fish/virt-copy-out.pod:68 ../fish/virt-tar-in.pod:77 ../fish/virt-tar-out.pod:70 ../fuse/guestmount.pod:338 ../inspector/virt-inspector.pod:417 ../rescue/virt-rescue.pod:310 ../resize/virt-resize.pod:619 ../test-tool/libguestfs-test-tool.pod:125 ../tools/virt-list-filesystems.pl:226 ../tools/virt-list-partitions.pl:295 ../tools/virt-make-fs.pl:582 ../tools/virt-tar.pl:329 ../tools/virt-win-reg.pl:790 +#: ../cat/virt-cat.pod:230 ../cat/virt-filesystems.pod:406 ../cat/virt-ls.pod:525 ../df/virt-df.pod:253 ../edit/virt-edit.pod:386 ../fish/guestfish.pod:1312 ../fish/virt-copy-in.pod:79 ../fish/virt-copy-out.pod:68 ../fish/virt-tar-in.pod:77 ../fish/virt-tar-out.pod:70 ../fuse/guestmount.pod:347 ../inspector/virt-inspector.pod:417 ../rescue/virt-rescue.pod:310 ../resize/virt-resize.pod:619 ../test-tool/libguestfs-test-tool.pod:125 ../tools/virt-list-filesystems.pl:226 ../tools/virt-list-partitions.pl:295 ../tools/virt-make-fs.pl:600 ../tools/virt-tar.pl:329 ../tools/virt-win-reg.pl:790 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 " @@ -1207,7 +1207,7 @@ msgid "" msgstr "" #. type: textblock -#: ../cat/virt-filesystems.pod:394 ../tools/virt-make-fs.pl:570 ../tools/virt-win-reg.pl:778 +#: ../cat/virt-filesystems.pod:394 ../tools/virt-win-reg.pl:778 msgid "Copyright (C) 2010 Red Hat Inc." msgstr "" @@ -2102,7 +2102,7 @@ msgid "You are not allowed to use I<-h> and I<--csv> at the same time." msgstr "" #. type: =item -#: ../df/virt-df.pod:133 ../fish/guestfish.pod:258 ../fuse/guestmount.pod:155 +#: ../df/virt-df.pod:133 ../fish/guestfish.pod:258 ../fuse/guestmount.pod:164 msgid "B<-i>" msgstr "" @@ -2134,7 +2134,7 @@ msgid "You might use this option in the following circumstances:" msgstr "" #. type: =item -#: ../df/virt-df.pod:148 ../df/virt-df.pod:154 ../edit/virt-edit.pod:266 ../edit/virt-edit.pod:271 ../edit/virt-edit.pod:276 ../edit/virt-edit.pod:287 ../edit/virt-edit.pod:291 ../examples/guestfs-recipes.pod:98 ../examples/guestfs-recipes.pod:102 ../examples/guestfs-recipes.pod:106 ../examples/guestfs-recipes.pod:132 ../examples/guestfs-recipes.pod:137 ../examples/guestfs-recipes.pod:227 ../examples/guestfs-recipes.pod:231 ../examples/guestfs-recipes.pod:235 ../examples/guestfs-recipes.pod:239 ../examples/guestfs-recipes.pod:243 ../fish/guestfish-actions.pod:13 ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:390 ../fish/guestfish-actions.pod:398 ../fish/guestfish-actions.pod:405 ../fish/guestfish-actions.pod:412 ../fish/guestfish-actions.pod:1104 ../fish/guestfish-actions.pod:1108 ../fish/guestfish-actions.pod:1112 ../fish/guestfish-actions.pod:1116 ../fish/guestfish-actions.pod:1124 ../fish/guestfish-actions.pod:1128 ../fish/guestfish-actions.pod:1132 ../fish/guestfish-actions.pod:1142 ../fish/guestfish-actions.pod:1146 ../fish/guestfish-actions.pod:1150 ../fish/guestfish-actions.pod:1240 ../fish/guestfish-actions.pod:1244 ../fish/guestfish-actions.pod:1249 ../fish/guestfish-actions.pod:1254 ../fish/guestfish-actions.pod:1296 ../fish/guestfish-actions.pod:1300 ../fish/guestfish-actions.pod:1305 ../fish/guestfish-actions.pod:1555 ../fish/guestfish-actions.pod:1562 ../fish/guestfish-actions.pod:1569 ../fish/guestfish-actions.pod:1960 ../fish/guestfish-actions.pod:1966 ../fish/guestfish-actions.pod:1974 ../fish/guestfish-actions.pod:1981 ../fish/guestfish-actions.pod:1988 ../fish/guestfish.pod:445 ../fish/guestfish.pod:449 ../fish/guestfish.pod:453 ../fish/guestfish.pod:457 ../inspector/virt-inspector.pod:393 ../inspector/virt-inspector.pod:397 ../resize/virt-resize.pod:282 ../resize/virt-resize.pod:286 ../resize/virt-resize.pod:295 ../resize/virt-resize.pod:301 ../src/guestfs-actions.pod:15 ../src/guestfs-actions.pod:22 ../src/guestfs-actions.pod:588 ../src/guestfs-actions.pod:596 ../src/guestfs-actions.pod:603 ../src/guestfs-actions.pod:610 ../src/guestfs-actions.pod:1667 ../src/guestfs-actions.pod:1671 ../src/guestfs-actions.pod:1675 ../src/guestfs-actions.pod:1679 ../src/guestfs-actions.pod:1687 ../src/guestfs-actions.pod:1691 ../src/guestfs-actions.pod:1695 ../src/guestfs-actions.pod:1705 ../src/guestfs-actions.pod:1709 ../src/guestfs-actions.pod:1713 ../src/guestfs-actions.pod:1851 ../src/guestfs-actions.pod:1855 ../src/guestfs-actions.pod:1860 ../src/guestfs-actions.pod:1865 ../src/guestfs-actions.pod:1926 ../src/guestfs-actions.pod:1930 ../src/guestfs-actions.pod:1935 ../src/guestfs-actions.pod:2339 ../src/guestfs-actions.pod:2346 ../src/guestfs-actions.pod:2353 ../src/guestfs-actions.pod:2886 ../src/guestfs-actions.pod:2892 ../src/guestfs-actions.pod:2900 ../src/guestfs-actions.pod:2907 ../src/guestfs-actions.pod:2914 ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:398 ../src/guestfs.pod:402 ../src/guestfs.pod:407 ../src/guestfs.pod:411 ../src/guestfs.pod:416 ../src/guestfs.pod:421 ../src/guestfs.pod:1064 ../src/guestfs.pod:1068 ../src/guestfs.pod:1072 ../src/guestfs.pod:1077 ../src/guestfs.pod:1085 ../src/guestfs.pod:1104 ../src/guestfs.pod:1112 ../src/guestfs.pod:1134 ../src/guestfs.pod:1138 ../src/guestfs.pod:1142 ../src/guestfs.pod:1146 ../src/guestfs.pod:1150 ../src/guestfs.pod:1154 ../src/guestfs.pod:1643 ../src/guestfs.pod:1648 ../src/guestfs.pod:1652 ../src/guestfs.pod:1754 ../src/guestfs.pod:1759 ../src/guestfs.pod:1763 ../src/guestfs.pod:1773 ../src/guestfs.pod:2047 ../src/guestfs.pod:2052 ../src/guestfs.pod:2058 ../src/guestfs.pod:2066 ../src/guestfs.pod:2513 ../src/guestfs.pod:2519 ../src/guestfs.pod:2524 ../src/guestfs.pod:2530 ../src/guestfs.pod:2911 ../src/guestfs.pod:2916 ../src/guestfs.pod:2920 ../src/guestfs.pod:2924 ../src/guestfs.pod:2928 ../src/guestfs.pod:2942 ../src/guestfs.pod:2947 ../src/guestfs.pod:3172 ../src/guestfs.pod:3176 ../src/guestfs.pod:3180 ../src/guestfs.pod:3184 ../tools/virt-win-reg.pl:197 ../tools/virt-win-reg.pl:202 ../tools/virt-win-reg.pl:208 ../tools/virt-win-reg.pl:710 ../tools/virt-win-reg.pl:716 ../tools/virt-win-reg.pl:722 +#: ../df/virt-df.pod:148 ../df/virt-df.pod:154 ../edit/virt-edit.pod:266 ../edit/virt-edit.pod:271 ../edit/virt-edit.pod:276 ../edit/virt-edit.pod:287 ../edit/virt-edit.pod:291 ../examples/guestfs-recipes.pod:98 ../examples/guestfs-recipes.pod:102 ../examples/guestfs-recipes.pod:106 ../examples/guestfs-recipes.pod:132 ../examples/guestfs-recipes.pod:137 ../examples/guestfs-recipes.pod:227 ../examples/guestfs-recipes.pod:231 ../examples/guestfs-recipes.pod:235 ../examples/guestfs-recipes.pod:239 ../examples/guestfs-recipes.pod:243 ../fish/guestfish-actions.pod:13 ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:390 ../fish/guestfish-actions.pod:398 ../fish/guestfish-actions.pod:405 ../fish/guestfish-actions.pod:412 ../fish/guestfish-actions.pod:1104 ../fish/guestfish-actions.pod:1108 ../fish/guestfish-actions.pod:1112 ../fish/guestfish-actions.pod:1116 ../fish/guestfish-actions.pod:1124 ../fish/guestfish-actions.pod:1128 ../fish/guestfish-actions.pod:1132 ../fish/guestfish-actions.pod:1142 ../fish/guestfish-actions.pod:1146 ../fish/guestfish-actions.pod:1150 ../fish/guestfish-actions.pod:1240 ../fish/guestfish-actions.pod:1244 ../fish/guestfish-actions.pod:1249 ../fish/guestfish-actions.pod:1254 ../fish/guestfish-actions.pod:1296 ../fish/guestfish-actions.pod:1300 ../fish/guestfish-actions.pod:1305 ../fish/guestfish-actions.pod:1555 ../fish/guestfish-actions.pod:1562 ../fish/guestfish-actions.pod:1569 ../fish/guestfish-actions.pod:1960 ../fish/guestfish-actions.pod:1966 ../fish/guestfish-actions.pod:1974 ../fish/guestfish-actions.pod:1981 ../fish/guestfish-actions.pod:1988 ../fish/guestfish.pod:445 ../fish/guestfish.pod:449 ../fish/guestfish.pod:453 ../fish/guestfish.pod:457 ../inspector/virt-inspector.pod:393 ../inspector/virt-inspector.pod:397 ../resize/virt-resize.pod:282 ../resize/virt-resize.pod:286 ../resize/virt-resize.pod:295 ../resize/virt-resize.pod:301 ../src/guestfs-actions.pod:15 ../src/guestfs-actions.pod:22 ../src/guestfs-actions.pod:588 ../src/guestfs-actions.pod:596 ../src/guestfs-actions.pod:603 ../src/guestfs-actions.pod:610 ../src/guestfs-actions.pod:1667 ../src/guestfs-actions.pod:1671 ../src/guestfs-actions.pod:1675 ../src/guestfs-actions.pod:1679 ../src/guestfs-actions.pod:1687 ../src/guestfs-actions.pod:1691 ../src/guestfs-actions.pod:1695 ../src/guestfs-actions.pod:1705 ../src/guestfs-actions.pod:1709 ../src/guestfs-actions.pod:1713 ../src/guestfs-actions.pod:1851 ../src/guestfs-actions.pod:1855 ../src/guestfs-actions.pod:1860 ../src/guestfs-actions.pod:1865 ../src/guestfs-actions.pod:1926 ../src/guestfs-actions.pod:1930 ../src/guestfs-actions.pod:1935 ../src/guestfs-actions.pod:2339 ../src/guestfs-actions.pod:2346 ../src/guestfs-actions.pod:2353 ../src/guestfs-actions.pod:2886 ../src/guestfs-actions.pod:2892 ../src/guestfs-actions.pod:2900 ../src/guestfs-actions.pod:2907 ../src/guestfs-actions.pod:2914 ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:398 ../src/guestfs.pod:402 ../src/guestfs.pod:407 ../src/guestfs.pod:411 ../src/guestfs.pod:416 ../src/guestfs.pod:421 ../src/guestfs.pod:1087 ../src/guestfs.pod:1091 ../src/guestfs.pod:1095 ../src/guestfs.pod:1100 ../src/guestfs.pod:1108 ../src/guestfs.pod:1127 ../src/guestfs.pod:1135 ../src/guestfs.pod:1157 ../src/guestfs.pod:1161 ../src/guestfs.pod:1165 ../src/guestfs.pod:1169 ../src/guestfs.pod:1173 ../src/guestfs.pod:1177 ../src/guestfs.pod:1666 ../src/guestfs.pod:1671 ../src/guestfs.pod:1675 ../src/guestfs.pod:1777 ../src/guestfs.pod:1782 ../src/guestfs.pod:1786 ../src/guestfs.pod:1796 ../src/guestfs.pod:2070 ../src/guestfs.pod:2075 ../src/guestfs.pod:2081 ../src/guestfs.pod:2089 ../src/guestfs.pod:2536 ../src/guestfs.pod:2542 ../src/guestfs.pod:2547 ../src/guestfs.pod:2553 ../src/guestfs.pod:2938 ../src/guestfs.pod:2943 ../src/guestfs.pod:2947 ../src/guestfs.pod:2951 ../src/guestfs.pod:2955 ../src/guestfs.pod:2969 ../src/guestfs.pod:2974 ../src/guestfs.pod:3200 ../src/guestfs.pod:3204 ../src/guestfs.pod:3208 ../src/guestfs.pod:3212 ../tools/virt-win-reg.pl:197 ../tools/virt-win-reg.pl:202 ../tools/virt-win-reg.pl:208 ../tools/virt-win-reg.pl:710 ../tools/virt-win-reg.pl:716 ../tools/virt-win-reg.pl:722 msgid "*" msgstr "" @@ -2356,12 +2356,12 @@ msgid "By default, no backup file is made." msgstr "" #. type: =item -#: ../edit/virt-edit.pod:95 ../fish/guestfish.pod:181 ../fuse/guestmount.pod:96 ../inspector/virt-inspector.pod:74 ../tools/virt-list-filesystems.pl:77 ../tools/virt-list-partitions.pl:78 ../tools/virt-tar.pl:127 ../tools/virt-win-reg.pl:128 +#: ../edit/virt-edit.pod:95 ../fish/guestfish.pod:181 ../fuse/guestmount.pod:105 ../inspector/virt-inspector.pod:74 ../tools/virt-list-filesystems.pl:77 ../tools/virt-list-partitions.pl:78 ../tools/virt-tar.pl:127 ../tools/virt-win-reg.pl:128 msgid "B<-c URI>" msgstr "" #. type: =item -#: ../edit/virt-edit.pod:97 ../fish/guestfish.pod:183 ../fuse/guestmount.pod:98 ../inspector/virt-inspector.pod:76 ../tools/virt-list-filesystems.pl:79 ../tools/virt-list-partitions.pl:80 ../tools/virt-tar.pl:129 ../tools/virt-win-reg.pl:130 +#: ../edit/virt-edit.pod:97 ../fish/guestfish.pod:183 ../fuse/guestmount.pod:107 ../inspector/virt-inspector.pod:76 ../tools/virt-list-filesystems.pl:79 ../tools/virt-list-partitions.pl:80 ../tools/virt-tar.pl:129 ../tools/virt-win-reg.pl:130 msgid "B<--connect URI>" msgstr "" @@ -2721,7 +2721,7 @@ msgid "" msgstr "" #. type: =head1 -#: ../edit/virt-edit.pod:329 ../fish/guestfish.pod:1086 ../rescue/virt-rescue.pod:257 ../src/guestfs.pod:3058 ../test-tool/libguestfs-test-tool.pod:95 +#: ../edit/virt-edit.pod:329 ../fish/guestfish.pod:1119 ../rescue/virt-rescue.pod:257 ../src/guestfs.pod:3085 ../test-tool/libguestfs-test-tool.pod:95 msgid "ENVIRONMENT VARIABLES" msgstr "" @@ -2820,12 +2820,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../examples/guestfs-examples.pod:44 ../examples/guestfs-recipes.pod:396 ../fish/guestfish.pod:1260 ../fish/virt-copy-in.pod:60 ../fish/virt-copy-out.pod:49 ../fish/virt-tar-in.pod:58 ../fish/virt-tar-out.pod:51 ../fuse/guestmount.pod:319 ../inspector/virt-inspector.pod:389 ../java/examples/guestfs-java.pod:57 ../ocaml/examples/guestfs-ocaml.pod:90 ../perl/examples/guestfs-perl.pod:51 ../python/examples/guestfs-python.pod:53 ../ruby/examples/guestfs-ruby.pod:47 ../src/guestfs.pod:3191 ../test-tool/libguestfs-test-tool.pod:106 +#: ../examples/guestfs-examples.pod:44 ../examples/guestfs-recipes.pod:396 ../fish/guestfish.pod:1293 ../fish/virt-copy-in.pod:60 ../fish/virt-copy-out.pod:49 ../fish/virt-tar-in.pod:58 ../fish/virt-tar-out.pod:51 ../fuse/guestmount.pod:328 ../inspector/virt-inspector.pod:389 ../java/examples/guestfs-java.pod:57 ../ocaml/examples/guestfs-ocaml.pod:90 ../perl/examples/guestfs-perl.pod:51 ../python/examples/guestfs-python.pod:53 ../ruby/examples/guestfs-ruby.pod:47 ../src/guestfs.pod:3219 ../test-tool/libguestfs-test-tool.pod:106 msgid "AUTHORS" msgstr "" #. type: textblock -#: ../examples/guestfs-examples.pod:46 ../examples/guestfs-recipes.pod:398 ../fish/guestfish.pod:1262 ../fish/virt-copy-in.pod:62 ../fish/virt-copy-out.pod:51 ../fish/virt-tar-in.pod:60 ../fish/virt-tar-out.pod:53 ../fuse/guestmount.pod:321 ../java/examples/guestfs-java.pod:59 ../ocaml/examples/guestfs-ocaml.pod:92 ../perl/examples/guestfs-perl.pod:53 ../python/examples/guestfs-python.pod:55 ../ruby/examples/guestfs-ruby.pod:49 ../src/guestfs.pod:3193 ../test-tool/libguestfs-test-tool.pod:108 +#: ../examples/guestfs-examples.pod:46 ../examples/guestfs-recipes.pod:398 ../fish/guestfish.pod:1295 ../fish/virt-copy-in.pod:62 ../fish/virt-copy-out.pod:51 ../fish/virt-tar-in.pod:60 ../fish/virt-tar-out.pod:53 ../fuse/guestmount.pod:330 ../java/examples/guestfs-java.pod:59 ../ocaml/examples/guestfs-ocaml.pod:92 ../perl/examples/guestfs-perl.pod:53 ../python/examples/guestfs-python.pod:55 ../ruby/examples/guestfs-ruby.pod:49 ../src/guestfs.pod:3221 ../test-tool/libguestfs-test-tool.pod:108 msgid "Richard W.M. Jones (C)" msgstr "" @@ -2842,7 +2842,7 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-examples.pod:55 ../examples/guestfs-recipes.pod:407 ../java/examples/guestfs-java.pod:68 ../ocaml/examples/guestfs-ocaml.pod:101 ../perl/examples/guestfs-perl.pod:62 ../python/examples/guestfs-python.pod:64 ../ruby/examples/guestfs-ruby.pod:58 ../src/guestfs.pod:3200 +#: ../examples/guestfs-examples.pod:55 ../examples/guestfs-recipes.pod:407 ../java/examples/guestfs-java.pod:68 ../ocaml/examples/guestfs-ocaml.pod:101 ../perl/examples/guestfs-perl.pod:62 ../python/examples/guestfs-python.pod:64 ../ruby/examples/guestfs-ruby.pod:58 ../src/guestfs.pod:3228 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 " @@ -2851,7 +2851,7 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-examples.pod:60 ../examples/guestfs-recipes.pod:412 ../java/examples/guestfs-java.pod:73 ../ocaml/examples/guestfs-ocaml.pod:106 ../perl/examples/guestfs-perl.pod:67 ../python/examples/guestfs-python.pod:69 ../ruby/examples/guestfs-ruby.pod:63 ../src/guestfs.pod:3205 +#: ../examples/guestfs-examples.pod:60 ../examples/guestfs-recipes.pod:412 ../java/examples/guestfs-java.pod:73 ../ocaml/examples/guestfs-ocaml.pod:106 ../perl/examples/guestfs-perl.pod:67 ../python/examples/guestfs-python.pod:69 ../ruby/examples/guestfs-ruby.pod:63 ../src/guestfs.pod:3233 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 " @@ -2860,7 +2860,7 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-examples.pod:65 ../examples/guestfs-recipes.pod:417 ../java/examples/guestfs-java.pod:78 ../ocaml/examples/guestfs-ocaml.pod:111 ../perl/examples/guestfs-perl.pod:72 ../python/examples/guestfs-python.pod:74 ../ruby/examples/guestfs-ruby.pod:68 ../src/guestfs.pod:3210 +#: ../examples/guestfs-examples.pod:65 ../examples/guestfs-recipes.pod:417 ../java/examples/guestfs-java.pod:78 ../ocaml/examples/guestfs-ocaml.pod:111 ../perl/examples/guestfs-perl.pod:72 ../python/examples/guestfs-python.pod:74 ../ruby/examples/guestfs-ruby.pod:68 ../src/guestfs.pod:3238 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, " @@ -3141,7 +3141,7 @@ msgid "" msgstr "" #. type: textblock -#: ../examples/guestfs-recipes.pod:128 ../fish/guestfish-actions.pod:9 ../fish/guestfish-actions.pod:1292 ../fish/guestfish-actions.pod:1551 ../fish/guestfish-actions.pod:1956 ../src/guestfs-actions.pod:11 ../src/guestfs-actions.pod:1922 ../src/guestfs-actions.pod:2335 ../src/guestfs-actions.pod:2882 ../src/guestfs.pod:1639 ../tools/virt-win-reg.pl:706 +#: ../examples/guestfs-recipes.pod:128 ../fish/guestfish-actions.pod:9 ../fish/guestfish-actions.pod:1292 ../fish/guestfish-actions.pod:1551 ../fish/guestfish-actions.pod:1956 ../src/guestfs-actions.pod:11 ../src/guestfs-actions.pod:1922 ../src/guestfs-actions.pod:2335 ../src/guestfs-actions.pod:2882 ../src/guestfs.pod:1662 ../tools/virt-win-reg.pl:706 msgid "Notes:" msgstr "" @@ -3215,7 +3215,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../examples/guestfs-recipes.pod:164 +#: ../examples/guestfs-recipes.pod:164 ../fish/guestfish.pod:984 #, no-wrap msgid "" " set -e\n" @@ -12415,7 +12415,7 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish-actions.pod:4105 ../src/guestfs-actions.pod:6209 ../src/guestfs.pod:2780 +#: ../fish/guestfish-actions.pod:4105 ../src/guestfs-actions.pod:6209 ../src/guestfs.pod:2803 msgid "C" msgstr "" @@ -15731,7 +15731,7 @@ msgid "To list what is available do:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:139 ../fish/guestfish.pod:1009 +#: ../fish/guestfish.pod:139 ../fish/guestfish.pod:1042 #, no-wrap msgid "" " guestfish -N help | less\n" @@ -15785,12 +15785,12 @@ msgid "Displays detailed help on a single command C." msgstr "" #. type: =item -#: ../fish/guestfish.pod:168 ../fuse/guestmount.pod:87 +#: ../fish/guestfish.pod:168 ../fuse/guestmount.pod:96 msgid "B<-a image>" msgstr "" #. type: =item -#: ../fish/guestfish.pod:170 ../fuse/guestmount.pod:89 +#: ../fish/guestfish.pod:170 ../fuse/guestmount.pod:98 msgid "B<--add image>" msgstr "" @@ -15808,7 +15808,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:185 ../fuse/guestmount.pod:100 +#: ../fish/guestfish.pod:185 ../fuse/guestmount.pod:109 msgid "" "When used in conjunction with the I<-d> option, this specifies the libvirt " "URI to use. The default is to use the default libvirt connection." @@ -15827,17 +15827,17 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:194 ../fuse/guestmount.pod:104 +#: ../fish/guestfish.pod:194 ../fuse/guestmount.pod:113 msgid "B<-d libvirt-domain>" msgstr "" #. type: =item -#: ../fish/guestfish.pod:196 ../fuse/guestmount.pod:106 +#: ../fish/guestfish.pod:196 ../fuse/guestmount.pod:115 msgid "B<--domain libvirt-domain>" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:198 ../fuse/guestmount.pod:108 +#: ../fish/guestfish.pod:198 ../fuse/guestmount.pod:117 msgid "" "Add disks from the named libvirt domain. If the I<--ro> option is also " "used, then any libvirt domain can be used. However in write mode, only " @@ -15845,7 +15845,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:202 ../fuse/guestmount.pod:112 +#: ../fish/guestfish.pod:202 ../fuse/guestmount.pod:121 msgid "Domain UUIDs can be used instead of names." msgstr "" @@ -15877,7 +15877,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:219 ../fuse/guestmount.pod:128 +#: ../fish/guestfish.pod:219 ../fuse/guestmount.pod:137 msgid "" "When prompting for keys and passphrases, guestfish normally turns echoing " "off so you cannot see what you are typing. If you are not worried about " @@ -15933,12 +15933,12 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:260 ../fuse/guestmount.pod:157 +#: ../fish/guestfish.pod:260 ../fuse/guestmount.pod:166 msgid "B<--inspector>" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:262 ../fuse/guestmount.pod:159 +#: ../fish/guestfish.pod:262 ../fuse/guestmount.pod:168 msgid "" "Using L code, inspect the disks looking for an operating " "system and mount filesystems as they would be mounted on the real virtual " @@ -16027,24 +16027,24 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:299 ../fuse/guestmount.pod:168 +#: ../fish/guestfish.pod:299 ../fuse/guestmount.pod:177 msgid "B<--live>" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:301 ../fuse/guestmount.pod:170 +#: ../fish/guestfish.pod:301 ../fuse/guestmount.pod:179 msgid "" "Connect to a live virtual machine. (Experimental, see " "L)." msgstr "" #. type: =item -#: ../fish/guestfish.pod:304 ../fuse/guestmount.pod:173 +#: ../fish/guestfish.pod:304 ../fuse/guestmount.pod:182 msgid "B<-m dev[:mountpoint[:options]]>" msgstr "" #. type: =item -#: ../fish/guestfish.pod:306 ../fuse/guestmount.pod:175 +#: ../fish/guestfish.pod:306 ../fuse/guestmount.pod:184 msgid "B<--mount dev[:mountpoint[:options]]>" msgstr "" @@ -16080,7 +16080,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:323 ../fuse/guestmount.pod:183 +#: ../fish/guestfish.pod:323 ../fuse/guestmount.pod:192 msgid "" "The third (and rarely used) part of the mount parameter is the list of mount " "options used to mount the underlying filesystem. If this is not given, then " @@ -16091,7 +16091,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:331 ../fuse/guestmount.pod:191 +#: ../fish/guestfish.pod:331 ../fuse/guestmount.pod:200 #, no-wrap msgid "" " -m /dev/sda1:/:acl,user_xattr\n" @@ -16104,12 +16104,12 @@ msgid "Using this flag is equivalent to using the C command." msgstr "" #. type: =item -#: ../fish/guestfish.pod:335 ../fuse/guestmount.pod:193 ../resize/virt-resize.pod:358 +#: ../fish/guestfish.pod:335 ../fuse/guestmount.pod:202 ../resize/virt-resize.pod:358 msgid "B<-n>" msgstr "" #. type: =item -#: ../fish/guestfish.pod:337 ../fuse/guestmount.pod:195 +#: ../fish/guestfish.pod:337 ../fuse/guestmount.pod:204 msgid "B<--no-sync>" msgstr "" @@ -16184,12 +16184,12 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:369 ../fuse/guestmount.pod:239 ../rescue/virt-rescue.pod:161 +#: ../fish/guestfish.pod:369 ../fuse/guestmount.pod:248 ../rescue/virt-rescue.pod:161 msgid "B<-r>" msgstr "" #. type: =item -#: ../fish/guestfish.pod:371 ../fuse/guestmount.pod:241 ../rescue/virt-rescue.pod:163 +#: ../fish/guestfish.pod:371 ../fuse/guestmount.pod:250 ../rescue/virt-rescue.pod:163 msgid "B<--ro>" msgstr "" @@ -16222,7 +16222,7 @@ msgid "See also L below." msgstr "" #. type: =item -#: ../fish/guestfish.pod:386 ../fuse/guestmount.pod:253 ../rescue/virt-rescue.pod:173 +#: ../fish/guestfish.pod:386 ../fuse/guestmount.pod:262 ../rescue/virt-rescue.pod:173 msgid "B<--selinux>" msgstr "" @@ -16244,17 +16244,17 @@ msgid "Display the guestfish / libguestfs version number and exit." msgstr "" #. type: =item -#: ../fish/guestfish.pod:403 ../fuse/guestmount.pod:269 ../rescue/virt-rescue.pod:190 +#: ../fish/guestfish.pod:403 ../fuse/guestmount.pod:278 ../rescue/virt-rescue.pod:190 msgid "B<-w>" msgstr "" #. type: =item -#: ../fish/guestfish.pod:405 ../fuse/guestmount.pod:271 ../rescue/virt-rescue.pod:192 +#: ../fish/guestfish.pod:405 ../fuse/guestmount.pod:280 ../rescue/virt-rescue.pod:192 msgid "B<--rw>" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:407 ../fuse/guestmount.pod:273 +#: ../fish/guestfish.pod:407 ../fuse/guestmount.pod:282 msgid "" "This changes the I<-a>, I<-d> and I<-m> options so that disks are added and " "mounts are done read-write." @@ -17537,18 +17537,92 @@ msgstr "" #. type: =head2 #: ../fish/guestfish.pod:976 -msgid "REMOTE CONTROL RUN COMMAND HANGING" +msgid "USING REMOTE CONTROL ROBUSTLY FROM SHELL SCRIPTS" msgstr "" #. type: textblock #: ../fish/guestfish.pod:978 msgid "" +"From Bash, you can use the following code which creates a guestfish " +"instance, correctly quotes the command line, handles failure to start, and " +"cleans up guestfish when the script exits:" +msgstr "" + +#. type: verbatim +#: ../fish/guestfish.pod:982 ../src/guestfs.pod:958 +#, no-wrap +msgid "" +" #!/bin/bash -\n" +" \n" +msgstr "" + +#. type: verbatim +#: ../fish/guestfish.pod:986 +#, no-wrap +msgid "" +" guestfish[0]=\"guestfish\"\n" +" guestfish[1]=\"--listen\"\n" +" guestfish[2]=\"--ro\"\n" +" guestfish[3]=\"-a\"\n" +" guestfish[4]=\"disk.img\"\n" +" \n" +msgstr "" + +#. type: verbatim +#: ../fish/guestfish.pod:992 +#, no-wrap +msgid "" +" GUESTFISH_PID=\n" +" eval $(\"${guestfish[@]}\")\n" +" if [ -z \"$GUESTFISH_PID\" ]; then\n" +" echo \"error: guestfish didn't start up, see error messages above\"\n" +" exit 1\n" +" fi\n" +" \n" +msgstr "" + +#. type: verbatim +#: ../fish/guestfish.pod:999 +#, no-wrap +msgid "" +" cleanup_guestfish ()\n" +" {\n" +" guestfish --remote -- exit >/dev/null 2>&1 ||:\n" +" }\n" +" trap cleanup_guestfish EXIT ERR\n" +" \n" +msgstr "" + +#. type: verbatim +#: ../fish/guestfish.pod:1005 +#, no-wrap +msgid "" +" guestfish --remote -- run\n" +" \n" +msgstr "" + +#. type: verbatim +#: ../fish/guestfish.pod:1007 +#, no-wrap +msgid "" +" # ...\n" +"\n" +msgstr "" + +#. type: =head2 +#: ../fish/guestfish.pod:1009 +msgid "REMOTE CONTROL RUN COMMAND HANGING" +msgstr "" + +#. type: textblock +#: ../fish/guestfish.pod:1011 +msgid "" "Using the C (or C) command remotely in a command substitution " "context hangs, ie. don't do (note the backquotes):" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:981 +#: ../fish/guestfish.pod:1014 #, no-wrap msgid "" " a=`guestfish --remote run`\n" @@ -17556,7 +17630,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:983 +#: ../fish/guestfish.pod:1016 msgid "" "Since the C command produces no output on stdout, this is not useful " "anyway. For further information see " @@ -17564,12 +17638,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:987 +#: ../fish/guestfish.pod:1020 msgid "PREPARED DISK IMAGES" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:989 +#: ../fish/guestfish.pod:1022 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. " @@ -17579,7 +17653,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:995 +#: ../fish/guestfish.pod:1028 msgid "" "The new disk is called C for the first I<-N>, C for " "the second and so on. Existing files in the current directory are " @@ -17587,7 +17661,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:999 +#: ../fish/guestfish.pod:1032 msgid "" "The type briefly describes how the disk should be sized, partitioned, how " "filesystem(s) should be created, and how content should be added. " @@ -17599,31 +17673,31 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1007 +#: ../fish/guestfish.pod:1040 msgid "To list the available types and any extra parameters they take, run:" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1011 +#: ../fish/guestfish.pod:1044 msgid "" "Note that the prepared filesystem is not mounted. You would usually have to " "use the C command or add the I<-m /dev/sda1> option." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1015 +#: ../fish/guestfish.pod:1048 msgid "" "If any I<-N> or I<--new> options are given, the guest is automatically " "launched." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1020 +#: ../fish/guestfish.pod:1053 msgid "Create a 100MB disk with an ext4-formatted partition:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:1022 +#: ../fish/guestfish.pod:1055 #, no-wrap msgid "" " guestfish -N fs:ext4\n" @@ -17631,12 +17705,12 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1024 +#: ../fish/guestfish.pod:1057 msgid "Create a 32MB disk with a VFAT-formatted partition, and mount it:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:1026 +#: ../fish/guestfish.pod:1059 #, no-wrap msgid "" " guestfish -N fs:vfat:32M -m /dev/sda1\n" @@ -17644,12 +17718,12 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1028 +#: ../fish/guestfish.pod:1061 msgid "Create a blank 200MB disk:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:1030 +#: ../fish/guestfish.pod:1063 #, no-wrap msgid "" " guestfish -N disk:200M\n" @@ -17657,19 +17731,19 @@ msgid "" msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:1032 +#: ../fish/guestfish.pod:1065 msgid "PROGRESS BARS" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1034 +#: ../fish/guestfish.pod:1067 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:1038 +#: ../fish/guestfish.pod:1071 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 " @@ -17677,7 +17751,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:1042 +#: ../fish/guestfish.pod:1075 #, no-wrap msgid "" " > copy-size /large-file /another-file 2048M\n" @@ -17686,7 +17760,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1045 +#: ../fish/guestfish.pod:1078 msgid "" "The spinner on the left hand side moves round once for every progress " "notification received from the backend. This is a (reasonably) golden " @@ -17697,7 +17771,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1052 +#: ../fish/guestfish.pod:1085 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>, " @@ -17705,24 +17779,24 @@ msgid "" msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:1057 +#: ../fish/guestfish.pod:1090 msgid "GUESTFISH COMMANDS" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1059 +#: ../fish/guestfish.pod:1092 msgid "" "The commands in this section are guestfish convenience commands, in other " "words, they are not part of the L API." msgstr "" #. type: =head2 -#: ../fish/guestfish.pod:1062 +#: ../fish/guestfish.pod:1095 msgid "help" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:1064 +#: ../fish/guestfish.pod:1097 #, no-wrap msgid "" " help\n" @@ -17731,71 +17805,71 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1067 +#: ../fish/guestfish.pod:1100 msgid "Without any parameter, this provides general help." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1069 +#: ../fish/guestfish.pod:1102 msgid "With a C parameter, this displays detailed help for that command." msgstr "" #. type: =head2 -#: ../fish/guestfish.pod:1071 +#: ../fish/guestfish.pod:1104 msgid "quit | exit" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1073 +#: ../fish/guestfish.pod:1106 msgid "This exits guestfish. You can also use C<^D> key." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1075 +#: ../fish/guestfish.pod:1108 msgid "@FISH_COMMANDS@" msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:1077 +#: ../fish/guestfish.pod:1110 msgid "COMMANDS" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1079 ../src/guestfs.pod:1474 +#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1497 msgid "@ACTIONS@" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1083 +#: ../fish/guestfish.pod:1116 msgid "" "guestfish returns 0 if the commands completed without error, or 1 if there " "was an error." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1090 +#: ../fish/guestfish.pod:1123 msgid "EDITOR" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1092 +#: ../fish/guestfish.pod:1125 msgid "" "The C command uses C<$EDITOR> as the editor. If not set, it uses " "C." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1095 ../src/guestfs.pod:3062 +#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3089 msgid "FEBOOTSTRAP_KERNEL" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1097 ../src/guestfs.pod:3064 +#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3091 msgid "FEBOOTSTRAP_MODULES" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1099 ../src/guestfs.pod:3066 +#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3093 msgid "" "These two environment variables allow the kernel that libguestfs uses in the " "appliance to be selected. If C<$FEBOOTSTRAP_KERNEL> is not set, then the " @@ -17805,87 +17879,87 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1105 +#: ../fish/guestfish.pod:1138 msgid "GUESTFISH_DISPLAY_IMAGE" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1107 +#: ../fish/guestfish.pod:1140 msgid "" "The C command uses C<$GUESTFISH_DISPLAY_IMAGE> to display images. " "If not set, it uses L." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1110 +#: ../fish/guestfish.pod:1143 msgid "GUESTFISH_PID" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1112 +#: ../fish/guestfish.pod:1145 msgid "" "Used with the I<--remote> option to specify the remote guestfish process to " "control. See section L." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1116 +#: ../fish/guestfish.pod:1149 msgid "HEXEDITOR" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1118 +#: ../fish/guestfish.pod:1151 msgid "" "The L command uses C<$HEXEDITOR> as the external hex editor. If " "not specified, the external L program is used." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1122 +#: ../fish/guestfish.pod:1155 msgid "HOME" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1124 +#: ../fish/guestfish.pod:1157 msgid "" "If compiled with GNU readline support, various files in the home directory " "can be used. See L." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1127 ../src/guestfs.pod:3072 +#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3099 msgid "LIBGUESTFS_APPEND" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1129 ../src/guestfs.pod:3074 +#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3101 msgid "Pass additional options to the guest kernel." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1131 ../src/guestfs.pod:3076 +#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3103 msgid "LIBGUESTFS_DEBUG" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1133 +#: ../fish/guestfish.pod:1166 msgid "" "Set C to enable verbose messages. This has the same " "effect as using the B<-v> option." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1136 ../src/guestfs.pod:3081 +#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3108 msgid "LIBGUESTFS_MEMSIZE" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1138 ../src/guestfs.pod:3083 +#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3110 msgid "Set the memory allocated to the qemu process, in megabytes. For example:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:1141 ../src/guestfs.pod:3086 +#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3113 #, no-wrap msgid "" " LIBGUESTFS_MEMSIZE=700\n" @@ -17893,65 +17967,65 @@ msgid "" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1143 ../src/guestfs.pod:3088 +#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3115 msgid "LIBGUESTFS_PATH" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1145 +#: ../fish/guestfish.pod:1178 msgid "" "Set the path that guestfish uses to search for kernel and initrd.img. See " "the discussion of paths in L." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1148 ../src/guestfs.pod:3093 +#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3120 msgid "LIBGUESTFS_QEMU" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1150 ../src/guestfs.pod:3095 +#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3122 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: =item -#: ../fish/guestfish.pod:1154 ../src/guestfs.pod:3101 +#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3128 msgid "LIBGUESTFS_TRACE" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1156 +#: ../fish/guestfish.pod:1189 msgid "Set C to enable command traces." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1158 +#: ../fish/guestfish.pod:1191 msgid "PAGER" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1160 +#: ../fish/guestfish.pod:1193 msgid "" "The C command uses C<$PAGER> as the pager. If not set, it uses " "C." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1163 ../src/guestfs.pod:3106 +#: ../fish/guestfish.pod:1196 ../src/guestfs.pod:3133 msgid "TMPDIR" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1165 ../src/guestfs.pod:3108 +#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3135 msgid "" "Location of temporary directory, defaults to C except for the cached " "supermin appliance which defaults to C." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1168 ../src/guestfs.pod:3111 +#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3138 msgid "" "If libguestfs was compiled to use the supermin appliance then the real " "appliance is cached in this directory, shared between all handles belonging " @@ -17960,56 +18034,56 @@ msgid "" msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:1176 ../fuse/guestmount.pod:288 ../rescue/virt-rescue.pod:269 +#: ../fish/guestfish.pod:1209 ../fuse/guestmount.pod:297 ../rescue/virt-rescue.pod:269 msgid "FILES" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1180 ../fuse/guestmount.pod:292 ../rescue/virt-rescue.pod:273 +#: ../fish/guestfish.pod:1213 ../fuse/guestmount.pod:301 ../rescue/virt-rescue.pod:273 msgid "$HOME/.libguestfs-tools.rc" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1182 ../fuse/guestmount.pod:294 ../rescue/virt-rescue.pod:275 +#: ../fish/guestfish.pod:1215 ../fuse/guestmount.pod:303 ../rescue/virt-rescue.pod:275 msgid "/etc/libguestfs-tools.conf" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1184 ../fuse/guestmount.pod:296 ../rescue/virt-rescue.pod:277 +#: ../fish/guestfish.pod:1217 ../fuse/guestmount.pod:305 ../rescue/virt-rescue.pod:277 msgid "" "This configuration file controls the default read-only or read-write mode " "(I<--ro> or I<--rw>)." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1187 +#: ../fish/guestfish.pod:1220 msgid "See L." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1189 +#: ../fish/guestfish.pod:1222 msgid "$HOME/.guestfish" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1191 +#: ../fish/guestfish.pod:1224 msgid "" "If compiled with GNU readline support, then the command history is saved in " "this file." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1194 +#: ../fish/guestfish.pod:1227 msgid "$HOME/.inputrc" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1196 +#: ../fish/guestfish.pod:1229 msgid "/etc/inputrc" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1198 +#: ../fish/guestfish.pod:1231 msgid "" "If compiled with GNU readline support, then these files can be used to " "configure readline. For further information, please see " @@ -18017,12 +18091,12 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1202 +#: ../fish/guestfish.pod:1235 msgid "To write rules which only apply to guestfish, use:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:1204 +#: ../fish/guestfish.pod:1237 #, no-wrap msgid "" " $if guestfish\n" @@ -18032,26 +18106,26 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1208 +#: ../fish/guestfish.pod:1241 msgid "" "Variables that you can set in inputrc that change the behaviour of guestfish " "in useful ways include:" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1213 +#: ../fish/guestfish.pod:1246 msgid "completion-ignore-case (default: on)" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1215 +#: ../fish/guestfish.pod:1248 msgid "" "By default, guestfish will ignore case when tab-completing paths on the " "disk. Use:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:1218 +#: ../fish/guestfish.pod:1251 #, no-wrap msgid "" " set completion-ignore-case off\n" @@ -18059,22 +18133,22 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1220 +#: ../fish/guestfish.pod:1253 msgid "to make guestfish case sensitive." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1224 +#: ../fish/guestfish.pod:1257 msgid "test1.img" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1226 +#: ../fish/guestfish.pod:1259 msgid "test2.img (etc)" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1228 +#: ../fish/guestfish.pod:1261 msgid "" "When using the I<-N> or I<--new> option, the prepared disk or filesystem " "will be created in the file C in the current directory. The " @@ -18083,7 +18157,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1237 +#: ../fish/guestfish.pod:1270 msgid "" "L, L, L, " "L, L, L, L, " @@ -18095,7 +18169,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1266 ../src/guestfs.pod:3197 ../test-tool/libguestfs-test-tool.pod:112 +#: ../fish/guestfish.pod:1299 ../src/guestfs.pod:3225 ../test-tool/libguestfs-test-tool.pod:112 msgid "Copyright (C) 2009-2011 Red Hat Inc. L" msgstr "" @@ -18598,18 +18672,38 @@ msgid "" "\n" msgstr "" +#. type: =head2 +#: ../fuse/guestmount.pod:83 +msgid "Enabling FUSE" +msgstr "" + +#. type: textblock +#: ../fuse/guestmount.pod:85 +msgid "" +"On some distros, you may need to add yourself to a special group " +"(eg. C) before you can use any FUSE filesystem. This is necessary on " +"Debian and derivatives." +msgstr "" + +#. type: textblock +#: ../fuse/guestmount.pod:89 +msgid "" +"On other distros, no special group is required. It is not necessary on " +"Fedora or Red Hat Enterprise Linux." +msgstr "" + #. type: textblock -#: ../fuse/guestmount.pod:91 +#: ../fuse/guestmount.pod:100 msgid "Add a block device or virtual machine image." msgstr "" #. type: =item -#: ../fuse/guestmount.pod:114 +#: ../fuse/guestmount.pod:123 msgid "B<--dir-cache-timeout N>" msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:116 +#: ../fuse/guestmount.pod:125 msgid "" "Set the readdir cache timeout to I seconds, the default being 60 " "seconds. The readdir cache [actually, there are several semi-independent " @@ -18619,7 +18713,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:122 +#: ../fuse/guestmount.pod:131 msgid "" "There is also a different attribute cache implemented by FUSE (see the FUSE " "option I<-o attr_timeout>), but the FUSE cache does not anticipate future " @@ -18627,7 +18721,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:142 +#: ../fuse/guestmount.pod:151 msgid "" "If you have untrusted raw-format guest disk images, you should use this " "option to specify the disk format. This avoids a possible security problem " @@ -18636,36 +18730,36 @@ msgid "" msgstr "" #. type: =item -#: ../fuse/guestmount.pod:147 +#: ../fuse/guestmount.pod:156 msgid "B<--fuse-help>" msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:149 +#: ../fuse/guestmount.pod:158 msgid "Display help on special FUSE options (see I<-o> below)." msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:153 +#: ../fuse/guestmount.pod:162 msgid "Display brief help and exit." msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:177 +#: ../fuse/guestmount.pod:186 msgid "" "Mount the named partition or logical volume on the given mountpoint B (this has nothing to do with mountpoints in the host)." msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:180 +#: ../fuse/guestmount.pod:189 msgid "" "If the mountpoint is omitted, it defaults to C. You have to mount " "something on C." msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:197 +#: ../fuse/guestmount.pod:206 msgid "" "By default, we attempt to sync the guest disk when the FUSE mountpoint is " "unmounted. If you specify this option, then we don't attempt to sync the " @@ -18673,22 +18767,22 @@ msgid "" msgstr "" #. type: =item -#: ../fuse/guestmount.pod:202 +#: ../fuse/guestmount.pod:211 msgid "B<-o option>" msgstr "" #. type: =item -#: ../fuse/guestmount.pod:204 +#: ../fuse/guestmount.pod:213 msgid "B<--option option>" msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:206 +#: ../fuse/guestmount.pod:215 msgid "Pass extra options to FUSE." msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:208 +#: ../fuse/guestmount.pod:217 msgid "" "To get a list of all the extra options supported by FUSE, use the command " "below. Note that only the FUSE I<-o> options can be passed, and only some " @@ -18696,7 +18790,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fuse/guestmount.pod:212 +#: ../fuse/guestmount.pod:221 #, no-wrap msgid "" " guestmount --fuse-help\n" @@ -18704,37 +18798,37 @@ msgid "" msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:214 +#: ../fuse/guestmount.pod:223 msgid "Some potentially useful FUSE options:" msgstr "" #. type: =item -#: ../fuse/guestmount.pod:218 +#: ../fuse/guestmount.pod:227 msgid "B<-o allow_other>" msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:220 +#: ../fuse/guestmount.pod:229 msgid "Allow other users to see the filesystem." msgstr "" #. type: =item -#: ../fuse/guestmount.pod:222 +#: ../fuse/guestmount.pod:231 msgid "B<-o attr_timeout=N>" msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:224 +#: ../fuse/guestmount.pod:233 msgid "Enable attribute caching by FUSE, and set the timeout to I seconds." msgstr "" #. type: =item -#: ../fuse/guestmount.pod:226 +#: ../fuse/guestmount.pod:235 msgid "B<-o kernel_cache>" msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:228 +#: ../fuse/guestmount.pod:237 msgid "" "Allow the kernel to cache files (reduces the number of reads that have to go " "through the L API). This is generally a good idea if you can " @@ -18742,26 +18836,26 @@ msgid "" msgstr "" #. type: =item -#: ../fuse/guestmount.pod:232 +#: ../fuse/guestmount.pod:241 msgid "B<-o uid=N> B<-o gid=N>" msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:234 +#: ../fuse/guestmount.pod:243 msgid "" "Use these options to map all UIDs and GIDs inside the guest filesystem to " "the chosen values." msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:243 +#: ../fuse/guestmount.pod:252 msgid "" "Add devices and mount everything read-only. Also disallow writes and make " "the disk appear read-only to FUSE." msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:246 +#: ../fuse/guestmount.pod:255 msgid "" "This is highly recommended if you are not going to edit the guest disk. If " "the guest is running and this option is I supplied, then there is a " @@ -18770,47 +18864,47 @@ msgid "" msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:251 ../rescue/virt-rescue.pod:171 +#: ../fuse/guestmount.pod:260 ../rescue/virt-rescue.pod:171 msgid "See also L." msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:255 +#: ../fuse/guestmount.pod:264 msgid "Enable SELinux support for the guest." msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:261 +#: ../fuse/guestmount.pod:270 msgid "Enable verbose messages from underlying libguestfs." msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:267 +#: ../fuse/guestmount.pod:276 msgid "Display the program version and exit." msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:276 ../fuse/guestmount.pod:299 ../rescue/virt-rescue.pod:197 ../rescue/virt-rescue.pod:280 +#: ../fuse/guestmount.pod:285 ../fuse/guestmount.pod:308 ../rescue/virt-rescue.pod:197 ../rescue/virt-rescue.pod:280 msgid "See L." msgstr "" #. type: =item -#: ../fuse/guestmount.pod:280 +#: ../fuse/guestmount.pod:289 msgid "B<--trace>" msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:282 +#: ../fuse/guestmount.pod:291 msgid "Trace libguestfs calls and entry into each FUSE function." msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:284 +#: ../fuse/guestmount.pod:293 msgid "This also stops the daemon from forking into the background." msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:310 +#: ../fuse/guestmount.pod:319 msgid "" "L, L, L, L, " "L, L, L, " @@ -18818,7 +18912,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fuse/guestmount.pod:325 +#: ../fuse/guestmount.pod:334 msgid "Copyright (C) 2009-2010 Red Hat Inc. L" msgstr "" @@ -20110,7 +20204,7 @@ msgid "" msgstr "" #. type: =item -#: ../resize/virt-resize.pod:31 ../src/guestfs.pod:469 ../src/guestfs.pod:1257 ../src/guestfs.pod:1395 ../src/guestfs.pod:2558 +#: ../resize/virt-resize.pod:31 ../src/guestfs.pod:469 ../src/guestfs.pod:1280 ../src/guestfs.pod:1418 ../src/guestfs.pod:2581 msgid "1." msgstr "" @@ -20148,7 +20242,7 @@ msgid "" msgstr "" #. type: =item -#: ../resize/virt-resize.pod:44 ../src/guestfs.pod:475 ../src/guestfs.pod:1261 ../src/guestfs.pod:1399 ../src/guestfs.pod:2583 +#: ../resize/virt-resize.pod:44 ../src/guestfs.pod:475 ../src/guestfs.pod:1284 ../src/guestfs.pod:1422 ../src/guestfs.pod:2606 msgid "2." msgstr "" @@ -20169,7 +20263,7 @@ msgid "" msgstr "" #. type: =item -#: ../resize/virt-resize.pod:52 ../src/guestfs.pod:486 ../src/guestfs.pod:1405 +#: ../resize/virt-resize.pod:52 ../src/guestfs.pod:486 ../src/guestfs.pod:1428 msgid "3." msgstr "" @@ -31904,20 +31998,56 @@ msgid "" "order to determine features." msgstr "" -#. type: =head2 +#. type: textblock #: ../src/guestfs.pod:951 +msgid "" +"Wrappers can also be used to edit the options passed to qemu. In the " +"following example, the C<-machine ...> option (C<-machine> and the following " +"argument) are removed from the command line and replaced with C<-machine " +"pc,accel=tcg>. The while loop iterates over the options until it finds the " +"right one to remove, putting the remaining options into the C array." +msgstr "" + +#. type: verbatim +#: ../src/guestfs.pod:960 +#, no-wrap +msgid "" +" i=0\n" +" while [ $# -gt 0 ]; do\n" +" case \"$1\" in\n" +" -machine)\n" +" shift 2;;\n" +" *)\n" +" args[i]=\"$1\"\n" +" (( i++ ))\n" +" shift ;;\n" +" esac\n" +" done\n" +" \n" +msgstr "" + +#. type: verbatim +#: ../src/guestfs.pod:972 +#, no-wrap +msgid "" +" exec qemu-kvm -machine pc,accel=tcg \"${args[@]}\"\n" +"\n" +msgstr "" + +#. type: =head2 +#: ../src/guestfs.pod:974 msgid "ATTACHING TO RUNNING DAEMONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:953 +#: ../src/guestfs.pod:976 msgid "" "I This is B and has a tendency to eat " "babies. Use with caution." msgstr "" #. type: textblock -#: ../src/guestfs.pod:956 +#: ../src/guestfs.pod:979 msgid "" "I This section explains how to attach to a running daemon from a " "low level perspective. For most users, simply using virt tools such as " @@ -31925,12 +32055,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:960 +#: ../src/guestfs.pod:983 msgid "Using guestfs_set_attach_method" msgstr "" #. type: textblock -#: ../src/guestfs.pod:962 +#: ../src/guestfs.pod:985 msgid "" "By calling L you can change how the library " "connects to the C daemon in L (read " @@ -31938,14 +32068,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:966 +#: ../src/guestfs.pod:989 msgid "" "The normal attach method is C, where a small appliance is created " "containing the daemon, and then the library connects to this." msgstr "" #. type: textblock -#: ../src/guestfs.pod:969 +#: ../src/guestfs.pod:992 msgid "" "Setting attach method to C> (where I is the path of a " "Unix domain socket) causes L to connect to an existing " @@ -31953,7 +32083,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:973 +#: ../src/guestfs.pod:996 msgid "" "The normal use for this is to connect to a running virtual machine that " "contains a C daemon, and send commands so you can read and write " @@ -31961,12 +32091,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:977 +#: ../src/guestfs.pod:1000 msgid "Using guestfs_add_domain with live flag" msgstr "" #. type: textblock -#: ../src/guestfs.pod:979 +#: ../src/guestfs.pod:1002 msgid "" "L provides some help for getting the correct attach " "method. If you pass the C option to this function, then (if the " @@ -31975,7 +32105,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:985 +#: ../src/guestfs.pod:1008 #, no-wrap msgid "" " \n" @@ -31993,14 +32123,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:997 +#: ../src/guestfs.pod:1020 msgid "" "L extracts C and sets the attach " "method to C." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1000 +#: ../src/guestfs.pod:1023 msgid "" "Some of the libguestfs tools (including guestfish) support a I<--live> " "option which is passed through to L thus allowing you " @@ -32008,19 +32138,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1004 +#: ../src/guestfs.pod:1027 msgid "" "The virtual machine needs to have been set up beforehand so that it has the " "virtio-serial channel and so that guestfsd is running inside it." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1008 +#: ../src/guestfs.pod:1031 msgid "ABI GUARANTEE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1010 +#: ../src/guestfs.pod:1033 msgid "" "We guarantee the libguestfs ABI (binary interface), for public, high-level " "actions as outlined in this section. Although we will deprecate some " @@ -32030,12 +32160,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1016 +#: ../src/guestfs.pod:1039 msgid "BLOCK DEVICE NAMING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1018 +#: ../src/guestfs.pod:1041 msgid "" "In the kernel there is now quite a profusion of schemata for naming block " "devices (in this context, by I I mean a physical or virtual " @@ -32050,7 +32180,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1030 +#: ../src/guestfs.pod:1053 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 " @@ -32058,7 +32188,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1034 +#: ../src/guestfs.pod:1057 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 " @@ -32066,7 +32196,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1039 +#: ../src/guestfs.pod:1062 msgid "" "Therefore libguestfs defines C as the I. " "Internally C names are translated, if necessary, to other names as " @@ -32075,7 +32205,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1045 +#: ../src/guestfs.pod:1068 msgid "" "Note that this I applies to parameters. The L, " "L and similar calls return the true names of the " @@ -32083,12 +32213,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1050 +#: ../src/guestfs.pod:1073 msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1052 +#: ../src/guestfs.pod:1075 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 " @@ -32098,7 +32228,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1058 +#: ../src/guestfs.pod:1081 msgid "" "The algorithm is applied only to I which are known to be either " "device or partition names. Return values from functions such as " @@ -32106,54 +32236,54 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1066 +#: ../src/guestfs.pod:1089 msgid "Is the string a parameter which is a device or partition name?" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1070 +#: ../src/guestfs.pod:1093 msgid "Does the string begin with C?" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1074 +#: ../src/guestfs.pod:1097 msgid "" "Does the named device exist? If so, we use that device. However if I " "then we continue with this algorithm." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1079 +#: ../src/guestfs.pod:1102 msgid "Replace initial C string with C." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1081 +#: ../src/guestfs.pod:1104 msgid "For example, change C to C." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1083 +#: ../src/guestfs.pod:1106 msgid "If that named device exists, use it. If not, continue." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1087 +#: ../src/guestfs.pod:1110 msgid "Replace initial C string with C." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1089 +#: ../src/guestfs.pod:1112 msgid "If that named device exists, use it. If not, return an error." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1093 +#: ../src/guestfs.pod:1116 msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1095 +#: ../src/guestfs.pod:1118 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 " @@ -32161,50 +32291,50 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1099 +#: ../src/guestfs.pod:1122 msgid "" "Where possible for maximum future portability programs using libguestfs " "should use these future-proof techniques:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1106 +#: ../src/guestfs.pod:1129 msgid "" "Use L or L to list actual " "device names, and then use those names directly." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1109 +#: ../src/guestfs.pod:1132 msgid "Since those device names exist by definition, they will never be translated." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1114 +#: ../src/guestfs.pod:1137 msgid "" "Use higher level ways to identify filesystems, such as LVM names, UUIDs and " "filesystem labels." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1119 +#: ../src/guestfs.pod:1142 msgid "SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1121 +#: ../src/guestfs.pod:1144 msgid "" "This section discusses security implications of using libguestfs, " "particularly with untrusted or malicious guests or disk images." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1124 +#: ../src/guestfs.pod:1147 msgid "GENERAL SECURITY CONSIDERATIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1126 +#: ../src/guestfs.pod:1149 msgid "" "Be careful with any files or data that you download from a guest (by " "\"download\" we mean not just the L command but any " @@ -32214,42 +32344,42 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1136 +#: ../src/guestfs.pod:1159 msgid "the data (file etc) not being present" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1140 +#: ../src/guestfs.pod:1163 msgid "being present but empty" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1144 +#: ../src/guestfs.pod:1167 msgid "being much larger than normal" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1148 +#: ../src/guestfs.pod:1171 msgid "containing arbitrary 8 bit data" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1152 +#: ../src/guestfs.pod:1175 msgid "being in an unexpected character encoding" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1156 +#: ../src/guestfs.pod:1179 msgid "containing homoglyphs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1160 +#: ../src/guestfs.pod:1183 msgid "SECURITY OF MOUNTING FILESYSTEMS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1162 +#: ../src/guestfs.pod:1185 msgid "" "When you mount a filesystem under Linux, mistakes in the kernel filesystem " "(VFS) module can sometimes be escalated into exploits by deliberately " @@ -32265,7 +32395,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1175 +#: ../src/guestfs.pod:1198 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 " @@ -32279,19 +32409,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1186 +#: ../src/guestfs.pod:1209 msgid "" "In any case callers can reduce the attack surface by forcing the filesystem " "type when mounting (use L)." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1189 +#: ../src/guestfs.pod:1212 msgid "PROTOCOL SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1191 +#: ../src/guestfs.pod:1214 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 " @@ -32301,12 +32431,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1197 +#: ../src/guestfs.pod:1220 msgid "INSPECTION SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1199 +#: ../src/guestfs.pod:1222 msgid "" "Parts of the inspection API (see L) return untrusted strings " "directly from the guest, and these could contain any 8 bit data. Callers " @@ -32315,7 +32445,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1205 +#: ../src/guestfs.pod:1228 msgid "" "Guest configuration may be altered in unusual ways by the administrator of " "the virtual machine, and may not reflect reality (particularly for untrusted " @@ -32326,7 +32456,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1213 +#: ../src/guestfs.pod:1236 msgid "" "The inspection API parses guest configuration using two external libraries: " "Augeas (Linux configuration) and hivex (Windows Registry). Both are " @@ -32336,12 +32466,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1219 +#: ../src/guestfs.pod:1242 msgid "RUNNING UNTRUSTED GUEST COMMANDS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1221 +#: ../src/guestfs.pod:1244 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 " @@ -32351,24 +32481,24 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1227 +#: ../src/guestfs.pod:1250 msgid "CVE-2010-3851" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1229 +#: ../src/guestfs.pod:1252 msgid "https://bugzilla.redhat.com/642934" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1231 +#: ../src/guestfs.pod:1254 msgid "" "This security bug concerns the automatic disk format detection that qemu " "does on disk images." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1234 +#: ../src/guestfs.pod:1257 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 " @@ -32377,7 +32507,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1239 +#: ../src/guestfs.pod:1262 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 " @@ -32386,7 +32516,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1244 +#: ../src/guestfs.pod:1267 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 " @@ -32398,24 +32528,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1252 +#: ../src/guestfs.pod:1275 msgid "In libguestfs this is rather hard to exploit except under two circumstances:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1259 +#: ../src/guestfs.pod:1282 msgid "You have enabled the network or have opened the disk in write mode." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1263 +#: ../src/guestfs.pod:1286 msgid "" "You are also running untrusted code from the guest (see L)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1268 +#: ../src/guestfs.pod:1291 msgid "" "The way to avoid this is to specify the expected disk format when adding " "disks (the optional C option to L). You " @@ -32424,31 +32554,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1273 +#: ../src/guestfs.pod:1296 msgid "" "For disks added from libvirt using calls like L, the " "format is fetched from libvirt and passed through." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1276 +#: ../src/guestfs.pod:1299 msgid "" "For libguestfs tools, use the I<--format> command line parameter as " "appropriate." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1279 +#: ../src/guestfs.pod:1302 msgid "CONNECTION MANAGEMENT" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1281 +#: ../src/guestfs.pod:1304 msgid "guestfs_h *" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1283 +#: ../src/guestfs.pod:1306 msgid "" "C is the opaque type representing a connection handle. Create a " "handle by calling L. Call L to free the " @@ -32456,19 +32586,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1287 +#: ../src/guestfs.pod:1310 msgid "" "For information on using multiple handles and threads, see the section " "L above." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1290 +#: ../src/guestfs.pod:1313 msgid "guestfs_create" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1292 +#: ../src/guestfs.pod:1315 #, no-wrap msgid "" " guestfs_h *guestfs_create (void);\n" @@ -32476,19 +32606,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1294 +#: ../src/guestfs.pod:1317 msgid "Create a connection handle." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1296 +#: ../src/guestfs.pod:1319 msgid "" "On success this returns a non-NULL pointer to a handle. On error it returns " "NULL." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1299 +#: ../src/guestfs.pod:1322 msgid "" "You have to \"configure\" the handle after creating it. This includes " "calling L (or one of the equivalent calls) on the " @@ -32496,24 +32626,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1303 +#: ../src/guestfs.pod:1326 msgid "After configuring the handle, you have to call L." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1305 +#: ../src/guestfs.pod:1328 msgid "" "You may also want to configure error handling for the handle. See the " "L section below." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1308 +#: ../src/guestfs.pod:1331 msgid "guestfs_close" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1310 +#: ../src/guestfs.pod:1333 #, no-wrap msgid "" " void guestfs_close (guestfs_h *g);\n" @@ -32521,12 +32651,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1312 +#: ../src/guestfs.pod:1335 msgid "This closes the connection handle and frees up all resources used." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1314 +#: ../src/guestfs.pod:1337 msgid "" "If autosync was set on the handle and the handle was launched, then this " "implicitly calls various functions to unmount filesystems and sync the " @@ -32534,24 +32664,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1318 +#: ../src/guestfs.pod:1341 msgid "If a close callback was set on the handle, then it is called." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1320 +#: ../src/guestfs.pod:1343 msgid "ERROR HANDLING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1322 +#: ../src/guestfs.pod:1345 msgid "" "API functions can return errors. For example, almost all functions that " "return C will return C<-1> to indicate an error." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1325 +#: ../src/guestfs.pod:1348 msgid "" "Additional information is available for errors: an error message string and " "optionally an error number (errno) if the thing that failed was a system " @@ -32559,7 +32689,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1329 +#: ../src/guestfs.pod:1352 msgid "" "You can get at the additional information about the last error on the handle " "by calling L, L, and/or by setting " @@ -32567,7 +32697,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1334 +#: ../src/guestfs.pod:1357 msgid "" "When the handle is created, a default error handler is installed which " "prints the error message string to C. For small short-running " @@ -32575,7 +32705,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1338 +#: ../src/guestfs.pod:1361 #, no-wrap msgid "" " if (guestfs_launch (g) == -1)\n" @@ -32584,21 +32714,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1341 +#: ../src/guestfs.pod:1364 msgid "" "since the default error handler will ensure that an error message has been " "printed to C before the program exits." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1344 +#: ../src/guestfs.pod:1367 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:1347 +#: ../src/guestfs.pod:1370 #, no-wrap msgid "" " g = guestfs_create ();\n" @@ -32606,7 +32736,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1349 +#: ../src/guestfs.pod:1372 #, no-wrap msgid "" " /* This disables the default behaviour of printing errors\n" @@ -32616,7 +32746,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1353 +#: ../src/guestfs.pod:1376 #, no-wrap msgid "" " if (guestfs_launch (g) == -1) {\n" @@ -32630,7 +32760,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1361 +#: ../src/guestfs.pod:1384 msgid "" "Out of memory errors are handled differently. The default action is to call " "L. If this is undesirable, then you can set a handler using " @@ -32638,7 +32768,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1365 +#: ../src/guestfs.pod:1388 msgid "" "L returns C if the handle cannot be created, and " "because there is no handle if this happens there is no way to get additional " @@ -32648,12 +32778,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1371 +#: ../src/guestfs.pod:1394 msgid "guestfs_last_error" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1373 +#: ../src/guestfs.pod:1396 #, no-wrap msgid "" " const char *guestfs_last_error (guestfs_h *g);\n" @@ -32661,26 +32791,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1375 +#: ../src/guestfs.pod:1398 msgid "" "This returns the last error message that happened on C. If there has not " "been an error since the handle was created, then this returns C." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1379 +#: ../src/guestfs.pod:1402 msgid "" "The lifetime of the returned string is until the next error occurs, or " "L is called." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1382 +#: ../src/guestfs.pod:1405 msgid "guestfs_last_errno" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1384 +#: ../src/guestfs.pod:1407 #, no-wrap msgid "" " int guestfs_last_errno (guestfs_h *g);\n" @@ -32688,27 +32818,27 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1386 +#: ../src/guestfs.pod:1409 msgid "This returns the last error number (errno) that happened on C." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1388 +#: ../src/guestfs.pod:1411 msgid "If successful, an errno integer not equal to zero is returned." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1390 +#: ../src/guestfs.pod:1413 msgid "If no error, this returns 0. This call can return 0 in three situations:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1397 +#: ../src/guestfs.pod:1420 msgid "There has not been any error on the handle." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1401 +#: ../src/guestfs.pod:1424 msgid "" "There has been an error but the errno was meaningless. This corresponds to " "the case where the error did not come from a failed system call, but for " @@ -32716,14 +32846,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1407 +#: ../src/guestfs.pod:1430 msgid "" "There was an error from a failed system call, but for some reason the errno " "was not captured and returned. This usually indicates a bug in libguestfs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1413 +#: ../src/guestfs.pod:1436 msgid "" "Libguestfs tries to convert the errno from inside the applicance into a " "corresponding errno for the caller (not entirely trivial: the appliance " @@ -32734,12 +32864,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1421 +#: ../src/guestfs.pod:1444 msgid "guestfs_set_error_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1423 +#: ../src/guestfs.pod:1446 #, no-wrap msgid "" " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n" @@ -32752,7 +32882,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1430 +#: ../src/guestfs.pod:1453 msgid "" "The callback C will be called if there is an error. The parameters " "passed to the callback are an opaque data pointer and the error message " @@ -32760,14 +32890,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1434 +#: ../src/guestfs.pod:1457 msgid "" "C is not passed to the callback. To get that the callback must call " "L." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1437 +#: ../src/guestfs.pod:1460 msgid "" "Note that the message string C is freed as soon as the callback " "function returns, so if you want to stash it somewhere you must make your " @@ -32775,22 +32905,22 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1441 +#: ../src/guestfs.pod:1464 msgid "The default handler prints messages on C." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1443 +#: ../src/guestfs.pod:1466 msgid "If you set C to C then I handler is called." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1445 +#: ../src/guestfs.pod:1468 msgid "guestfs_get_error_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1447 +#: ../src/guestfs.pod:1470 #, no-wrap msgid "" " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n" @@ -32799,17 +32929,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1450 +#: ../src/guestfs.pod:1473 msgid "Returns the current error handler callback." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1452 +#: ../src/guestfs.pod:1475 msgid "guestfs_set_out_of_memory_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1454 +#: ../src/guestfs.pod:1477 #, no-wrap msgid "" " typedef void (*guestfs_abort_cb) (void);\n" @@ -32819,29 +32949,29 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1458 +#: ../src/guestfs.pod:1481 msgid "" "The callback C will be called if there is an out of memory situation. " "I." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1461 +#: ../src/guestfs.pod:1484 msgid "The default is to call L." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1463 +#: ../src/guestfs.pod:1486 msgid "You cannot set C to C. You can't ignore out of memory situations." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1466 +#: ../src/guestfs.pod:1489 msgid "guestfs_get_out_of_memory_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1468 +#: ../src/guestfs.pod:1491 #, no-wrap msgid "" " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n" @@ -32849,37 +32979,37 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1470 +#: ../src/guestfs.pod:1493 msgid "This returns the current out of memory handler." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1472 +#: ../src/guestfs.pod:1495 msgid "API CALLS" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1476 +#: ../src/guestfs.pod:1499 msgid "STRUCTURES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1478 +#: ../src/guestfs.pod:1501 msgid "@STRUCTS@" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1480 +#: ../src/guestfs.pod:1503 msgid "AVAILABILITY" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1482 +#: ../src/guestfs.pod:1505 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1484 +#: ../src/guestfs.pod:1507 msgid "" "Using L you can test availability of the following " "groups of functions. This test queries the appliance to see if the " @@ -32887,17 +33017,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1489 +#: ../src/guestfs.pod:1512 msgid "@AVAILABILITY@" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1491 +#: ../src/guestfs.pod:1514 msgid "GUESTFISH supported COMMAND" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1493 +#: ../src/guestfs.pod:1516 msgid "" "In L there is a handy interactive command C which " "prints out the available groups and whether they are supported by this build " @@ -32905,19 +33035,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1498 +#: ../src/guestfs.pod:1521 msgid "SINGLE CALLS AT COMPILE TIME" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1500 +#: ../src/guestfs.pod:1523 msgid "" "Since version 1.5.8, Cguestfs.hE> defines symbols for each C API " "function, such as:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1503 +#: ../src/guestfs.pod:1526 #, no-wrap msgid "" " #define LIBGUESTFS_HAVE_DD 1\n" @@ -32925,12 +33055,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1505 +#: ../src/guestfs.pod:1528 msgid "if L is available." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1507 +#: ../src/guestfs.pod:1530 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 " @@ -32938,7 +33068,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1512 +#: ../src/guestfs.pod:1535 #, no-wrap msgid "" " AC_CHECK_LIB([guestfs],[guestfs_create])\n" @@ -32947,19 +33077,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1515 +#: ../src/guestfs.pod:1538 msgid "" "which would result in C being either defined or not defined " "in your program." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1518 +#: ../src/guestfs.pod:1541 msgid "SINGLE CALLS AT RUN TIME" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1520 +#: ../src/guestfs.pod:1543 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 " @@ -32969,7 +33099,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1527 +#: ../src/guestfs.pod:1550 msgid "" "You can use L 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 " @@ -32977,7 +33107,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1531 +#: ../src/guestfs.pod:1554 #, no-wrap msgid "" " #include \n" @@ -32989,7 +33119,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1537 +#: ../src/guestfs.pod:1560 #, no-wrap msgid "" " main ()\n" @@ -33001,7 +33131,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1543 +#: ../src/guestfs.pod:1566 #, no-wrap msgid "" " /* Test if the function guestfs_dd is really available. */\n" @@ -33016,7 +33146,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1552 +#: ../src/guestfs.pod:1575 #, no-wrap msgid "" " if (!has_function)\n" @@ -33035,7 +33165,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1565 +#: ../src/guestfs.pod:1588 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 " @@ -33043,7 +33173,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1570 +#: ../src/guestfs.pod:1593 #, no-wrap msgid "" " Requires: libguestfs >= 1.0.80\n" @@ -33051,12 +33181,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1572 +#: ../src/guestfs.pod:1595 msgid "CALLS WITH OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1574 +#: ../src/guestfs.pod:1597 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 " @@ -33064,7 +33194,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1579 +#: ../src/guestfs.pod:1602 #, no-wrap msgid "" " int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n" @@ -33072,14 +33202,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1581 +#: ../src/guestfs.pod:1604 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:1584 +#: ../src/guestfs.pod:1607 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename, -1);\n" @@ -33087,12 +33217,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1586 +#: ../src/guestfs.pod:1609 msgid "With a single optional argument:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1588 +#: ../src/guestfs.pod:1611 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -33102,12 +33232,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1592 +#: ../src/guestfs.pod:1615 msgid "With two:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1594 +#: ../src/guestfs.pod:1617 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -33118,19 +33248,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1599 +#: ../src/guestfs.pod:1622 msgid "" "and so forth. Don't forget the terminating C<-1> otherwise Bad Things will " "happen!" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1602 +#: ../src/guestfs.pod:1625 msgid "USING va_list FOR OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1604 +#: ../src/guestfs.pod:1627 msgid "" "The second variant has the same name with the suffix C<_va>, which works the " "same way but takes a C. See the C manual for details. For the " @@ -33138,7 +33268,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1608 +#: ../src/guestfs.pod:1631 #, no-wrap msgid "" " int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n" @@ -33147,12 +33277,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1611 +#: ../src/guestfs.pod:1634 msgid "CONSTRUCTING OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1613 +#: ../src/guestfs.pod:1636 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 " @@ -33162,7 +33292,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1619 +#: ../src/guestfs.pod:1642 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv {\n" @@ -33177,12 +33307,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1628 +#: ../src/guestfs.pod:1651 msgid "You could call it like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1630 +#: ../src/guestfs.pod:1653 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv optargs = {\n" @@ -33195,7 +33325,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1637 +#: ../src/guestfs.pod:1660 #, no-wrap msgid "" " guestfs_add_drive_opts_argv (g, filename, &optargs);\n" @@ -33203,29 +33333,29 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1645 +#: ../src/guestfs.pod:1668 msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1650 +#: ../src/guestfs.pod:1673 msgid "You do not need to fill in all fields of the structure." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1654 +#: ../src/guestfs.pod:1677 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:1659 +#: ../src/guestfs.pod:1682 msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1661 +#: ../src/guestfs.pod:1684 msgid "" "In other languages, optional arguments are expressed in the way that is " "natural for that language. We refer you to the language-specific " @@ -33233,17 +33363,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1665 +#: ../src/guestfs.pod:1688 msgid "For guestfish, see L." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1667 +#: ../src/guestfs.pod:1690 msgid "SETTING CALLBACKS TO HANDLE EVENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1669 +#: ../src/guestfs.pod:1692 msgid "" "B This section documents the generic event mechanism introduced in " "libguestfs 1.10, which you should use in new code if possible. The old " @@ -33255,7 +33385,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1678 +#: ../src/guestfs.pod:1701 msgid "" "Handles generate events when certain things happen, such as log messages " "being generated, progress messages during long-running operations, or the " @@ -33267,7 +33397,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1686 +#: ../src/guestfs.pod:1709 msgid "" "In the current implementation, events are only generated synchronously: that " "means that events (and hence callbacks) can only happen while you are in the " @@ -33276,31 +33406,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1691 +#: ../src/guestfs.pod:1714 msgid "" "Events may contain a payload, usually nothing (void), an array of 64 bit " "unsigned integers, or a message buffer. Payloads are discussed later on." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1695 +#: ../src/guestfs.pod:1718 msgid "CLASSES OF EVENTS" msgstr "" #. type: =item -#: ../src/guestfs.pod:1699 +#: ../src/guestfs.pod:1722 msgid "GUESTFS_EVENT_CLOSE (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1702 +#: ../src/guestfs.pod:1725 msgid "" "The callback function will be called while the handle is being closed " "(synchronously from L)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1705 +#: ../src/guestfs.pod:1728 msgid "" "Note that libguestfs installs an L handler to try to clean up " "handles that are open when the program exits. This means that this callback " @@ -33311,19 +33441,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1712 +#: ../src/guestfs.pod:1735 msgid "" "If no callback is registered: the handle is closed without any callback " "being invoked." msgstr "" #. type: =item -#: ../src/guestfs.pod:1715 +#: ../src/guestfs.pod:1738 msgid "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1718 +#: ../src/guestfs.pod:1741 msgid "" "The callback function will be called when the child process quits, either " "asynchronously or if killed by L. (This " @@ -33331,17 +33461,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1722 ../src/guestfs.pod:1731 +#: ../src/guestfs.pod:1745 ../src/guestfs.pod:1754 msgid "If no callback is registered: the event is ignored." msgstr "" #. type: =item -#: ../src/guestfs.pod:1724 +#: ../src/guestfs.pod:1747 msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1727 +#: ../src/guestfs.pod:1750 msgid "" "The callback function will be called when the child process becomes ready " "first time after it has been launched. (This corresponds to a transition " @@ -33349,12 +33479,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1733 +#: ../src/guestfs.pod:1756 msgid "GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1736 +#: ../src/guestfs.pod:1759 msgid "" "Some long-running operations can generate progress messages. If this " "callback is registered, then it will be called each time a progress message " @@ -33364,14 +33494,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1742 +#: ../src/guestfs.pod:1765 msgid "" "The callback receives in the payload four unsigned 64 bit numbers which are " "(in order): C, C, C, C." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1745 +#: ../src/guestfs.pod:1768 msgid "" "The units of C are not defined, although for some operations C " "may relate in some way to the amount of data to be transferred (eg. in bytes " @@ -33380,24 +33510,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1750 +#: ../src/guestfs.pod:1773 msgid "The only defined and stable parts of the API are:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1756 +#: ../src/guestfs.pod:1779 msgid "" "The callback can display to the user some type of progress bar or indicator " "which shows the ratio of C:C." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1761 +#: ../src/guestfs.pod:1784 msgid "0 E= C E= C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1765 +#: ../src/guestfs.pod:1788 msgid "" "If any progress notification is sent during a call, then a final progress " "notification is always sent when C = C (I the call " @@ -33405,7 +33535,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1769 +#: ../src/guestfs.pod:1792 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 " @@ -33413,7 +33543,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1775 +#: ../src/guestfs.pod:1798 msgid "" "For some calls we are unable to estimate the progress of the call, but we " "can still generate progress messages to indicate activity. This is known as " @@ -33422,7 +33552,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1780 +#: ../src/guestfs.pod:1803 msgid "" "For these calls, zero or more progress messages are generated with " "C and C, followed by a final message with " @@ -33430,14 +33560,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1784 +#: ../src/guestfs.pod:1807 msgid "" "As noted above, if the call fails with an error then the final message may " "not be generated." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1789 +#: ../src/guestfs.pod:1812 msgid "" "The callback also receives the procedure number (C) and serial " "number (C) of the call. These are only useful for debugging " @@ -33446,31 +33576,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1795 +#: ../src/guestfs.pod:1818 msgid "If no callback is registered: progress messages are discarded." msgstr "" #. type: =item -#: ../src/guestfs.pod:1797 +#: ../src/guestfs.pod:1820 msgid "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1800 +#: ../src/guestfs.pod:1823 msgid "" "The callback function is called whenever a log message is generated by qemu, " "the appliance kernel, guestfsd (daemon), or utility programs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1803 +#: ../src/guestfs.pod:1826 msgid "" "If the verbose flag (L) is set before launch " "(L) then additional debug messages are generated." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1806 ../src/guestfs.pod:1820 +#: ../src/guestfs.pod:1829 ../src/guestfs.pod:1843 msgid "" "If no callback is registered: the messages are discarded unless the verbose " "flag is set in which case they are sent to stderr. You can override the " @@ -33478,50 +33608,50 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1811 +#: ../src/guestfs.pod:1834 msgid "GUESTFS_EVENT_LIBRARY (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1814 +#: ../src/guestfs.pod:1837 msgid "" "The callback function is called whenever a log message is generated by the " "library part of libguestfs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1817 +#: ../src/guestfs.pod:1840 msgid "" "If the verbose flag (L) is set then additional debug " "messages are generated." msgstr "" #. type: =item -#: ../src/guestfs.pod:1825 +#: ../src/guestfs.pod:1848 msgid "GUESTFS_EVENT_TRACE (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1828 +#: ../src/guestfs.pod:1851 msgid "" "The callback function is called whenever a trace message is generated. This " "only applies if the trace flag (L) is set." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1831 +#: ../src/guestfs.pod:1854 msgid "" "If no callback is registered: the messages are sent to stderr. You can " "override the printing of trace messages to stderr by setting up a callback." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1837 +#: ../src/guestfs.pod:1860 msgid "guestfs_set_event_callback" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1839 +#: ../src/guestfs.pod:1862 #, no-wrap msgid "" " int guestfs_set_event_callback (guestfs_h *g,\n" @@ -33533,14 +33663,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1845 +#: ../src/guestfs.pod:1868 msgid "" "This function registers a callback (C) for all event classes in the " "C." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1848 +#: ../src/guestfs.pod:1871 msgid "" "For example, to register for all log message events, you could call this " "function with the bitmask C. " @@ -33549,40 +33679,40 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1854 +#: ../src/guestfs.pod:1877 msgid "C should always be passed as 0." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1856 +#: ../src/guestfs.pod:1879 msgid "" "C is an opaque pointer which is passed to the callback. You can use " "it for any purpose." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1859 +#: ../src/guestfs.pod:1882 msgid "" "The return value is the event handle (an integer) which you can use to " "delete the callback (see below)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1862 +#: ../src/guestfs.pod:1885 msgid "" "If there is an error, this function returns C<-1>, and sets the error in the " "handle in the usual way (see L etc.)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1865 +#: ../src/guestfs.pod:1888 msgid "" "Callbacks remain in effect until they are deleted, or until the handle is " "closed." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1868 +#: ../src/guestfs.pod:1891 msgid "" "In the case where multiple callbacks are registered for a particular event " "class, all of the callbacks are called. The order in which multiple " @@ -33590,12 +33720,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1872 +#: ../src/guestfs.pod:1895 msgid "guestfs_delete_event_callback" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1874 +#: ../src/guestfs.pod:1897 #, no-wrap msgid "" " void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n" @@ -33603,7 +33733,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1876 +#: ../src/guestfs.pod:1899 msgid "" "Delete a callback that was previously registered. C should be " "the integer that was returned by a previous call to " @@ -33611,12 +33741,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1880 +#: ../src/guestfs.pod:1903 msgid "guestfs_event_callback" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1882 +#: ../src/guestfs.pod:1905 #, no-wrap msgid "" " typedef void (*guestfs_event_callback) (\n" @@ -33631,12 +33761,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1891 +#: ../src/guestfs.pod:1914 msgid "This is the type of the event callback function that you have to provide." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1894 +#: ../src/guestfs.pod:1917 msgid "" "The basic parameters are: the handle (C), the opaque user pointer " "(C), the event class (eg. C), the event " @@ -33644,7 +33774,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1898 +#: ../src/guestfs.pod:1921 msgid "" "The remaining parameters contain the event payload (if any). Each event may " "contain a payload, which usually relates to the event class, but for future " @@ -33653,7 +33783,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1903 +#: ../src/guestfs.pod:1926 msgid "" "C and C contain a message buffer (if C, then " "there is no message buffer). Note that this message buffer can contain " @@ -33661,19 +33791,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1907 +#: ../src/guestfs.pod:1930 msgid "" "C and C is an array of 64 bit unsigned integers. At the " "moment this is only used for progress messages." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1910 +#: ../src/guestfs.pod:1933 msgid "EXAMPLE: CAPTURING LOG MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1912 +#: ../src/guestfs.pod:1935 msgid "" "One motivation for the generic event API was to allow GUI programs to " "capture debug and other messages. In libguestfs E 1.8 these were sent " @@ -33681,7 +33811,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1916 +#: ../src/guestfs.pod:1939 msgid "" "Events associated with log messages are: C, " "C and C. (Note that error " @@ -33689,14 +33819,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1921 +#: ../src/guestfs.pod:1944 msgid "" "Programs have to set up a callback to capture the classes of events of " "interest:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1924 +#: ../src/guestfs.pod:1947 #, no-wrap msgid "" " int eh =\n" @@ -33712,14 +33842,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1934 +#: ../src/guestfs.pod:1957 msgid "" "The callback can then direct messages to the appropriate place. In this " "example, messages are directed to syslog:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1937 +#: ../src/guestfs.pod:1960 #, no-wrap msgid "" " static void\n" @@ -33740,12 +33870,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1952 +#: ../src/guestfs.pod:1975 msgid "CANCELLING LONG TRANSFERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1954 +#: ../src/guestfs.pod:1977 msgid "" "Some operations can be cancelled by the caller while they are in progress. " "Currently only operations that involve uploading or downloading data can be " @@ -33754,12 +33884,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1959 +#: ../src/guestfs.pod:1982 msgid "guestfs_user_cancel" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1961 +#: ../src/guestfs.pod:1984 #, no-wrap msgid "" " void guestfs_user_cancel (guestfs_h *g);\n" @@ -33767,12 +33897,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1963 +#: ../src/guestfs.pod:1986 msgid "C cancels the current upload or download operation." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1966 +#: ../src/guestfs.pod:1989 msgid "" "Unlike most other libguestfs calls, this function is signal safe and thread " "safe. You can call it from a signal handler or from another thread, without " @@ -33780,7 +33910,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1970 +#: ../src/guestfs.pod:1993 msgid "" "The transfer that was in progress (if there is one) will stop shortly " "afterwards, and will return an error. The errno (see " @@ -33789,7 +33919,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1976 +#: ../src/guestfs.pod:1999 msgid "" "No cleanup is performed: for example, if a file was being uploaded then " "after cancellation there may be a partially uploaded file. It is the " @@ -33797,12 +33927,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1980 +#: ../src/guestfs.pod:2003 msgid "There are two common places that you might call C." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1982 +#: ../src/guestfs.pod:2005 msgid "" "In an interactive text-based program, you might call it from a C " "signal handler so that pressing C<^C> cancels the current operation. (You " @@ -33811,19 +33941,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1987 +#: ../src/guestfs.pod:2010 msgid "" "In a graphical program, when the main thread is displaying a progress bar " "with a cancel button, wire up the cancel button to call this function." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1991 +#: ../src/guestfs.pod:2014 msgid "PRIVATE DATA AREA" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1993 +#: ../src/guestfs.pod:2016 msgid "" "You can attach named pieces of private data to the libguestfs handle, fetch " "them by name, and walk over them, for the lifetime of the handle. This is " @@ -33831,12 +33961,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1998 +#: ../src/guestfs.pod:2021 msgid "To attach a named piece of data, use the following call:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2000 +#: ../src/guestfs.pod:2023 #, no-wrap msgid "" " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n" @@ -33844,7 +33974,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2002 +#: ../src/guestfs.pod:2025 msgid "" "C is the name to associate with this data, and C is an arbitrary " "pointer (which can be C). Any previous item with the same key is " @@ -33852,7 +33982,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2006 +#: ../src/guestfs.pod:2029 msgid "" "You can use any C you want, but your key should I start with an " "underscore character. Keys beginning with an underscore character are " @@ -33862,12 +33992,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2012 +#: ../src/guestfs.pod:2035 msgid "To retrieve the pointer, use:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2014 +#: ../src/guestfs.pod:2037 #, no-wrap msgid "" " void *guestfs_get_private (guestfs_h *g, const char *key);\n" @@ -33875,7 +34005,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2016 +#: ../src/guestfs.pod:2039 msgid "" "This function returns C if either no data is found associated with " "C, or if the user previously set the C's C pointer to " @@ -33883,7 +34013,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2020 +#: ../src/guestfs.pod:2043 msgid "" "Libguestfs does not try to look at or interpret the C pointer in any " "way. As far as libguestfs is concerned, it need not be a valid pointer at " @@ -33894,12 +34024,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2027 +#: ../src/guestfs.pod:2050 msgid "To walk over all entries, use these two functions:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2029 +#: ../src/guestfs.pod:2052 #, no-wrap msgid "" " void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n" @@ -33907,7 +34037,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2031 +#: ../src/guestfs.pod:2054 #, no-wrap msgid "" " void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n" @@ -33915,7 +34045,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2033 +#: ../src/guestfs.pod:2056 msgid "" "C returns the first key, pointer pair (\"first\" does " "not have any particular meaning -- keys are not returned in any defined " @@ -33925,7 +34055,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2039 +#: ../src/guestfs.pod:2062 msgid "" "C returns the next key, pointer pair. The return " "value of this function is also C is there are no further entries to " @@ -33933,17 +34063,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2043 +#: ../src/guestfs.pod:2066 msgid "Notes about walking over entries:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2049 +#: ../src/guestfs.pod:2072 msgid "You must not call C while walking over the entries." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2054 +#: ../src/guestfs.pod:2077 msgid "" "The handle maintains an internal iterator which is reset when you call " "C. This internal iterator is invalidated when you " @@ -33951,12 +34081,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2060 +#: ../src/guestfs.pod:2083 msgid "If you have set the data pointer associated with a key to C, ie:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2062 +#: ../src/guestfs.pod:2085 #, no-wrap msgid "" " guestfs_set_private (g, key, NULL);\n" @@ -33964,26 +34094,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2064 +#: ../src/guestfs.pod:2087 msgid "then that C is not returned when walking." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2068 +#: ../src/guestfs.pod:2091 msgid "" "C<*key_rtn> is only valid until the next call to C, " "C or C." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2074 +#: ../src/guestfs.pod:2097 msgid "" "The following example code shows how to print all keys and data pointers " "that are associated with the handle C:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2077 +#: ../src/guestfs.pod:2100 #, no-wrap msgid "" " const char *key;\n" @@ -33997,14 +34127,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2085 +#: ../src/guestfs.pod:2108 msgid "" "More commonly you are only interested in keys that begin with an " "application-specific prefix C. Modify the loop like so:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2088 +#: ../src/guestfs.pod:2111 #, no-wrap msgid "" " const char *key;\n" @@ -34019,7 +34149,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2097 +#: ../src/guestfs.pod:2120 msgid "" "If you need to modify keys while walking, then you have to jump back to the " "beginning of the loop. For example, to delete all keys prefixed with " @@ -34027,7 +34157,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2101 +#: ../src/guestfs.pod:2124 #, no-wrap msgid "" " const char *key;\n" @@ -34049,7 +34179,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2117 +#: ../src/guestfs.pod:2140 msgid "" "Note that the above loop is guaranteed to terminate because the keys are " "being deleted, but other manipulations of keys within the loop might not " @@ -34058,24 +34188,24 @@ msgid "" msgstr "" #. type: =end -#: ../src/guestfs.pod:2122 ../src/guestfs.pod:2127 +#: ../src/guestfs.pod:2145 ../src/guestfs.pod:2150 msgid "html" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2124 +#: ../src/guestfs.pod:2147 msgid "" " " msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2129 +#: ../src/guestfs.pod:2152 msgid "ARCHITECTURE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2131 +#: ../src/guestfs.pod:2154 msgid "" "Internally, libguestfs is implemented by running an appliance (a special " "type of small virtual machine) using L. Qemu runs as a child " @@ -34083,7 +34213,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2135 +#: ../src/guestfs.pod:2158 #, no-wrap msgid "" " ___________________\n" @@ -34109,14 +34239,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2155 +#: ../src/guestfs.pod:2178 msgid "" "The library, linked to the main program, creates the child process and hence " "the appliance in the L function." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2158 +#: ../src/guestfs.pod:2181 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 " @@ -34128,7 +34258,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2167 +#: ../src/guestfs.pod:2190 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 " @@ -34139,17 +34269,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2174 +#: ../src/guestfs.pod:2197 msgid "STATE MACHINE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2176 +#: ../src/guestfs.pod:2199 msgid "libguestfs uses a state machine to model the child process:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2178 +#: ../src/guestfs.pod:2201 #, no-wrap msgid "" " |\n" @@ -34177,7 +34307,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2200 +#: ../src/guestfs.pod:2223 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), " @@ -34186,7 +34316,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2205 +#: ../src/guestfs.pod:2228 msgid "" "The guest may be killed by L, or may die " "asynchronously at any time (eg. due to some internal error), and that causes " @@ -34194,14 +34324,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2209 +#: ../src/guestfs.pod:2232 msgid "" "Configuration commands for qemu such as L can only be " "issued when in the CONFIG state." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2212 +#: ../src/guestfs.pod:2235 msgid "" "The API offers one call that goes from CONFIG through LAUNCHING to READY. " "L blocks until the child process is READY to accept " @@ -34210,7 +34340,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2218 +#: ../src/guestfs.pod:2241 msgid "" "API actions such as L can only be issued when in the READY " "state. These API calls block waiting for the command to be carried out " @@ -34220,7 +34350,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2224 +#: ../src/guestfs.pod:2247 msgid "" "Finally, the child process sends asynchronous messages back to the main " "program, such as kernel log messages. You can register a callback to " @@ -34228,17 +34358,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2228 +#: ../src/guestfs.pod:2251 msgid "INTERNALS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2230 +#: ../src/guestfs.pod:2253 msgid "APPLIANCE BOOT PROCESS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2232 +#: ../src/guestfs.pod:2255 msgid "" "This process has evolved and continues to evolve. The description here " "corresponds only to the current version of libguestfs and is provided for " @@ -34246,55 +34376,55 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2236 +#: ../src/guestfs.pod:2259 msgid "" "In order to follow the stages involved below, enable libguestfs debugging " "(set the environment variable C)." msgstr "" #. type: =item -#: ../src/guestfs.pod:2241 +#: ../src/guestfs.pod:2264 msgid "Create the appliance" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2243 +#: ../src/guestfs.pod:2266 msgid "" "C is invoked to create the kernel, a small " "initrd and the appliance." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2246 +#: ../src/guestfs.pod:2269 msgid "" "The appliance is cached in CUIDE> (or in another " "directory if C is set)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2249 +#: ../src/guestfs.pod:2272 msgid "" "For a complete description of how the appliance is created and cached, read " "the L and L man pages." msgstr "" #. type: =item -#: ../src/guestfs.pod:2253 +#: ../src/guestfs.pod:2276 msgid "Start qemu and boot the kernel" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2255 +#: ../src/guestfs.pod:2278 msgid "qemu is invoked to boot the kernel." msgstr "" #. type: =item -#: ../src/guestfs.pod:2257 +#: ../src/guestfs.pod:2280 msgid "Run the initrd" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2259 +#: ../src/guestfs.pod:2282 msgid "" "C builds a small initrd. The initrd is not the " "appliance. The purpose of the initrd is to load enough kernel modules in " @@ -34302,21 +34432,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2263 +#: ../src/guestfs.pod:2286 msgid "" "The initrd is a cpio archive called " "CUIDE/initrd>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2266 +#: ../src/guestfs.pod:2289 msgid "" "When the initrd has started you will see messages showing that kernel " "modules are being loaded, similar to this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2269 +#: ../src/guestfs.pod:2292 #, no-wrap msgid "" " febootstrap: ext2 mini initrd starting up\n" @@ -34327,12 +34457,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2274 +#: ../src/guestfs.pod:2297 msgid "Find and mount the appliance device" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2276 +#: ../src/guestfs.pod:2299 msgid "" "The appliance is a sparse file containing an ext2 filesystem which contains " "a familiar (although reduced in size) Linux operating system. It would " @@ -34340,33 +34470,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2280 +#: ../src/guestfs.pod:2303 msgid "" "The regular disks being inspected by libguestfs are the first devices " "exposed by qemu (eg. as C)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2283 +#: ../src/guestfs.pod:2306 msgid "" "The last disk added to qemu is the appliance itself (eg. C if " "there was only one regular disk)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2286 +#: ../src/guestfs.pod:2309 msgid "" "Thus the final job of the initrd is to locate the appliance disk, mount it, " "and switch root into the appliance, and run C from the appliance." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2290 +#: ../src/guestfs.pod:2313 msgid "If this works successfully you will see messages such as:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2292 +#: ../src/guestfs.pod:2315 #, no-wrap msgid "" " febootstrap: picked /sys/block/vdb/dev as root device\n" @@ -34378,19 +34508,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2298 +#: ../src/guestfs.pod:2321 msgid "" "Note that C indicates that the appliance's init " "script is now running." msgstr "" #. type: =item -#: ../src/guestfs.pod:2301 +#: ../src/guestfs.pod:2324 msgid "Initialize the appliance" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2303 +#: ../src/guestfs.pod:2326 msgid "" "The appliance itself now initializes itself. This involves starting certain " "processes like C, possibly printing some debug information, and " @@ -34398,19 +34528,19 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2307 +#: ../src/guestfs.pod:2330 msgid "The daemon" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2309 +#: ../src/guestfs.pod:2332 msgid "" "Finally the daemon (C) runs inside the appliance. If it runs you " "should see:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2312 +#: ../src/guestfs.pod:2335 #, no-wrap msgid "" " verbose daemon enabled\n" @@ -34418,14 +34548,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2314 +#: ../src/guestfs.pod:2337 msgid "" "The daemon expects to see a named virtio-serial port exposed by qemu and " "connected on the other end to the library." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2317 +#: ../src/guestfs.pod:2340 msgid "" "The daemon connects to this port (and hence to the library) and sends a four " "byte message C, which initiates the communication " @@ -34433,19 +34563,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2323 +#: ../src/guestfs.pod:2346 msgid "COMMUNICATION PROTOCOL" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2325 +#: ../src/guestfs.pod:2348 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:2328 +#: ../src/guestfs.pod:2351 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 " @@ -34453,14 +34583,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2332 +#: ../src/guestfs.pod:2355 msgid "" "The detailed format of structures is in C (note: " "this file is automatically generated)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2335 +#: ../src/guestfs.pod:2358 msgid "" "There are two broad cases, ordinary functions that don't have any C " "and C parameters, which are handled with very simple request/reply " @@ -34470,17 +34600,17 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2342 +#: ../src/guestfs.pod:2365 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2344 +#: ../src/guestfs.pod:2367 msgid "For ordinary functions, the request message is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2346 +#: ../src/guestfs.pod:2369 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -34491,7 +34621,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2351 +#: ../src/guestfs.pod:2374 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 " @@ -34500,21 +34630,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2357 +#: ../src/guestfs.pod:2380 msgid "" "Note also that many functions don't take any arguments, in which case the " "C_args> is completely omitted." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2360 +#: ../src/guestfs.pod:2383 msgid "" "The header contains the procedure number (C) which is how the " "receiver knows what type of args structure to expect, or none at all." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2364 +#: ../src/guestfs.pod:2387 msgid "" "For functions that take optional arguments, the optional arguments are " "encoded in the C_args> structure in the same way as ordinary " @@ -34526,12 +34656,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2372 +#: ../src/guestfs.pod:2395 msgid "The reply message for ordinary functions is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2374 +#: ../src/guestfs.pod:2397 #, no-wrap msgid "" " total length (header + ret,\n" @@ -34542,26 +34672,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2379 +#: ../src/guestfs.pod:2402 msgid "" "As above the C_ret> structure may be completely omitted for " "functions that return no formal return values." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2382 +#: ../src/guestfs.pod:2405 msgid "As above the total length of the reply is limited to C." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2385 +#: ../src/guestfs.pod:2408 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:2388 +#: ../src/guestfs.pod:2411 #, no-wrap msgid "" " total length (header + error,\n" @@ -34572,19 +34702,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2393 +#: ../src/guestfs.pod:2416 msgid "" "The C structure contains the error message as a " "string." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2396 +#: ../src/guestfs.pod:2419 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2398 +#: ../src/guestfs.pod:2421 msgid "" "A C parameter indicates that we transfer a file I the guest. " "The normal request message is sent (see above). However this is followed by " @@ -34592,7 +34722,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2402 +#: ../src/guestfs.pod:2425 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -34606,12 +34736,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2410 +#: ../src/guestfs.pod:2433 msgid "The \"sequence of chunks\" is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2412 +#: ../src/guestfs.pod:2435 #, no-wrap msgid "" " length of chunk (not including length word itself)\n" @@ -34625,7 +34755,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2420 +#: ../src/guestfs.pod:2443 msgid "" "The final chunk has the C field set to zero. Additionally a flag " "is set in the final chunk to indicate either successful completion or early " @@ -34633,7 +34763,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2424 +#: ../src/guestfs.pod:2447 msgid "" "At time of writing there are no functions that have more than one FileIn " "parameter. However this is (theoretically) supported, by sending the " @@ -34642,7 +34772,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2429 +#: ../src/guestfs.pod:2452 msgid "" "Both the library (sender) I the daemon (receiver) may cancel the " "transfer. The library does this by sending a chunk with a special flag set " @@ -34651,7 +34781,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2435 +#: ../src/guestfs.pod:2458 msgid "" "The daemon may also cancel. It does this by writing a special word " "C to the socket. The library listens for this during " @@ -34663,7 +34793,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2444 +#: ../src/guestfs.pod:2467 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 " @@ -34673,19 +34803,19 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2450 +#: ../src/guestfs.pod:2473 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2452 +#: ../src/guestfs.pod:2475 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:2455 +#: ../src/guestfs.pod:2478 #, no-wrap msgid "" " total length (header + ret,\n" @@ -34699,12 +34829,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2463 +#: ../src/guestfs.pod:2486 msgid "INITIAL MESSAGE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2465 +#: ../src/guestfs.pod:2488 msgid "" "When the daemon launches it sends an initial word (C) " "which indicates that the guest and daemon is alive. This is what " @@ -34712,12 +34842,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2469 +#: ../src/guestfs.pod:2492 msgid "PROGRESS NOTIFICATION MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2471 +#: ../src/guestfs.pod:2494 msgid "" "The daemon may send progress notification messages at any time. These are " "distinguished by the normal length word being replaced by " @@ -34725,7 +34855,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2475 +#: ../src/guestfs.pod:2498 msgid "" "The library turns them into progress callbacks (see " "L) if there is a callback registered, or discards " @@ -34733,7 +34863,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2479 +#: ../src/guestfs.pod:2502 msgid "" "The daemon self-limits the frequency of progress messages it sends (see " "C). Not all calls generate progress " @@ -34741,12 +34871,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2483 +#: ../src/guestfs.pod:2506 msgid "LIBGUESTFS VERSION NUMBERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2485 +#: ../src/guestfs.pod:2508 msgid "" "Since April 2010, libguestfs has started to make separate development and " "stable releases, along with corresponding branches in our git repository. " @@ -34754,7 +34884,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2490 +#: ../src/guestfs.pod:2513 #, no-wrap msgid "" " even numbers for stable: 1.2.x, 1.4.x, ...\n" @@ -34771,12 +34901,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2501 +#: ../src/guestfs.pod:2524 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2503 +#: ../src/guestfs.pod:2526 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 " @@ -34786,26 +34916,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2509 +#: ../src/guestfs.pod:2532 msgid "Our criteria for backporting changes are:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2515 +#: ../src/guestfs.pod:2538 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:2521 +#: ../src/guestfs.pod:2544 msgid "" "Bug fixes which are not controversial, fix obvious problems, and have been " "well tested are backported." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2526 +#: ../src/guestfs.pod:2549 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 " @@ -34813,7 +34943,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2532 +#: ../src/guestfs.pod:2555 msgid "" "We I backport new features, new APIs, new tools etc, except in one " "exceptional case: the new feature is required in order to implement an " @@ -34821,7 +34951,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2538 +#: ../src/guestfs.pod:2561 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 " @@ -34832,17 +34962,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2546 +#: ../src/guestfs.pod:2569 msgid "EXTENDING LIBGUESTFS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2548 +#: ../src/guestfs.pod:2571 msgid "ADDING A NEW API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2550 +#: ../src/guestfs.pod:2573 msgid "" "Large amounts of boilerplate code in libguestfs (RPC, bindings, " "documentation) are generated, and this makes it easy to extend the " @@ -34850,19 +34980,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2554 +#: ../src/guestfs.pod:2577 msgid "To add a new API action there are two changes:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2560 +#: ../src/guestfs.pod:2583 msgid "" "You need to add a description of the call (name, parameters, return type, " "tests, documentation) to C." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2563 +#: ../src/guestfs.pod:2586 msgid "" "There are two sorts of API action, depending on whether the call goes " "through to the daemon in the appliance, or is serviced entirely by the " @@ -34873,7 +35003,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2571 +#: ../src/guestfs.pod:2594 msgid "" "Most new actions are of the first type, and get added to the " "C list. Each function has a unique procedure number used " @@ -34883,7 +35013,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2577 +#: ../src/guestfs.pod:2600 msgid "" "For library-only actions of the second type, add to the " "C list. Since these functions are serviced by the " @@ -34893,36 +35023,36 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2585 +#: ../src/guestfs.pod:2608 msgid "Implement the action (in C):" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2587 +#: ../src/guestfs.pod:2610 msgid "" "For daemon actions, implement the function CnameE> in the " "C directory." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2590 +#: ../src/guestfs.pod:2613 msgid "" "For library actions, implement the function CnameE> " "(note: double underscore) in the C directory." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2593 +#: ../src/guestfs.pod:2616 msgid "In either case, use another function as an example of what to do." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2597 +#: ../src/guestfs.pod:2620 msgid "After making these changes, use C to compile." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2599 +#: ../src/guestfs.pod:2622 msgid "" "Note that you don't need to implement the RPC, language bindings, manual " "pages or anything else. It's all automatically generated from the OCaml " @@ -34930,12 +35060,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2603 +#: ../src/guestfs.pod:2626 msgid "ADDING TESTS FOR AN API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2605 +#: ../src/guestfs.pod:2628 msgid "" "You can supply zero or as many tests as you want per API call. The tests " "can either be added as part of the API description " @@ -34945,61 +35075,61 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2611 +#: ../src/guestfs.pod:2634 msgid "" "The following describes the test environment used when you add an API test " "in C." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2614 +#: ../src/guestfs.pod:2637 msgid "The test environment has 4 block devices:" msgstr "" #. type: =item -#: ../src/guestfs.pod:2618 +#: ../src/guestfs.pod:2641 msgid "C 500MB" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2620 +#: ../src/guestfs.pod:2643 msgid "General block device for testing." msgstr "" #. type: =item -#: ../src/guestfs.pod:2622 +#: ../src/guestfs.pod:2645 msgid "C 50MB" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2624 +#: ../src/guestfs.pod:2647 msgid "" "C is an ext2 filesystem used for testing filesystem write " "operations." msgstr "" #. type: =item -#: ../src/guestfs.pod:2627 +#: ../src/guestfs.pod:2650 msgid "C 10MB" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2629 +#: ../src/guestfs.pod:2652 msgid "Used in a few tests where two block devices are needed." msgstr "" #. type: =item -#: ../src/guestfs.pod:2631 +#: ../src/guestfs.pod:2654 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2633 +#: ../src/guestfs.pod:2656 msgid "ISO with fixed content (see C)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2637 +#: ../src/guestfs.pod:2660 msgid "" "To be able to run the tests in a reasonable amount of time, the libguestfs " "appliance and block devices are reused between tests. So don't try testing " @@ -35007,7 +35137,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2641 +#: ../src/guestfs.pod:2664 msgid "" "Each test starts with an initial scenario, selected using one of the " "C expressions, described in C. These " @@ -35017,7 +35147,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2647 +#: ../src/guestfs.pod:2670 msgid "" "You can add a prerequisite clause to any individual test. This is a " "run-time check, which, if it fails, causes the test to be skipped. Useful " @@ -35027,14 +35157,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2653 +#: ../src/guestfs.pod:2676 msgid "" "In addition, packagers can skip individual tests by setting environment " "variables before running C." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2656 +#: ../src/guestfs.pod:2679 #, no-wrap msgid "" " SKIP_TEST__=1\n" @@ -35042,17 +35172,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2658 +#: ../src/guestfs.pod:2681 msgid "eg: C skips test #3 of L." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2660 +#: ../src/guestfs.pod:2683 msgid "or:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2662 +#: ../src/guestfs.pod:2685 #, no-wrap msgid "" " SKIP_TEST_=1\n" @@ -35060,17 +35190,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2664 +#: ../src/guestfs.pod:2687 msgid "eg: C skips all L tests." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2666 +#: ../src/guestfs.pod:2689 msgid "Packagers can run only certain tests by setting for example:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2668 +#: ../src/guestfs.pod:2691 #, no-wrap msgid "" " TEST_ONLY=\"vfs_type zerofree\"\n" @@ -35078,29 +35208,29 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2670 +#: ../src/guestfs.pod:2693 msgid "" "See C for more details of how these environment variables " "work." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2673 +#: ../src/guestfs.pod:2696 msgid "DEBUGGING NEW API ACTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2675 +#: ../src/guestfs.pod:2698 msgid "Test new actions work before submitting them." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2677 +#: ../src/guestfs.pod:2700 msgid "You can use guestfish to try out new commands." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2679 +#: ../src/guestfs.pod:2702 msgid "" "Debugging the daemon is a problem because it runs inside a minimal " "environment. However you can fprintf messages in the daemon to stderr, and " @@ -35108,12 +35238,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2683 +#: ../src/guestfs.pod:2706 msgid "FORMATTING CODE AND OTHER CONVENTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2685 +#: ../src/guestfs.pod:2708 msgid "" "Our C source code generally adheres to some basic code-formatting " "conventions. The existing code base is not totally consistent on this " @@ -35123,14 +35253,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2691 +#: ../src/guestfs.pod:2714 msgid "" "If you use Emacs, add the following to one of one of your start-up files " "(e.g., ~/.emacs), to help ensure that you get indentation right:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2694 +#: ../src/guestfs.pod:2717 #, no-wrap msgid "" " ;;; In libguestfs, indent with spaces everywhere (not TABs).\n" @@ -35146,7 +35276,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2704 +#: ../src/guestfs.pod:2727 #, no-wrap msgid "" " ;;; When editing C sources in libguestfs, use this style.\n" @@ -35164,12 +35294,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2716 +#: ../src/guestfs.pod:2739 msgid "Enable warnings when compiling (and fix any problems this finds):" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2719 +#: ../src/guestfs.pod:2742 #, no-wrap msgid "" " ./configure --enable-gcc-warnings\n" @@ -35177,12 +35307,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2721 +#: ../src/guestfs.pod:2744 msgid "Useful targets are:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2723 +#: ../src/guestfs.pod:2746 #, no-wrap msgid "" " make syntax-check # checks the syntax of the C code\n" @@ -35191,43 +35321,43 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2726 +#: ../src/guestfs.pod:2749 msgid "DAEMON CUSTOM PRINTF FORMATTERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2728 +#: ../src/guestfs.pod:2751 msgid "" "In the daemon code we have created custom printf formatters C<%Q> and C<%R>, " "which are used to do shell quoting." msgstr "" #. type: =item -#: ../src/guestfs.pod:2733 +#: ../src/guestfs.pod:2756 msgid "%Q" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2735 +#: ../src/guestfs.pod:2758 msgid "" "Simple shell quoted string. Any spaces or other shell characters are " "escaped for you." msgstr "" #. type: =item -#: ../src/guestfs.pod:2738 +#: ../src/guestfs.pod:2761 msgid "%R" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2740 +#: ../src/guestfs.pod:2763 msgid "" "Same as C<%Q> except the string is treated as a path which is prefixed by " "the sysroot." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2747 +#: ../src/guestfs.pod:2770 #, no-wrap msgid "" " asprintf (&cmd, \"cat %R\", path);\n" @@ -35235,12 +35365,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2749 +#: ../src/guestfs.pod:2772 msgid "would produce C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2751 +#: ../src/guestfs.pod:2774 msgid "" "I Do I use these when you are passing parameters to the " "C functions. These parameters do NOT need to be quoted " @@ -35249,12 +35379,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2757 +#: ../src/guestfs.pod:2780 msgid "SUBMITTING YOUR NEW API ACTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2759 +#: ../src/guestfs.pod:2782 msgid "" "Submit patches to the mailing list: " "L and CC to " @@ -35262,17 +35392,17 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2763 +#: ../src/guestfs.pod:2786 msgid "INTERNATIONALIZATION (I18N) SUPPORT" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2765 +#: ../src/guestfs.pod:2788 msgid "We support i18n (gettext anyhow) in the library." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2767 +#: ../src/guestfs.pod:2790 msgid "" "However many messages come from the daemon, and we don't translate those at " "the moment. One reason is that the appliance generally has all locale files " @@ -35281,115 +35411,115 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2773 +#: ../src/guestfs.pod:2796 msgid "" "Debugging messages are never translated, since they are intended for the " "programmers." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2776 +#: ../src/guestfs.pod:2799 msgid "SOURCE CODE SUBDIRECTORIES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2782 +#: ../src/guestfs.pod:2805 msgid "The libguestfs appliance, build scripts and so on." msgstr "" #. type: =item -#: ../src/guestfs.pod:2784 +#: ../src/guestfs.pod:2807 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2786 +#: ../src/guestfs.pod:2809 msgid "Automated tests of the C API." msgstr "" #. type: =item -#: ../src/guestfs.pod:2788 +#: ../src/guestfs.pod:2811 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2790 +#: ../src/guestfs.pod:2813 msgid "" "The L, L and L commands and " "documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:2793 +#: ../src/guestfs.pod:2816 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2795 +#: ../src/guestfs.pod:2818 msgid "" "Safety and liveness tests of components that libguestfs depends upon (not of " "libguestfs itself). Mainly this is for qemu and the kernel." msgstr "" #. type: =item -#: ../src/guestfs.pod:2798 +#: ../src/guestfs.pod:2821 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2800 +#: ../src/guestfs.pod:2823 msgid "Outside contributions, experimental parts." msgstr "" #. type: =item -#: ../src/guestfs.pod:2802 +#: ../src/guestfs.pod:2825 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2804 +#: ../src/guestfs.pod:2827 msgid "" "The daemon that runs inside the libguestfs appliance and carries out " "actions." msgstr "" #. type: =item -#: ../src/guestfs.pod:2807 +#: ../src/guestfs.pod:2830 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2809 +#: ../src/guestfs.pod:2832 msgid "L command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:2811 +#: ../src/guestfs.pod:2834 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2813 +#: ../src/guestfs.pod:2836 msgid "L command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:2815 +#: ../src/guestfs.pod:2838 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2817 +#: ../src/guestfs.pod:2840 msgid "C API example code." msgstr "" #. type: =item -#: ../src/guestfs.pod:2819 +#: ../src/guestfs.pod:2842 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2821 +#: ../src/guestfs.pod:2844 msgid "" "L, the command-line shell, and various shell scripts built on " "top such as L, L, L, " @@ -35397,89 +35527,89 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2825 +#: ../src/guestfs.pod:2848 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2827 +#: ../src/guestfs.pod:2850 msgid "L, FUSE (userspace filesystem) built on top of libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:2829 +#: ../src/guestfs.pod:2852 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2831 +#: ../src/guestfs.pod:2854 msgid "" "The crucially important generator, used to automatically generate large " "amounts of boilerplate C code for things like RPC and bindings." msgstr "" #. type: =item -#: ../src/guestfs.pod:2834 +#: ../src/guestfs.pod:2857 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2836 +#: ../src/guestfs.pod:2859 msgid "Files used by the test suite." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2838 +#: ../src/guestfs.pod:2861 msgid "Some \"phony\" guest images which we test against." msgstr "" #. type: =item -#: ../src/guestfs.pod:2840 +#: ../src/guestfs.pod:2863 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2842 +#: ../src/guestfs.pod:2865 msgid "L, the virtual machine image inspector." msgstr "" #. type: =item -#: ../src/guestfs.pod:2844 +#: ../src/guestfs.pod:2867 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2846 +#: ../src/guestfs.pod:2869 msgid "Logo used on the website. The fish is called Arthur by the way." msgstr "" #. type: =item -#: ../src/guestfs.pod:2848 +#: ../src/guestfs.pod:2871 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2850 +#: ../src/guestfs.pod:2873 msgid "M4 macros used by autoconf." msgstr "" #. type: =item -#: ../src/guestfs.pod:2852 +#: ../src/guestfs.pod:2875 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2854 +#: ../src/guestfs.pod:2877 msgid "Translations of simple gettext strings." msgstr "" #. type: =item -#: ../src/guestfs.pod:2856 +#: ../src/guestfs.pod:2879 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2858 +#: ../src/guestfs.pod:2881 msgid "" "The build infrastructure and PO files for translations of manpages and POD " "files. Eventually this will be combined with the C directory, but that " @@ -35487,109 +35617,119 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2862 +#: ../src/guestfs.pod:2885 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2864 +#: ../src/guestfs.pod:2887 msgid "Regression tests." msgstr "" #. type: =item -#: ../src/guestfs.pod:2866 +#: ../src/guestfs.pod:2889 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2868 +#: ../src/guestfs.pod:2891 msgid "L command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:2870 +#: ../src/guestfs.pod:2893 +msgid "C" +msgstr "" + +#. type: textblock +#: ../src/guestfs.pod:2895 +msgid "L command and documentation." +msgstr "" + +#. type: =item +#: ../src/guestfs.pod:2897 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2872 +#: ../src/guestfs.pod:2899 msgid "Source code to the C library." msgstr "" #. type: =item -#: ../src/guestfs.pod:2874 +#: ../src/guestfs.pod:2901 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2876 -msgid "Command line tools written in Perl (L and many others)." +#: ../src/guestfs.pod:2903 +msgid "Command line tools written in Perl (L and many others)." msgstr "" #. type: =item -#: ../src/guestfs.pod:2878 +#: ../src/guestfs.pod:2905 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2880 +#: ../src/guestfs.pod:2907 msgid "" "Test tool for end users to test if their qemu/kernel combination will work " "with libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:2883 +#: ../src/guestfs.pod:2910 msgid "C" msgstr "" #. type: =item -#: ../src/guestfs.pod:2885 +#: ../src/guestfs.pod:2912 msgid "C" msgstr "" #. type: =item -#: ../src/guestfs.pod:2887 +#: ../src/guestfs.pod:2914 msgid "C" msgstr "" #. type: =item -#: ../src/guestfs.pod:2889 +#: ../src/guestfs.pod:2916 msgid "C" msgstr "" #. type: =item -#: ../src/guestfs.pod:2891 +#: ../src/guestfs.pod:2918 msgid "C" msgstr "" #. type: =item -#: ../src/guestfs.pod:2893 +#: ../src/guestfs.pod:2920 msgid "C" msgstr "" #. type: =item -#: ../src/guestfs.pod:2895 +#: ../src/guestfs.pod:2922 msgid "C" msgstr "" #. type: =item -#: ../src/guestfs.pod:2897 +#: ../src/guestfs.pod:2924 msgid "C" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2899 +#: ../src/guestfs.pod:2926 msgid "Language bindings." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2903 +#: ../src/guestfs.pod:2930 msgid "MAKING A STABLE RELEASE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2905 +#: ../src/guestfs.pod:2932 msgid "" "When we make a stable release, there are several steps documented here. See " "L for general information about the stable " @@ -35597,37 +35737,37 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2913 +#: ../src/guestfs.pod:2940 msgid "Check C works on at least Fedora, Debian and Ubuntu." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2918 +#: ../src/guestfs.pod:2945 msgid "Finalize RELEASE-NOTES." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2922 +#: ../src/guestfs.pod:2949 msgid "Update ROADMAP." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2926 +#: ../src/guestfs.pod:2953 msgid "Run C." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2930 +#: ../src/guestfs.pod:2957 msgid "Push and pull from Transifex." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2932 +#: ../src/guestfs.pod:2959 msgid "Run:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2934 +#: ../src/guestfs.pod:2961 #, no-wrap msgid "" " tx push -s\n" @@ -35635,12 +35775,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2936 +#: ../src/guestfs.pod:2963 msgid "to push the latest POT files to Transifex. Then run:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2938 +#: ../src/guestfs.pod:2965 #, no-wrap msgid "" " ./tx-pull.sh\n" @@ -35648,24 +35788,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2940 +#: ../src/guestfs.pod:2967 msgid "which is a wrapper to pull the latest translated C<*.po> files." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2944 +#: ../src/guestfs.pod:2971 msgid "" "Create new stable and development directories under " "L." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2949 +#: ../src/guestfs.pod:2976 msgid "Create the branch in git:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2951 +#: ../src/guestfs.pod:2978 #, no-wrap msgid "" " git tag -a 1.XX.0 -m \"Version 1.XX.0 (stable)\"\n" @@ -35676,17 +35816,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2958 +#: ../src/guestfs.pod:2985 msgid "LIMITS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2960 +#: ../src/guestfs.pod:2987 msgid "PROTOCOL LIMITS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2962 +#: ../src/guestfs.pod:2989 msgid "" "Internally libguestfs uses a message-based protocol to pass API calls and " "their responses to and from a small \"appliance\" (see L for " @@ -35697,7 +35837,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2970 +#: ../src/guestfs.pod:2997 msgid "" "A simple call such as L returns its result (the file data) in " "a simple string. Because this string is at some point internally encoded as " @@ -35706,7 +35846,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2976 +#: ../src/guestfs.pod:3003 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 " @@ -35714,24 +35854,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2980 +#: ../src/guestfs.pod:3007 msgid "" "You might also consider mounting the disk image using our FUSE filesystem " "support (L)." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2983 +#: ../src/guestfs.pod:3010 msgid "MAXIMUM NUMBER OF DISKS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2985 +#: ../src/guestfs.pod:3012 msgid "When using virtio disks (the default) the current limit is B<25> disks." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2988 +#: ../src/guestfs.pod:3015 msgid "" "Virtio itself consumes 1 virtual PCI slot per disk, and PCI is limited to 31 " "slots. However febootstrap only understands disks with names C " @@ -35740,14 +35880,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2993 +#: ../src/guestfs.pod:3020 msgid "" "We are working to substantially raise this limit in future versions but it " "requires complex changes to qemu." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2996 +#: ../src/guestfs.pod:3023 msgid "" "In future versions of libguestfs it should also be possible to \"hot plug\" " "disks (add and remove disks after calling L). This also " @@ -35755,41 +35895,41 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3000 +#: ../src/guestfs.pod:3027 msgid "MAXIMUM NUMBER OF PARTITIONS PER DISK" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3002 +#: ../src/guestfs.pod:3029 msgid "Virtio limits the maximum number of partitions per disk to B<15>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3004 +#: ../src/guestfs.pod:3031 msgid "" "This is because it reserves 4 bits for the minor device number (thus " "C, and C through C)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3007 +#: ../src/guestfs.pod:3034 msgid "" "If you attach a disk with more than 15 partitions, the extra partitions are " "ignored by libguestfs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3010 +#: ../src/guestfs.pod:3037 msgid "MAXIMUM SIZE OF A DISK" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3012 +#: ../src/guestfs.pod:3039 msgid "Probably the limit is between 2**63-1 and 2**64-1 bytes." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3014 +#: ../src/guestfs.pod:3041 msgid "" "We have tested block devices up to 1 exabyte (2**60 or " "1,152,921,504,606,846,976 bytes) using sparse files backed by an XFS host " @@ -35797,7 +35937,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3018 +#: ../src/guestfs.pod:3045 msgid "" "Although libguestfs probably does not impose any limit, the underlying host " "storage will. If you store disk images on a host ext4 filesystem, then the " @@ -35807,19 +35947,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3024 +#: ../src/guestfs.pod:3051 msgid "" "For the hugest disk image files, we recommend using XFS on the host for " "storage." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3027 +#: ../src/guestfs.pod:3054 msgid "MAXIMUM SIZE OF A PARTITION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3029 +#: ../src/guestfs.pod:3056 msgid "" "The MBR (ie. classic MS-DOS) partitioning scheme uses 32 bit sector " "numbers. Assuming a 512 byte sector size, this means that MBR cannot " @@ -35827,7 +35967,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3033 +#: ../src/guestfs.pod:3060 msgid "" "It is recommended that you use GPT partitions on disks which are larger than " "this size. GPT uses 64 bit sector numbers and so can address partitions " @@ -35835,12 +35975,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3038 +#: ../src/guestfs.pod:3065 msgid "MAXIMUM SIZE OF A FILESYSTEM, FILES, DIRECTORIES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3040 +#: ../src/guestfs.pod:3067 msgid "" "This depends on the filesystem type. libguestfs itself does not impose any " "known limit. Consult Wikipedia or the filesystem documentation to find out " @@ -35848,12 +35988,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3044 +#: ../src/guestfs.pod:3071 msgid "MAXIMUM UPLOAD AND DOWNLOAD" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3046 +#: ../src/guestfs.pod:3073 msgid "" "The API functions L, L, " "L, L and the like allow unlimited sized " @@ -35861,12 +36001,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:3050 +#: ../src/guestfs.pod:3077 msgid "INSPECTION LIMITS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3052 +#: ../src/guestfs.pod:3079 msgid "" "The inspection code has several arbitrary limits on things like the size of " "Windows Registry hive it will read, and the length of product name. These " @@ -35876,33 +36016,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3078 +#: ../src/guestfs.pod:3105 msgid "" "Set C to enable verbose messages. This has the same " "effect as calling C." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3090 +#: ../src/guestfs.pod:3117 msgid "" "Set the path that libguestfs uses to search for a supermin appliance. See " "the discussion of paths in section L above." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3099 +#: ../src/guestfs.pod:3126 msgid "See also L above." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3103 +#: ../src/guestfs.pod:3130 msgid "" "Set C to enable command traces. This has the same " "effect as calling C." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3121 +#: ../src/guestfs.pod:3148 msgid "" "L, L, L, " "L, L, L, " @@ -35910,65 +36050,65 @@ msgid "" "L, L, L, L, " "L, L, " "L, L, L, " -"L, L, L, L, " -"L, L, L, " +"L, L, L, L, " +"L, L, L, L, " "L, L, L." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3151 +#: ../src/guestfs.pod:3179 msgid "" "Tools with a similar purpose: L, L, L, " "L, L." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:3158 ../tools/virt-make-fs.pl:553 ../tools/virt-win-reg.pl:761 +#: ../src/guestfs.pod:3186 ../tools/virt-make-fs.pl:571 ../tools/virt-win-reg.pl:761 msgid "BUGS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3160 +#: ../src/guestfs.pod:3188 msgid "To get a list of bugs against libguestfs use this link:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3162 +#: ../src/guestfs.pod:3190 msgid "L" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3164 +#: ../src/guestfs.pod:3192 msgid "To report a new bug against libguestfs use this link:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3166 +#: ../src/guestfs.pod:3194 msgid "L" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3168 +#: ../src/guestfs.pod:3196 msgid "When reporting a bug, please check:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:3174 +#: ../src/guestfs.pod:3202 msgid "That the bug hasn't been reported already." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3178 +#: ../src/guestfs.pod:3206 msgid "That you are testing a recent version." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3182 +#: ../src/guestfs.pod:3210 msgid "Describe the bug accurately, and give a way to reproduce it." msgstr "" #. type: textblock -#: ../src/guestfs.pod:3186 +#: ../src/guestfs.pod:3214 msgid "" "Run libguestfs-test-tool and paste the B output into the " "bug report." @@ -36368,7 +36508,7 @@ msgstr "" #: ../tools/virt-make-fs.pl:59 #, no-wrap msgid "" -" virt-make-fs input output\n" +" virt-make-fs input output.img\n" "\n" msgstr "" @@ -36377,67 +36517,18 @@ msgstr "" msgid "" "where C is either a directory containing files that you want to add, " "or a tar archive (either uncompressed tar or gzip-compressed tar); and " -"C is a disk image. The input type is detected automatically. The " -"output disk image defaults to a raw ext2 image unless you specify extra " -"flags (see L below)." +"C is a disk image. The input type is detected automatically. " +"The output disk image defaults to a raw ext2 sparse image unless you specify " +"extra flags (see L below)." msgstr "" #. type: =head2 #: ../tools/virt-make-fs.pl:67 -msgid "EXTRA SPACE" -msgstr "" - -#. type: textblock -#: ../tools/virt-make-fs.pl:69 -msgid "" -"Unlike formats such as tar and squashfs, a filesystem does not \"just fit\" " -"the files that it contains, but might have extra space. Depending on how " -"you are going to use the output, you might think this extra space is wasted " -"and want to minimize it, or you might want to leave space so that more files " -"can be added later. Virt-make-fs defaults to minimizing the extra space, " -"but you can use the I<--size> flag to leave space in the filesystem if you " -"want it." -msgstr "" - -#. type: textblock -#: ../tools/virt-make-fs.pl:77 -msgid "" -"An alternative way to leave extra space but not make the output image any " -"bigger is to use an alternative disk image format (instead of the default " -"\"raw\" format). Using I<--format=qcow2> will use the native QEmu/KVM qcow2 " -"image format (check your hypervisor supports this before using it). This " -"allows you to choose a large I<--size> but the extra space won't actually be " -"allocated in the image until you try to store something in it." -msgstr "" - -#. type: textblock -#: ../tools/virt-make-fs.pl:85 -msgid "" -"Don't forget that you can also use local commands including L " -"and L to resize existing filesystems, or rerun virt-make-fs " -"to build another image from scratch." -msgstr "" - -#. type: =head3 -#: ../tools/virt-make-fs.pl:89 ../tools/virt-make-fs.pl:123 ../tools/virt-make-fs.pl:142 -msgid "EXAMPLE" -msgstr "" - -#. type: verbatim -#: ../tools/virt-make-fs.pl:91 -#, no-wrap -msgid "" -" virt-make-fs --format=qcow2 --size=+200M input output.img\n" -"\n" -msgstr "" - -#. type: =head2 -#: ../tools/virt-make-fs.pl:93 msgid "FILESYSTEM TYPE" msgstr "" #. type: textblock -#: ../tools/virt-make-fs.pl:95 +#: ../tools/virt-make-fs.pl:69 msgid "" "The default filesystem type is C. Just about any filesystem type that " "libguestfs supports can be used (but I read-only formats like " @@ -36445,12 +36536,12 @@ msgid "" msgstr "" #. type: =item -#: ../tools/virt-make-fs.pl:101 +#: ../tools/virt-make-fs.pl:75 msgid "I" msgstr "" #. type: textblock -#: ../tools/virt-make-fs.pl:103 +#: ../tools/virt-make-fs.pl:77 msgid "" "Note that ext3 filesystems contain a journal, typically 1-32 MB in size. If " "you are not going to use the filesystem in a way that requires the journal, " @@ -36458,17 +36549,17 @@ msgid "" msgstr "" #. type: =item -#: ../tools/virt-make-fs.pl:107 +#: ../tools/virt-make-fs.pl:81 msgid "I or I" msgstr "" #. type: textblock -#: ../tools/virt-make-fs.pl:109 +#: ../tools/virt-make-fs.pl:83 msgid "Useful if exporting data to a Windows guest." msgstr "" #. type: textblock -#: ../tools/virt-make-fs.pl:111 +#: ../tools/virt-make-fs.pl:85 msgid "" "I: The tar archive or local directory must only contain files " "which are owned by root (ie. UID:GID = 0:0). The reason is that the tar " @@ -36477,19 +36568,24 @@ msgid "" msgstr "" #. type: =item -#: ../tools/virt-make-fs.pl:116 +#: ../tools/virt-make-fs.pl:90 msgid "I" msgstr "" #. type: textblock -#: ../tools/virt-make-fs.pl:118 +#: ../tools/virt-make-fs.pl:92 msgid "" "Lower overhead than C, but certain limitations on filename length and " "total filesystem size." msgstr "" +#. type: =head3 +#: ../tools/virt-make-fs.pl:97 ../tools/virt-make-fs.pl:116 ../tools/virt-make-fs.pl:149 +msgid "EXAMPLE" +msgstr "" + #. type: verbatim -#: ../tools/virt-make-fs.pl:125 +#: ../tools/virt-make-fs.pl:99 #, no-wrap msgid "" " virt-make-fs --type=minix input minixfs.img\n" @@ -36497,17 +36593,17 @@ msgid "" msgstr "" #. type: =head2 -#: ../tools/virt-make-fs.pl:127 +#: ../tools/virt-make-fs.pl:101 msgid "TO PARTITION OR NOT TO PARTITION" msgstr "" #. type: textblock -#: ../tools/virt-make-fs.pl:129 +#: ../tools/virt-make-fs.pl:103 msgid "Optionally virt-make-fs can add a partition table to the output disk." msgstr "" #. type: textblock -#: ../tools/virt-make-fs.pl:131 +#: ../tools/virt-make-fs.pl:105 msgid "" "Adding a partition can make the disk image more compatible with certain " "virtualized operating systems which don't expect to see a filesystem " @@ -36516,7 +36612,7 @@ msgid "" msgstr "" #. type: textblock -#: ../tools/virt-make-fs.pl:136 +#: ../tools/virt-make-fs.pl:110 msgid "" "On the other hand, if you have a partition table then the output image is no " "longer a straight filesystem. For example you cannot run L " @@ -36525,12 +36621,12 @@ msgid "" msgstr "" #. type: textblock -#: ../tools/virt-make-fs.pl:144 +#: ../tools/virt-make-fs.pl:118 msgid "Add an MBR partition:" msgstr "" #. type: verbatim -#: ../tools/virt-make-fs.pl:146 +#: ../tools/virt-make-fs.pl:120 #, no-wrap msgid "" " virt-make-fs --partition -- input disk.img\n" @@ -36538,20 +36634,64 @@ msgid "" msgstr "" #. type: textblock -#: ../tools/virt-make-fs.pl:148 +#: ../tools/virt-make-fs.pl:122 msgid "" "If the output disk image could be terabyte-sized or larger, it's better to " "use an EFI/GPT-compatible partition table:" msgstr "" #. type: verbatim -#: ../tools/virt-make-fs.pl:151 +#: ../tools/virt-make-fs.pl:125 #, no-wrap msgid "" " virt-make-fs --partition=gpt --size=+4T --format=qcow2 input disk.img\n" "\n" msgstr "" +#. type: =head2 +#: ../tools/virt-make-fs.pl:127 +msgid "EXTRA SPACE" +msgstr "" + +#. type: textblock +#: ../tools/virt-make-fs.pl:129 +msgid "" +"Unlike formats such as tar and squashfs, a filesystem does not \"just fit\" " +"the files that it contains, but might have extra space. Depending on how " +"you are going to use the output, you might think this extra space is wasted " +"and want to minimize it, or you might want to leave space so that more files " +"can be added later. Virt-make-fs defaults to minimizing the extra space, " +"but you can use the I<--size> flag to leave space in the filesystem if you " +"want it." +msgstr "" + +#. type: textblock +#: ../tools/virt-make-fs.pl:137 +msgid "" +"An alternative way to leave extra space but not make the output image any " +"bigger is to use an alternative disk image format (instead of the default " +"\"raw\" format). Using I<--format=qcow2> will use the native QEmu/KVM qcow2 " +"image format (check your hypervisor supports this before using it). This " +"allows you to choose a large I<--size> but the extra space won't actually be " +"allocated in the image until you try to store something in it." +msgstr "" + +#. type: textblock +#: ../tools/virt-make-fs.pl:145 +msgid "" +"Don't forget that you can also use local commands including L " +"and L to resize existing filesystems, or rerun virt-make-fs " +"to build another image from scratch." +msgstr "" + +#. type: verbatim +#: ../tools/virt-make-fs.pl:151 +#, no-wrap +msgid "" +" virt-make-fs --format=qcow2 --size=+200M input output.img\n" +"\n" +msgstr "" + #. type: textblock #: ../tools/virt-make-fs.pl:179 msgid "Enable debugging information." @@ -36633,7 +36773,7 @@ msgstr "" #. type: textblock #: ../tools/virt-make-fs.pl:225 -msgid "The default is C (raw disk image)." +msgid "The default is C (raw sparse disk image)." msgstr "" #. type: textblock @@ -36703,7 +36843,7 @@ msgstr "" #: ../tools/virt-make-fs.pl:263 #, no-wrap msgid "" -" virt-make-fs --partition input.tar ...\n" +" virt-make-fs --partition input.tar output.img\n" "\n" msgstr "" @@ -36712,19 +36852,24 @@ msgstr "" msgid "" "would cause virt-make-fs to think you wanted to use a partition type of " "C which is completely wrong. To avoid this, use I<--> (a double " -"dash) between options and the input file argument:" +"dash) between options and the input and output arguments:" msgstr "" #. type: verbatim #: ../tools/virt-make-fs.pl:269 #, no-wrap msgid "" -" virt-make-fs --partition -- input.tar ...\n" +" virt-make-fs --partition -- input.tar output.img\n" "\n" msgstr "" #. type: textblock -#: ../tools/virt-make-fs.pl:541 +#: ../tools/virt-make-fs.pl:271 +msgid "For MBR, virt-make-fs sets the partition type byte automatically." +msgstr "" + +#. type: textblock +#: ../tools/virt-make-fs.pl:559 msgid "" "L, L, L, L, " "L, L, L, L, " @@ -36732,14 +36877,14 @@ msgid "" msgstr "" #. type: textblock -#: ../tools/virt-make-fs.pl:555 ../tools/virt-win-reg.pl:763 +#: ../tools/virt-make-fs.pl:573 ../tools/virt-win-reg.pl:763 msgid "" "When reporting bugs, please enable debugging and capture the I " "output:" msgstr "" #. type: verbatim -#: ../tools/virt-make-fs.pl:558 +#: ../tools/virt-make-fs.pl:576 #, no-wrap msgid "" " export LIBGUESTFS_DEBUG=1\n" @@ -36748,7 +36893,7 @@ msgid "" msgstr "" #. type: textblock -#: ../tools/virt-make-fs.pl:561 +#: ../tools/virt-make-fs.pl:579 msgid "" "Attach /tmp/virt-make-fs.log to a new bug report at " "L"