On Tue, Aug 7, 2012 at 8:00 AM, Bharata B Rao <bhar...@linux.vnet.ibm.com> wrote: > qemu: Add a config option for GlusterFS as block backend > > From: Bharata B Rao <bhar...@linux.vnet.ibm.com> > > GlusterFS support in QEMU depends on libgfapi, libgfrpc and > libgfxdr provided by GlusterFS. > > Signed-off-by: Bharata B Rao <bhar...@linux.vnet.ibm.com> > --- > > configure | 34 ++++++++++++++++++++++++++++++++++ > 1 files changed, 34 insertions(+), 0 deletions(-) > > > diff --git a/configure b/configure > index 027a718..5bcf6d5 100755 > --- a/configure > +++ b/configure > @@ -824,6 +824,10 @@ for opt do > ;; > --disable-guest-agent) guest_agent="no" > ;; > + --disable-glusterfs) glusterfs="no"
This is the first use of $glusterfs. Please define the default value, the rationale is given at the start of configure: # Default value for a variable defining feature "foo". # * foo="no" feature will only be used if --enable-foo arg is given # * foo="" feature will be searched for, and if found, will be used # unless --disable-foo is given # * foo="yes" this value will only be set by --enable-foo flag. # feature will searched for, # if not found, configure exits with error I think "" would match other features. > + ;; > + --enable-glusterfs) glusterfs="yes" > + ;; > *) echo "ERROR: unknown option $opt"; show_help="yes" > ;; > esac > @@ -1112,6 +1116,8 @@ echo " --disable-guest-agent disable building of > the QEMU Guest Agent" > echo " --enable-guest-agent enable building of the QEMU Guest Agent" > echo " --with-coroutine=BACKEND coroutine backend. Supported options:" > echo " gthread, ucontext, sigaltstack, windows" > +echo " --enable-glusterfs enable GlusterFS backend" > +echo " --disable-glusterfs disable GlusterFS backend" > echo "" > echo "NOTE: The object files are built at the place where configure is > launched" > exit 1 > @@ -2279,6 +2285,29 @@ EOF > fi > fi > > +########################################## > +# glusterfs probe > +if test "$glusterfs" != "no" ; then > + cat > $TMPC <<EOF > +#include <glusterfs/api/glfs.h> > +int main(void) { > + (void) glfs_new("volume"); > + return 0; > +} > +EOF > + glusterfs_libs="-lgfapi -lgfrpc -lgfxdr" > + if compile_prog "" "$glusterfs_libs" ; then > + glusterfs=yes > + libs_tools="$glusterfs_libs $libs_tools" > + libs_softmmu="$glusterfs_libs $libs_softmmu" > + else > + if test "$glusterfs" = "yes" ; then > + feature_not_found "GlusterFS backend support" > + fi > + glusterfs=no > + fi > +fi > + > # > # Check for xxxat() functions when we are building linux-user > # emulator. This is done because older glibc versions don't > @@ -3104,6 +3133,7 @@ echo "OpenGL support $opengl" > echo "libiscsi support $libiscsi" > echo "build guest agent $guest_agent" > echo "coroutine backend $coroutine_backend" > +echo "GlusterFS support $glusterfs" > > if test "$sdl_too_old" = "yes"; then > echo "-> Your SDL version is too old - please upgrade to have SDL support" > @@ -3441,6 +3471,10 @@ if test "$has_environ" = "yes" ; then > echo "CONFIG_HAS_ENVIRON=y" >> $config_host_mak > fi > > +if test "$glusterfs" = "yes" ; then > + echo "CONFIG_GLUSTERFS=y" >> $config_host_mak > +fi > + > # USB host support > case "$usb" in > linux) >