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