|
|
@ -1,8 +1,8 @@ |
|
|
|
Index: qemu-5.1+dfsg/qapi/block-core.json
|
|
|
|
Index: qemu-5.2+dfsg/qapi/block-core.json
|
|
|
|
===================================================================
|
|
|
|
--- qemu-5.1+dfsg.orig/qapi/block-core.json
|
|
|
|
+++ qemu-5.1+dfsg/qapi/block-core.json
|
|
|
|
@@ -2807,7 +2807,7 @@
|
|
|
|
--- qemu-5.2+dfsg.orig/qapi/block-core.json
|
|
|
|
+++ qemu-5.2+dfsg/qapi/block-core.json
|
|
|
|
@@ -2831,7 +2831,7 @@
|
|
|
|
'luks', 'nbd', 'nfs', 'null-aio', 'null-co', 'nvme', 'parallels', |
|
|
|
'qcow', 'qcow2', 'qed', 'quorum', 'raw', 'rbd', |
|
|
|
{ 'name': 'replication', 'if': 'defined(CONFIG_REPLICATION)' }, |
|
|
@ -11,7 +11,7 @@ Index: qemu-5.1+dfsg/qapi/block-core.json |
|
|
|
'ssh', 'throttle', 'vdi', 'vhdx', 'vmdk', 'vpc', 'vvfat' ] } |
|
|
|
|
|
|
|
## |
|
|
|
@@ -3644,6 +3644,28 @@
|
|
|
|
@@ -3668,6 +3668,28 @@
|
|
|
|
'*tag': 'str' } } |
|
|
|
|
|
|
|
## |
|
|
@ -40,7 +40,7 @@ Index: qemu-5.1+dfsg/qapi/block-core.json |
|
|
|
# @ReplicationMode: |
|
|
|
# |
|
|
|
# An enumeration of replication modes. |
|
|
|
@@ -3988,6 +4006,7 @@
|
|
|
|
@@ -4015,6 +4037,7 @@
|
|
|
|
'replication': { 'type': 'BlockdevOptionsReplication', |
|
|
|
'if': 'defined(CONFIG_REPLICATION)' }, |
|
|
|
'sheepdog': 'BlockdevOptionsSheepdog', |
|
|
@ -48,7 +48,7 @@ Index: qemu-5.1+dfsg/qapi/block-core.json |
|
|
|
'ssh': 'BlockdevOptionsSsh', |
|
|
|
'throttle': 'BlockdevOptionsThrottle', |
|
|
|
'vdi': 'BlockdevOptionsGenericFormat', |
|
|
|
@@ -4376,6 +4395,17 @@
|
|
|
|
@@ -4404,6 +4427,17 @@
|
|
|
|
'*cluster-size' : 'size' } } |
|
|
|
|
|
|
|
## |
|
|
@ -66,7 +66,7 @@ Index: qemu-5.1+dfsg/qapi/block-core.json |
|
|
|
# @BlockdevVmdkSubformat: |
|
|
|
# |
|
|
|
# Subformat options for VMDK images |
|
|
|
@@ -4637,6 +4667,7 @@
|
|
|
|
@@ -4665,6 +4699,7 @@
|
|
|
|
'qed': 'BlockdevCreateOptionsQed', |
|
|
|
'rbd': 'BlockdevCreateOptionsRbd', |
|
|
|
'sheepdog': 'BlockdevCreateOptionsSheepdog', |
|
|
@ -74,15 +74,108 @@ Index: qemu-5.1+dfsg/qapi/block-core.json |
|
|
|
'ssh': 'BlockdevCreateOptionsSsh', |
|
|
|
'vdi': 'BlockdevCreateOptionsVdi', |
|
|
|
'vhdx': 'BlockdevCreateOptionsVhdx', |
|
|
|
Index: qemu-5.1+dfsg/scripts/modules/module_block.py
|
|
|
|
Index: qemu-5.2+dfsg/block/meson.build
|
|
|
|
===================================================================
|
|
|
|
--- qemu-5.1+dfsg.orig/scripts/modules/module_block.py
|
|
|
|
+++ qemu-5.1+dfsg/scripts/modules/module_block.py
|
|
|
|
@@ -86,6 +86,7 @@ if __name__ == '__main__':
|
|
|
|
output_file = sys.argv[1] |
|
|
|
with open(output_file, 'w') as fheader: |
|
|
|
print_top(fheader) |
|
|
|
+ add_module(fheader, "vitastor", "vitastor", "vitastor")
|
|
|
|
--- qemu-5.2+dfsg.orig/block/meson.build
|
|
|
|
+++ qemu-5.2+dfsg/block/meson.build
|
|
|
|
@@ -76,6 +76,7 @@ foreach m : [
|
|
|
|
['CONFIG_LIBNFS', 'nfs', libnfs, 'nfs.c'], |
|
|
|
['CONFIG_LIBSSH', 'ssh', libssh, 'ssh.c'], |
|
|
|
['CONFIG_RBD', 'rbd', rbd, 'rbd.c'], |
|
|
|
+ ['CONFIG_VITASTOR', 'vitastor', vitastor, 'vitastor.c'],
|
|
|
|
] |
|
|
|
if config_host.has_key(m[0]) |
|
|
|
if enable_modules |
|
|
|
Index: qemu-5.2+dfsg/configure
|
|
|
|
===================================================================
|
|
|
|
--- qemu-5.2+dfsg.orig/configure
|
|
|
|
+++ qemu-5.2+dfsg/configure
|
|
|
|
@@ -372,6 +372,7 @@ trace_backends="log"
|
|
|
|
trace_file="trace" |
|
|
|
spice="" |
|
|
|
rbd="" |
|
|
|
+vitastor=""
|
|
|
|
smartcard="" |
|
|
|
u2f="auto" |
|
|
|
libusb="" |
|
|
|
@@ -1263,6 +1264,10 @@ for opt do
|
|
|
|
;; |
|
|
|
--enable-rbd) rbd="yes" |
|
|
|
;; |
|
|
|
+ --disable-vitastor) vitastor="no"
|
|
|
|
+ ;;
|
|
|
|
+ --enable-vitastor) vitastor="yes"
|
|
|
|
+ ;;
|
|
|
|
--disable-xfsctl) xfs="no" |
|
|
|
;; |
|
|
|
--enable-xfsctl) xfs="yes" |
|
|
|
@@ -1827,6 +1832,7 @@ disabled with --disable-FEATURE, default
|
|
|
|
vhost-vdpa vhost-vdpa kernel backend support |
|
|
|
spice spice |
|
|
|
rbd rados block device (rbd) |
|
|
|
+ vitastor vitastor block device
|
|
|
|
libiscsi iscsi support |
|
|
|
libnfs nfs support |
|
|
|
smartcard smartcard support (libcacard) |
|
|
|
@@ -3719,6 +3725,27 @@ EOF
|
|
|
|
fi |
|
|
|
|
|
|
|
########################################## |
|
|
|
+# vitastor probe
|
|
|
|
+if test "$vitastor" != "no" ; then
|
|
|
|
+ cat > $TMPC <<EOF
|
|
|
|
+#include <vitastor_c.h>
|
|
|
|
+int main(void) {
|
|
|
|
+ vitastor_c_create_qemu(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
|
|
|
+ return 0;
|
|
|
|
+}
|
|
|
|
+EOF
|
|
|
|
+ vitastor_libs="-lvitastor_client"
|
|
|
|
+ if compile_prog "" "$vitastor_libs" ; then
|
|
|
|
+ vitastor=yes
|
|
|
|
+ else
|
|
|
|
+ if test "$vitastor" = "yes" ; then
|
|
|
|
+ feature_not_found "vitastor block device" "Install vitastor-client-dev"
|
|
|
|
+ fi
|
|
|
|
+ vitastor=no
|
|
|
|
+ fi
|
|
|
|
+fi
|
|
|
|
+
|
|
|
|
+##########################################
|
|
|
|
# libssh probe |
|
|
|
if test "$libssh" != "no" ; then |
|
|
|
if $pkg_config --exists libssh; then |
|
|
|
@@ -6456,6 +6483,10 @@ if test "$rbd" = "yes" ; then
|
|
|
|
echo "CONFIG_RBD=y" >> $config_host_mak |
|
|
|
echo "RBD_LIBS=$rbd_libs" >> $config_host_mak |
|
|
|
fi |
|
|
|
+if test "$vitastor" = "yes" ; then
|
|
|
|
+ echo "CONFIG_VITASTOR=y" >> $config_host_mak
|
|
|
|
+ echo "VITASTOR_LIBS=$vitastor_libs" >> $config_host_mak
|
|
|
|
+fi
|
|
|
|
|
|
|
|
for filename in sys.argv[2:]: |
|
|
|
if os.path.isfile(filename): |
|
|
|
echo "CONFIG_COROUTINE_BACKEND=$coroutine" >> $config_host_mak |
|
|
|
if test "$coroutine_pool" = "yes" ; then |
|
|
|
Index: qemu-5.2+dfsg/meson.build
|
|
|
|
===================================================================
|
|
|
|
--- qemu-5.2+dfsg.orig/meson.build
|
|
|
|
+++ qemu-5.2+dfsg/meson.build
|
|
|
|
@@ -596,6 +596,10 @@ rbd = not_found
|
|
|
|
if 'CONFIG_RBD' in config_host |
|
|
|
rbd = declare_dependency(link_args: config_host['RBD_LIBS'].split()) |
|
|
|
endif |
|
|
|
+vitastor = not_found
|
|
|
|
+if 'CONFIG_VITASTOR' in config_host
|
|
|
|
+ vitastor = declare_dependency(link_args: config_host['VITASTOR_LIBS'].split())
|
|
|
|
+endif
|
|
|
|
glusterfs = not_found |
|
|
|
if 'CONFIG_GLUSTERFS' in config_host |
|
|
|
glusterfs = declare_dependency(compile_args: config_host['GLUSTERFS_CFLAGS'].split(), |
|
|
|
@@ -2145,6 +2149,7 @@ endif
|
|
|
|
# TODO: add back protocol and server version |
|
|
|
summary_info += {'spice support': config_host.has_key('CONFIG_SPICE')} |
|
|
|
summary_info += {'rbd support': config_host.has_key('CONFIG_RBD')} |
|
|
|
+summary_info += {'vitastor support': config_host.has_key('CONFIG_VITASTOR')}
|
|
|
|
summary_info += {'xfsctl support': config_host.has_key('CONFIG_XFS')} |
|
|
|
summary_info += {'smartcard support': config_host.has_key('CONFIG_SMARTCARD')} |
|
|
|
summary_info += {'U2F support': u2f.found()} |
|
|
|