Simplified distributed block storage with strong consistency, like in Ceph
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
3.1 KiB

  1. Index: qemu-3.1+dfsg/qapi/block-core.json
  2. ===================================================================
  3. --- qemu-3.1+dfsg.orig/qapi/block-core.json
  4. +++ qemu-3.1+dfsg/qapi/block-core.json
  5. @@ -2617,7 +2617,7 @@
  6. ##
  7. { 'enum': 'BlockdevDriver',
  8. 'data': [ 'blkdebug', 'blklogwrites', 'blkverify', 'bochs', 'cloop',
  9. - 'copy-on-read', 'dmg', 'file', 'ftp', 'ftps', 'gluster',
  10. + 'copy-on-read', 'dmg', 'file', 'ftp', 'ftps', 'gluster', 'vitastor',
  11. 'host_cdrom', 'host_device', 'http', 'https', 'iscsi', 'luks',
  12. 'nbd', 'nfs', 'null-aio', 'null-co', 'nvme', 'parallels', 'qcow',
  13. 'qcow2', 'qed', 'quorum', 'raw', 'rbd', 'replication', 'sheepdog',
  14. @@ -3367,6 +3367,28 @@
  15. '*tag': 'str' } }
  16. ##
  17. +# @BlockdevOptionsVitastor:
  18. +#
  19. +# Driver specific block device options for vitastor
  20. +#
  21. +# @image: Image name
  22. +# @inode: Inode number
  23. +# @pool: Pool ID
  24. +# @size: Desired image size in bytes
  25. +# @config_path: Path to Vitastor configuration
  26. +# @etcd_address: etcd connection address(es)
  27. +# @etcd_prefix: etcd key/value prefix
  28. +##
  29. +{ 'struct': 'BlockdevOptionsVitastor',
  30. + 'data': { '*inode': 'uint64',
  31. + '*pool': 'uint64',
  32. + '*size': 'uint64',
  33. + '*image': 'str',
  34. + '*config_path': 'str',
  35. + '*etcd_address': 'str',
  36. + '*etcd_prefix': 'str' } }
  37. +
  38. +##
  39. # @ReplicationMode:
  40. #
  41. # An enumeration of replication modes.
  42. @@ -3713,6 +3731,7 @@
  43. 'rbd': 'BlockdevOptionsRbd',
  44. 'replication':'BlockdevOptionsReplication',
  45. 'sheepdog': 'BlockdevOptionsSheepdog',
  46. + 'vitastor': 'BlockdevOptionsVitastor',
  47. 'ssh': 'BlockdevOptionsSsh',
  48. 'throttle': 'BlockdevOptionsThrottle',
  49. 'vdi': 'BlockdevOptionsGenericFormat',
  50. @@ -4158,6 +4177,17 @@
  51. '*block-state-zero': 'bool' } }
  52. ##
  53. +# @BlockdevCreateOptionsVitastor:
  54. +#
  55. +# Driver specific image creation options for Vitastor.
  56. +#
  57. +# @size: Size of the virtual disk in bytes
  58. +##
  59. +{ 'struct': 'BlockdevCreateOptionsVitastor',
  60. + 'data': { 'location': 'BlockdevOptionsVitastor',
  61. + 'size': 'size' } }
  62. +
  63. +##
  64. # @BlockdevVpcSubformat:
  65. #
  66. # @dynamic: Growing image file
  67. @@ -4212,6 +4242,7 @@
  68. 'qed': 'BlockdevCreateOptionsQed',
  69. 'rbd': 'BlockdevCreateOptionsRbd',
  70. 'sheepdog': 'BlockdevCreateOptionsSheepdog',
  71. + 'vitastor': 'BlockdevCreateOptionsVitastor',
  72. 'ssh': 'BlockdevCreateOptionsSsh',
  73. 'vdi': 'BlockdevCreateOptionsVdi',
  74. 'vhdx': 'BlockdevCreateOptionsVhdx',
  75. Index: qemu-3.1+dfsg/scripts/modules/module_block.py
  76. ===================================================================
  77. --- qemu-3.1+dfsg.orig/scripts/modules/module_block.py
  78. +++ qemu-3.1+dfsg/scripts/modules/module_block.py
  79. @@ -88,6 +88,7 @@ def print_bottom(fheader):
  80. output_file = sys.argv[1]
  81. with open(output_file, 'w') as fheader:
  82. print_top(fheader)
  83. + add_module(fheader, "vitastor", "vitastor", "vitastor")
  84. for filename in sys.argv[2:]:
  85. if os.path.isfile(filename):