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/qapi/block-core.json
  2. ===================================================================
  3. --- qemu.orig/qapi/block-core.json 2020-11-07 22:57:38.932613674 +0000
  4. +++ qemu.orig/qapi/block-core.json 2020-11-07 22:59:49.890722862 +0000
  5. @@ -2907,7 +2907,7 @@
  6. 'nbd', 'nfs', 'null-aio', 'null-co', 'nvme', 'parallels', 'qcow',
  7. 'qcow2', 'qed', 'quorum', 'raw', 'rbd',
  8. { 'name': 'replication', 'if': 'defined(CONFIG_REPLICATION)' },
  9. - 'sheepdog',
  10. + 'sheepdog', 'vitastor',
  11. 'ssh', 'throttle', 'vdi', 'vhdx', 'vmdk', 'vpc', 'vvfat', 'vxhs' ] }
  12. ##
  13. @@ -3725,6 +3725,24 @@
  14. '*tag': 'str' } }
  15. ##
  16. +# @BlockdevOptionsVitastor:
  17. +#
  18. +# Driver specific block device options for vitastor
  19. +#
  20. +# @inode: Inode number
  21. +# @pool: Pool ID
  22. +# @size: Desired image size in bytes
  23. +# @etcd_host: etcd connection address
  24. +# @etcd_prefix: etcd key/value prefix
  25. +##
  26. +{ 'struct': 'BlockdevOptionsVitastor',
  27. + 'data': { 'inode': 'uint64',
  28. + 'pool': 'uint64',
  29. + 'size': 'uint64',
  30. + 'etcd_host': 'str',
  31. + '*etcd_prefix': 'str' } }
  32. +
  33. +##
  34. # @ReplicationMode:
  35. #
  36. # An enumeration of replication modes.
  37. @@ -4084,6 +4102,7 @@
  38. 'replication': { 'type': 'BlockdevOptionsReplication',
  39. 'if': 'defined(CONFIG_REPLICATION)' },
  40. 'sheepdog': 'BlockdevOptionsSheepdog',
  41. + 'vitastor': 'BlockdevOptionsVitastor',
  42. 'ssh': 'BlockdevOptionsSsh',
  43. 'throttle': 'BlockdevOptionsThrottle',
  44. 'vdi': 'BlockdevOptionsGenericFormat',
  45. @@ -4461,6 +4480,17 @@
  46. '*cluster-size' : 'size' } }
  47. ##
  48. +# @BlockdevCreateOptionsVitastor:
  49. +#
  50. +# Driver specific image creation options for Vitastor.
  51. +#
  52. +# @size: Size of the virtual disk in bytes
  53. +##
  54. +{ 'struct': 'BlockdevCreateOptionsVitastor',
  55. + 'data': { 'location': 'BlockdevOptionsVitastor',
  56. + 'size': 'size' } }
  57. +
  58. +##
  59. # @BlockdevVmdkSubformat:
  60. #
  61. # Subformat options for VMDK images
  62. @@ -4722,6 +4752,7 @@
  63. 'qed': 'BlockdevCreateOptionsQed',
  64. 'rbd': 'BlockdevCreateOptionsRbd',
  65. 'sheepdog': 'BlockdevCreateOptionsSheepdog',
  66. + 'vitastor': 'BlockdevCreateOptionsVitastor',
  67. 'ssh': 'BlockdevCreateOptionsSsh',
  68. 'vdi': 'BlockdevCreateOptionsVdi',
  69. 'vhdx': 'BlockdevCreateOptionsVhdx',
  70. Index: qemu/scripts/modules/module_block.py
  71. ===================================================================
  72. --- qemu.orig/scripts/modules/module_block.py 2020-11-07 22:57:38.936613739 +0000
  73. +++ qemu/scripts/modules/module_block.py 2020-11-07 22:59:49.890722862 +0000
  74. @@ -86,6 +86,7 @@ def print_bottom(fheader):
  75. output_file = sys.argv[1]
  76. with open(output_file, 'w') as fheader:
  77. print_top(fheader)
  78. + add_module(fheader, "vitastor", "vitastor", "vitastor")
  79. for filename in sys.argv[2:]:
  80. if os.path.isfile(filename):