diff --git a/patches/qemu-5.1-vitastor.patch b/patches/qemu-5.1-vitastor.patch index dec5d5f42..7dd252ab4 100644 --- a/patches/qemu-5.1-vitastor.patch +++ b/patches/qemu-5.1-vitastor.patch @@ -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 - for filename in sys.argv[2:]: - if os.path.isfile(filename): + ########################################## ++# vitastor probe ++if test "$vitastor" != "no" ; then ++ cat > $TMPC < ++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 + + 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()}