
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