[libvirt] [PATCH] Allow storage FS backend to be disabled

John Levon john.levon at sun.com
Mon Dec 15 22:02:45 UTC 2008


On Mon, Dec 15, 2008 at 09:51:18PM +0000, Daniel P. Berrange wrote:

> > It's Linux-specific, and it should be possible to disable it
> 
> Yes & no. The storage_backend_fs.c file is actually 3 backends all
> in  one file. 
> 
>  - A directory based pool
>  - A local filesystem based pool
>  - A network filesystem based pool
> 
> The directory based pool only uses trivial POSIX apis like
> open/read/write/close/stat and is intended to be the one
> impl that is guarenteed available on all operating systems.
> Thus we delibrately don't disable the whole compilation of
> this file in the Makefile.am

Would be simpler to split out into separate files? This threw me.

> What compile errors do you get from the storage_backend_fs.c
> on Solaris when you run configure --without-storage-fs ?

"/export/build/johnlev/xvm/xvm-vi/libvirt.hg/src/storage_backend_fs.c", line 34: error: cannot find include file: <endian.h>
"/export/build/johnlev/xvm/xvm-vi/libvirt.hg/src/storage_backend_fs.c", line 35: error: cannot find include file: <byteswap.h>
"/export/build/johnlev/xvm/xvm-vi/libvirt.hg/src/storage_backend_fs.c", line 36: error: cannot find include file: <mntent.h>
"/export/build/johnlev/xvm/xvm-vi/libvirt.hg/src/storage_backend_fs.c", line 81: error: undefined symbol: __BIG_ENDIAN

So line 36 needs moving within the #ifdef, and we need a general replacement
for the endian stuff. I'm not sure what you're using from byteswap.h, but we can
just define __*_ENDIAN if they're not, I think?

regards
john




More information about the libvir-list mailing list