diff options
-rw-r--r-- | generator/generator_actions.ml | 19 | ||||
-rw-r--r-- | src/guestfs.pod | 42 |
2 files changed, 22 insertions, 39 deletions
diff --git a/generator/generator_actions.ml b/generator/generator_actions.ml index 1b10b04a..bb5aa2ae 100644 --- a/generator/generator_actions.ml +++ b/generator/generator_actions.ml @@ -1984,15 +1984,7 @@ Return the contents of the file named C<path>. Because, in C, this function returns a C<char *>, there is no way to differentiate between a C<\\0> character in a file and end of string. To handle binary files, use the C<guestfs_read_file> -or C<guestfs_download> functions. - -In libguestfs E<lt> 1.19.32, this API was also subject to -a limit in the protocol which limited the effective size of -a file that it could read. In later versions of libguestfs, -this limit has been lifted and the call can download and -return arbitrary sized files (limited by the amount of -memory available). In either case you should check the size -of the file before downloading it or consider alternate APIs." }; +or C<guestfs_download> functions." }; { defaults with name = "find"; @@ -2035,14 +2027,7 @@ then the returned list from C<guestfs_find> C</tmp> would be If C<directory> is not a directory, then this command returns an error. -The returned list is sorted. - -In libguestfs E<lt> 1.19.32, this API was also subject to -a limit in the protocol which limited the number of lines -that could be returned. In later versions of libguestfs, -this limit has been lifted and the call can download and -return an arbitrary list of files (limited by the amount of -memory available)." }; +The returned list is sorted." }; { defaults with name = "read_file"; diff --git a/src/guestfs.pod b/src/guestfs.pod index d480d5e6..05bbaea4 100644 --- a/src/guestfs.pod +++ b/src/guestfs.pod @@ -3232,28 +3232,26 @@ need to be aware of this limit. The API calls which may be affected are individually documented, with a link back to this section of the documentation. -In libguestfs E<lt> 1.19.32, a simple call such as L</guestfs_cat> -returns its result (the file data) in a simple string. Because this -string is at some point internally encoded as a message, the maximum -size that it can return is slightly under 4 MB. If the requested file -is larger than this then you will get an error. - -However in more recent versions of libguestfs, some APIs such as -L</guestfs_cat> and L</guestfs_write> have been rewritten so that they -are not subject to protocol limits. They still may be limited because -the file content is stored in memory. - -(To find out if a specific API is subject to protocol limits, check -for the warning in the API documentation which links to this section, -and remember to check the version of the documentation that matches -the version of libguestfs you are using). - -In order to transfer large files into and out of the guest filesystem, -you need to use particular calls that support this. The sections -L</UPLOADING> and L</DOWNLOADING> document how to do this. - -You might also consider mounting the disk image using our FUSE -filesystem support (L<guestmount(1)>). +In libguestfs E<lt> 1.19.32, several calls had to encode either their +entire argument list or their entire return value (or sometimes both) +in a single protocol message, and this gave them an arbitrary +limitation on how much data they could handle. For example, +L</guestfs_cat> could only download a file if it was less than around +4 MB in size. In later versions of libguestfs, some of these limits +have been removed. The APIs which were previously limited but are now +unlimited (except perhaps by available memory) are listed below. To +find out if a specific API is subject to protocol limits, check for +the warning in the API documentation which links to this section, and +remember to check the version of the documentation that matches the +version of libguestfs you are using. + +L</guestfs_cat>, L</guestfs_find>, L</guestfs_read_file>, +L</guestfs_read_lines>, L</guestfs_write>, L</guestfs_write_append>, +L</guestfs_lstatlist>, L</guestfs_lxattrlist>, +L</guestfs_readlinklist>, L</guestfs_ls>. + +See also L</UPLOADING> and L</DOWNLOADING> for further information +about copying large amounts of data into or out of a filesystem. =head2 MAXIMUM NUMBER OF DISKS |