[Libguestfs] Proposed new file apis

Richard W.M. Jones rjones at redhat.com
Mon Aug 23 16:37:24 UTC 2010


On Mon, Aug 23, 2010 at 05:29:28PM +0100, Matthew Booth wrote:
> You assume above that you know in advance how large the file you're
> writing will be. As I said, you could move that truncate-size to the
> end, but mixing paths and handles is nasty and occasionally
> error-prone.
> 
> Consider:
> 
> h = hopen_file("/foo");
> 
> hwrite ...;
> hwrite ...;
> 
>   mv("/foo", "/bar");
> 
> hwrite ...;
> hwrite ...;
> truncate("/foo", x);
> 
> You've now created 2 files rather than 1. If you use htruncate
> rather than truncate here it's robust to any changes in paths.

OK, so you can poke your own eye out ...

This is all being accessed from a single program.  I think you just
should take care not to do that.

Nevertheless we can start without these APIs and add them later if
there is a pressing need.  But I thought the original point of handles
was for optimization, and we don't need to optimize something which is
done exactly once.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
New in Fedora 11: Fedora Windows cross-compiler. Compile Windows
programs, test, and build Windows installers. Over 70 libraries supprt'd
http://fedoraproject.org/wiki/MinGW http://www.annexia.org/fedora_mingw




More information about the Libguestfs mailing list