diff --git a/configure.ac b/configure.ac index 8c58a344c6..aefb8f1aa9 100644 --- a/configure.ac +++ b/configure.ac @@ -132,17 +132,14 @@ dnl dnl Storage driver checks dnl -LIBVIRT_STORAGE_ARG_SHEEPDOG LIBVIRT_STORAGE_ARG_ZFS LIBVIRT_STORAGE_ARG_VSTORAGE if test "$with_libvirtd" = "no"; then - with_storage_sheepdog=no with_storage_zfs=no with_storage_vstorage=no fi -LIBVIRT_STORAGE_CHECK_SHEEPDOG LIBVIRT_STORAGE_CHECK_ZFS LIBVIRT_STORAGE_CHECK_VSTORAGE @@ -202,7 +199,6 @@ AC_MSG_NOTICE([=====================]) AC_MSG_NOTICE([]) AC_MSG_NOTICE([Storage Drivers]) AC_MSG_NOTICE([]) -LIBVIRT_STORAGE_RESULT_SHEEPDOG LIBVIRT_STORAGE_RESULT_ZFS LIBVIRT_STORAGE_RESULT_VSTORAGE AC_MSG_NOTICE([]) diff --git a/m4/virt-storage-sheepdog.m4 b/m4/virt-storage-sheepdog.m4 deleted file mode 100644 index aa5587f40f..0000000000 --- a/m4/virt-storage-sheepdog.m4 +++ /dev/null @@ -1,56 +0,0 @@ -dnl The storage Sheepdog check -dnl -dnl Copyright (C) 2016 Red Hat, Inc. -dnl -dnl This library is free software; you can redistribute it and/or -dnl modify it under the terms of the GNU Lesser General Public -dnl License as published by the Free Software Foundation; either -dnl version 2.1 of the License, or (at your option) any later version. -dnl -dnl This library is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl Lesser General Public License for more details. -dnl -dnl You should have received a copy of the GNU Lesser General Public -dnl License along with this library. If not, see -dnl . -dnl - -AC_DEFUN([LIBVIRT_STORAGE_ARG_SHEEPDOG], [ - LIBVIRT_ARG_WITH_FEATURE([STORAGE_SHEEPDOG], - [with Sheepdog backend for the storage driver], [check]) -]) - -AC_DEFUN([LIBVIRT_STORAGE_CHECK_SHEEPDOG], [ - if test "$with_storage_sheepdog" = "yes" || - test "$with_storage_sheepdog" = "check"; then - AC_PATH_PROGS([SHEEPDOGCLI], [collie dog], [], [$LIBVIRT_SBIN_PATH]) - - if test "$with_storage_sheepdog" = "yes"; then - if test -z "$SHEEPDOGCLI"; then - AC_MSG_ERROR([We need sheepdog client for Sheepdog storage driver]) - fi - else - if test -z "$SHEEPDOGCLI"; then - with_storage_sheepdog=no - fi - - if test "$with_storage_sheepdog" = "check"; then - with_storage_sheepdog=yes - fi - fi - - if test "$with_storage_sheepdog" = "yes"; then - AC_DEFINE_UNQUOTED([WITH_STORAGE_SHEEPDOG], 1, - [whether Sheepdog backend for storage driver is enabled]) - AC_DEFINE_UNQUOTED([SHEEPDOGCLI], ["$SHEEPDOGCLI"], - [Location of sheepdog client program]) - fi - fi - AM_CONDITIONAL([WITH_STORAGE_SHEEPDOG], [test "$with_storage_sheepdog" = "yes"]) -]) - -AC_DEFUN([LIBVIRT_STORAGE_RESULT_SHEEPDOG], [ - LIBVIRT_RESULT([Sheepdog], [$with_storage_sheepdog]) -]) diff --git a/meson.build b/meson.build index fc33fc258c..0b243be814 100644 --- a/meson.build +++ b/meson.build @@ -2006,6 +2006,16 @@ if conf.has('WITH_LIBVIRTD') use_storage = true conf.set('WITH_STORAGE_SCSI', 1) endif + + if not get_option('storage_sheepdog').disabled() + sheepdogcli_prog = find_program(['collie', 'dog'], required: get_option('storage_sheepdog'), dirs: libvirt_sbin_path) + + if sheepdogcli_prog.found() + use_storage = true + conf.set('WITH_STORAGE_SHEEPDOG', 1) + conf.set_quoted('SHEEPDOGCLI', sheepdogcli_prog.path()) + endif + endif endif if use_storage @@ -2061,6 +2071,7 @@ storagedriver_summary = { 'mpath': conf.has('WITH_STORAGE_MPATH'), 'Disk': conf.has('WITH_STORAGE_DISK'), 'RBD': conf.has('WITH_STORAGE_RBD'), + 'Sheepdog': conf.has('WITH_STORAGE_SHEEPDOG'), 'Gluster': conf.has('WITH_STORAGE_GLUSTER'), } summary(storagedriver_summary, section: 'Storage Drivers', bool_yn: true) diff --git a/meson_options.txt b/meson_options.txt index a4dfdcc5ed..c2d84590f0 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -85,3 +85,4 @@ option('storage_lvm', type: 'feature', value: 'auto', description: 'LVM backend option('storage_mpath', type: 'feature', value: 'auto', description: 'mpath backend for the storage driver') option('storage_rbd', type: 'feature', value: 'auto', description: 'RADOS Block Device backend for the storage driver') option('storage_scsi', type: 'feature', value: 'auto', description: 'SCSI backend for the storage driver') +option('storage_sheepdog', type: 'feature', value: 'auto', description: 'Sheepdog backend for the storage driver')