summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2012-08-17 17:28:25 +0100
committerRichard W.M. Jones <rjones@redhat.com>2012-08-17 17:30:48 +0100
commit99759da25c29a7376490074da3d2c22602a2acec (patch)
tree7b3dbdbfd599ec7facd7a0c3a48008ef1fda97a5
parent92e241440d361e9491a9d96d23ad7a378cb2ab6a (diff)
downloadlibguestfs-99759da25c29a7376490074da3d2c22602a2acec.tar.gz
libguestfs-99759da25c29a7376490074da3d2c22602a2acec.tar.xz
libguestfs-99759da25c29a7376490074da3d2c22602a2acec.zip
docs: Rewrite section on protocol limits again.
This updates commit 92e241440d361e9491a9d96d23ad7a378cb2ab6a.
-rw-r--r--generator/generator_actions.ml19
-rw-r--r--src/guestfs.pod42
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