Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx> --- configure.ac | 4 -- m4/virt-storage-vstorage.m4 | 73 ------------------------------------- meson.build | 24 ++++++++++++ meson_options.txt | 1 + 4 files changed, 25 insertions(+), 77 deletions(-) delete mode 100644 m4/virt-storage-vstorage.m4 diff --git a/configure.ac b/configure.ac index ba15aa9bb2b..6416986c303 100644 --- a/configure.ac +++ b/configure.ac @@ -135,15 +135,12 @@ dnl Storage driver checks dnl LIBVIRT_STORAGE_ARG_ZFS -LIBVIRT_STORAGE_ARG_VSTORAGE if test "$with_libvirtd" = "no"; then with_storage_zfs=no - with_storage_vstorage=no fi LIBVIRT_STORAGE_CHECK_ZFS -LIBVIRT_STORAGE_CHECK_VSTORAGE dnl Python3 < 3.7 treats the C locale as 7-bit only. dnl We must force env vars so it treats it as UTF-8 @@ -202,7 +199,6 @@ AC_MSG_NOTICE([]) AC_MSG_NOTICE([Storage Drivers]) AC_MSG_NOTICE([]) LIBVIRT_STORAGE_RESULT_ZFS -LIBVIRT_STORAGE_RESULT_VSTORAGE AC_MSG_NOTICE([]) AC_MSG_NOTICE([Driver Loadable Modules]) AC_MSG_NOTICE([]) diff --git a/m4/virt-storage-vstorage.m4 b/m4/virt-storage-vstorage.m4 deleted file mode 100644 index e3b3bb40f0c..00000000000 --- a/m4/virt-storage-vstorage.m4 +++ /dev/null @@ -1,73 +0,0 @@ -dnl The storage vstorage check -dnl -dnl Copyright (C) 2016 Parallels IP Holdings GmbH, 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 <http://www.gnu.org/licenses/>. -dnl - - -AC_DEFUN([LIBVIRT_STORAGE_ARG_VSTORAGE], [ - LIBVIRT_ARG_WITH_FEATURE([STORAGE_VSTORAGE], - [Virtuozzo Storage backend for the storage driver], - [check]) -]) - -AC_DEFUN([LIBVIRT_STORAGE_CHECK_VSTORAGE], [ - if test "$with_storage_vstorage" = "yes" || - test "$with_storage_vstorage" = "check"; then - AC_PATH_PROG([VSTORAGE], [vstorage], [], [$LIBVIRT_SBIN_PATH]) - AC_PATH_PROG([VSTORAGE_MOUNT], [vstorage-mount], [], [$LIBVIRT_SBIN_PATH]) - AC_PATH_PROG([UMOUNT], [umount], [], [$LIBVIRT_SBIN_PATH]) - - if test "$with_storage_vstorage" = "yes"; then - if test -z "$VSTORAGE" || test -z "$VSTORAGE_MOUNT"; then - AC_MSG_ERROR([We need vstorage and vstorage-mount tool for Vstorage storage driver]); - fi - if test -z "$UMOUNT" ; then - AC_MSG_ERROR([We need umount for Vstorage storage driver]); - fi - else - if test -z "$VSTORAGE" ; then - with_storage_vstorage=no - fi - if test -z "$VSTORAGE_MOUNT" ; then - with_storage_vstorage=no - fi - if test -z "$UMOUNT" ; then - with_storage_vstorage=no - fi - - if test "$with_storage_vstorage" = "check" ; then - with_storage_vstorage=yes - fi - fi - - if test "$with_storage_vstorage" = "yes" ; then - AC_DEFINE_UNQUOTED([WITH_STORAGE_VSTORAGE], 1, - [whether Vstorage backend for storage driver is enabled]) - AC_DEFINE_UNQUOTED([VSTORAGE], ["$VSTORAGE"], - [Location or name of the vstorage client tool]) - AC_DEFINE_UNQUOTED([VSTORAGE_MOUNT], ["$VSTORAGE_MOUNT"], - [Location or name of the vstorage mount tool]) - AC_DEFINE_UNQUOTED([UMOUNT], ["$UMOUNT"], - [Location or name of the umount programm]) - fi - fi - AM_CONDITIONAL([WITH_STORAGE_VSTORAGE], [test "$with_storage_vstorage" = "yes"]) -]) - -AC_DEFUN([LIBVIRT_STORAGE_RESULT_VSTORAGE], [ - LIBVIRT_RESULT([Virtuozzo storage], [$with_storage_vstorage]) -]) diff --git a/meson.build b/meson.build index fcd4bc5e5da..83f7710f93c 100644 --- a/meson.build +++ b/meson.build @@ -1998,6 +1998,29 @@ if conf.has('WITH_LIBVIRTD') conf.set_quoted('SHEEPDOGCLI', sheepdogcli_prog.path()) endif endif + + if not get_option('storage_vstorage').disabled() + vstorage_enable = true + + foreach name : ['vstorage', 'vstorage-mount', 'umount'] + set_variable( + '@0@_prog'.format(name.underscorify()), + find_program(name, required: get_option('storage_vstorage'), dirs: libvirt_sbin_path) + ) + if not get_variable('@0@_prog'.format(name.underscorify())).found() + vstorage_enable = false + endif + endforeach + + if vstorage_enable + use_storage = true + conf.set('WITH_STORAGE_VSTORAGE', 1) + foreach name : ['vstorage', 'vstorage-mount', 'umount'] + path = get_variable('@0@_prog'.format(name.underscorify())).path() + conf.set_quoted(name.to_upper(), path) + endforeach + endif + endif endif if use_storage @@ -2055,6 +2078,7 @@ storagedriver_summary = { 'RBD': conf.has('WITH_STORAGE_RBD'), 'Sheepdog': conf.has('WITH_STORAGE_SHEEPDOG'), 'Gluster': conf.has('WITH_STORAGE_GLUSTER'), + 'Virtuozzo storage': conf.has('WITH_STORAGE_VSTORAGE'), } summary(storagedriver_summary, section: 'Storage Drivers', bool_yn: true) diff --git a/meson_options.txt b/meson_options.txt index eec89eacfb3..4d8cac9254a 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -85,3 +85,4 @@ option('storage_mpath', type: 'feature', value: 'auto', description: 'mpath back 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') +option('storage_vstorage', type: 'feature', value: 'auto', description: 'Virtuozzo storage backend for the storage driver') -- 2.26.2