From 53e98f11d1f3df30cc013af021464a257949a62d Mon Sep 17 00:00:00 2001 From: Anand Avati Date: Tue, 5 Mar 2013 14:48:28 -0800 Subject: features/qemu-block: support for QCOW2 and QED formats This patch adds support for internals snapshots using QCOW2 and general framework for external snapshots (next patch) with QCOW2 and QED. For internal snapshots, the file must be "initialized" or "formatted" into QCOW2 format, and specify a file size. Snapshots can be created, deleted, and applied ("goto"). e.g: // Format and Initialize sh# setfattr -n trusted.glusterfs.block-format -v qcow2:10GB /mnt/imgfile sh# ls -l /mnt/imgfile -rw-r--r-- 1 root root 10G Jul 18 21:20 imgfile // Create a snapshot sh# setfattr -n trusted.glusterfs.block-snapshot-create -v name1 imgfile // Apply a snapshot sh# setfattr -n trusted.gluterfs.block-snapshot-goto -v name1 imgfile Change-Id: If993e057a9455967ba3fa9dcabb7f74b8b2cf4c3 BUG: 986775 Signed-off-by: Anand Avati Reviewed-on: http://review.gluster.org/5367 Tested-by: Gluster Build System Reviewed-by: Brian Foster --- configure.ac | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index 5c43dc55f..6b962042c 100644 --- a/configure.ac +++ b/configure.ac @@ -127,6 +127,8 @@ AC_CONFIG_FILES([Makefile xlators/encryption/Makefile xlators/encryption/rot-13/Makefile xlators/encryption/rot-13/src/Makefile + xlators/features/qemu-block/Makefile + xlators/features/qemu-block/src/Makefile xlators/system/Makefile xlators/system/posix-acl/Makefile xlators/system/posix-acl/src/Makefile @@ -353,6 +355,33 @@ fi AC_SUBST(FUSERMOUNT_SUBDIR) #end FUSERMOUNT section +# QEMU_BLOCK section + +AC_ARG_ENABLE([qemu-block], + AC_HELP_STRING([--enable-qemu-block], + [Build QEMU Block formats translator])) + +if test "x$enable_qemu_block" != "xno"; then + PKG_CHECK_MODULES([GLIB], [glib-2.0], + [HAVE_GLIB_2="yes"], + [HAVE_GLIB_2="no"]) +fi + +if test "x$enable_qemu_block" = "xyes" -a "x$HAVE_GLIB_2" = "xno"; then + echo "QEMU Block formats translator requires libglib-2.0, but missing." + exit 1 +fi + +BUILD_QEMU_BLOCK=no +if test "x${enable_qemu_block}" != "xno" -a "x${HAVE_GLIB_2}" = "xyes"; then + BUILD_QEMU_BLOCK=yes + AC_DEFINE(HAVE_QEMU_BLOCK, 1, [define if libglib-2.0 library found and QEMU + Block translator enabled]) +fi + +AM_CONDITIONAL([ENABLE_QEMU_BLOCK], [test x$BUILD_QEMU_BLOCK = xyes]) + +# end QEMU_BLOCK section # EPOLL section AC_ARG_ENABLE([epoll], @@ -816,4 +845,5 @@ echo "Block Device backend : $BUILD_BD_XLATOR" echo "glupy : $BUILD_GLUPY" echo "Use syslog : $USE_SYSLOG" echo "XML output : $BUILD_XML_OUTPUT" +echo "QEMU Block formats : $BUILD_QEMU_BLOCK" echo -- cgit