Daniel P. Berrange wrote:
On Thu, Jun 14, 2007 at 07:16:21PM +0200, Jim Meyering wrote:
> "Daniel P. Berrange" <berrange(a)redhat.com> wrote:
>>>> And (4) can be done by libvirtd using ordinary POSIX calls, so no
>>>> external library support is needed, just some work to remote those
>>>> operations (which is mostly done).
>>> Isn't doing #4 portably pretty tricky? There's still too much
>>> variation, because many of the details aren't covered by POSIX.
>>> At least for GNU df, it was -- it uses the mountlist module from gnulib:
>> We don't need to enumerate all the mount points. The admin will simply
> Lucky you :)
>
>> configure particulra directories (eg /var/lib/xen/images) as storage
>> repositories. So we only need to be able to call statfs/statvfs on
>> particular paths where we want to create a new image.
>>
>>> Of course, if your target is just Linux, then it is easier.
>> Minimally we have to target Solaris too, since we know they already use
>> libvirt.
> Ok. Then this (also used by df) might help, if you ever
> need portability to e.g., older Solaris, *BSD, AIX, HP-UX, etc.
>
>
http://cvs.sv.gnu.org/viewcvs/gnulib/lib/fsusage.c?root=gnulib&view=m...
Unfortunately we can't use that. The license is GPL, while libvirt needs
to be LGPL :-(
I'm sure we can use it as guidance for possible problems though. I'm
quite surprised there are portability problems with statfs. Isn't it a
v7 call, didn't think there wouldn't be much that could go wrong :-)
Rich.
--
Emerging Technologies, Red Hat -
http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in
England and Wales under Company Registration No. 03798903