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.
 
 
 
 
 
 

85 lines
2.9 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,24 @@
  15. '*tag': 'str' } }
  16. ##
  17. +# @BlockdevOptionsVitastor:
  18. +#
  19. +# Driver specific block device options for vitastor
  20. +#
  21. +# @inode: Inode number
  22. +# @pool: Pool ID
  23. +# @size: Desired image size in bytes
  24. +# @etcd_host: etcd connection address
  25. +# @etcd_prefix: etcd key/value prefix
  26. +##
  27. +{ 'struct': 'BlockdevOptionsVitastor',
  28. + 'data': { 'inode': 'uint64',
  29. + 'pool': 'uint64',
  30. + 'size': 'uint64',
  31. + 'etcd_host': 'str',
  32. + '*etcd_prefix': 'str' } }
  33. +
  34. +##
  35. # @ReplicationMode:
  36. #
  37. # An enumeration of replication modes.
  38. @@ -3713,6 +3731,7 @@
  39. 'rbd': 'BlockdevOptionsRbd',
  40. 'replication':'BlockdevOptionsReplication',
  41. 'sheepdog': 'BlockdevOptionsSheepdog',
  42. + 'vitastor': 'BlockdevOptionsVitastor',
  43. 'ssh': 'BlockdevOptionsSsh',
  44. 'throttle': 'BlockdevOptionsThrottle',
  45. 'vdi': 'BlockdevOptionsGenericFormat',
  46. @@ -4158,6 +4177,17 @@
  47. '*block-state-zero': 'bool' } }
  48. ##
  49. +# @BlockdevCreateOptionsVitastor:
  50. +#
  51. +# Driver specific image creation options for Vitastor.
  52. +#
  53. +# @size: Size of the virtual disk in bytes
  54. +##
  55. +{ 'struct': 'BlockdevCreateOptionsVitastor',
  56. + 'data': { 'location': 'BlockdevOptionsVitastor',
  57. + 'size': 'size' } }
  58. +
  59. +##
  60. # @BlockdevVpcSubformat:
  61. #
  62. # @dynamic: Growing image file
  63. @@ -4212,6 +4242,7 @@
  64. 'qed': 'BlockdevCreateOptionsQed',
  65. 'rbd': 'BlockdevCreateOptionsRbd',
  66. 'sheepdog': 'BlockdevCreateOptionsSheepdog',
  67. + 'vitastor': 'BlockdevCreateOptionsVitastor',
  68. 'ssh': 'BlockdevCreateOptionsSsh',
  69. 'vdi': 'BlockdevCreateOptionsVdi',
  70. 'vhdx': 'BlockdevCreateOptionsVhdx',
  71. Index: qemu-3.1+dfsg/scripts/modules/module_block.py
  72. ===================================================================
  73. --- qemu-3.1+dfsg.orig/scripts/modules/module_block.py
  74. +++ qemu-3.1+dfsg/scripts/modules/module_block.py
  75. @@ -88,6 +88,7 @@ def print_bottom(fheader):
  76. output_file = sys.argv[1]
  77. with open(output_file, 'w') as fheader:
  78. print_top(fheader)
  79. + add_module(fheader, "vitastor", "vitastor", "vitastor")
  80. for filename in sys.argv[2:]:
  81. if os.path.isfile(filename):