diff options
author | Richard Jones <rjones@redhat.com> | 2010-05-18 23:20:30 +0100 |
---|---|---|
committer | Richard Jones <rjones@redhat.com> | 2010-05-20 10:30:12 +0100 |
commit | 1214b321621e7750c67423ecf4d9528809e1eeac (patch) | |
tree | 4f53875a21079a80b8b78626968fca1cf8aab2ff /src | |
parent | 3920ad95f6b2db8fbf20aa26692877a09070cb04 (diff) | |
download | libguestfs-1214b321621e7750c67423ecf4d9528809e1eeac.tar.gz libguestfs-1214b321621e7750c67423ecf4d9528809e1eeac.tar.xz libguestfs-1214b321621e7750c67423ecf4d9528809e1eeac.zip |
New API: Implement pwrite system call (partial fix for RHBZ#592883).
Diffstat (limited to 'src')
-rw-r--r-- | src/MAX_PROC_NR | 2 | ||||
-rwxr-xr-x | src/generator.ml | 30 |
2 files changed, 30 insertions, 2 deletions
diff --git a/src/MAX_PROC_NR b/src/MAX_PROC_NR index 5d165ff2..e06108c0 100644 --- a/src/MAX_PROC_NR +++ b/src/MAX_PROC_NR @@ -1 +1 @@ -246 +247 diff --git a/src/generator.ml b/src/generator.ml index dfab8dcd..32a81400 100755 --- a/src/generator.ml +++ b/src/generator.ml @@ -4062,7 +4062,9 @@ This command lets you read part of a file. It reads C<count> bytes of the file, starting at C<offset>, from file C<path>. This may read fewer bytes than requested. For further details -see the L<pread(2)> system call."); +see the L<pread(2)> system call. + +See also C<guestfs_pwrite>."); ("part_init", (RErr, [Device "device"; String "parttype"]), 208, [], [InitEmpty, Always, TestRun ( @@ -4658,6 +4660,32 @@ to ensure the length of the file is exactly C<len> bytes."); This call creates a file called C<path>. The content of the file is the string C<content> (which can contain any 8 bit data)."); + ("pwrite", (RInt "nbytes", [Pathname "path"; BufferIn "content"; Int64 "offset"]), 247, [ProtocolLimitWarning], + [InitBasicFS, Always, TestOutput ( + [["write"; "/new"; "new file contents"]; + ["pwrite"; "/new"; "data"; "4"]; + ["cat"; "/new"]], "new data contents"); + InitBasicFS, Always, TestOutput ( + [["write"; "/new"; "new file contents"]; + ["pwrite"; "/new"; "is extended"; "9"]; + ["cat"; "/new"]], "new file is extended"); + InitBasicFS, Always, TestOutput ( + [["write"; "/new"; "new file contents"]; + ["pwrite"; "/new"; ""; "4"]; + ["cat"; "/new"]], "new file contents")], + "write to part of a file", + "\ +This command writes to part of a file. It writes the data +buffer C<content> to the file C<path> starting at offset C<offset>. + +This command implements the L<pwrite(2)> system call, and like +that system call it may not write the full data requested. The +return value is the number of bytes that were actually written +to the file. This could even be 0, although short writes are +unlikely for regular files in ordinary circumstances. + +See also C<guestfs_pread>."); + ] let all_functions = non_daemon_functions @ daemon_functions |