Patchwork [8/8] virtio-blk: fill in the feature table

login
register
mail settings
Submitter Jesse Larrew
Date Feb. 18, 2013, 10:22 p.m.
Message ID <1361226165-19030-9-git-send-email-jlarrew@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/221560/
State New
Headers show

Comments

Jesse Larrew - Feb. 18, 2013, 10:22 p.m.
Fill in the feature table with the last field of struct virtio_blk_config
at the time that the feature flag was introduced. The table was constructed
by searching through the git history.

Signed-off-by: Jesse Larrew <jlarrew@linux.vnet.ibm.com>
---
 hw/virtio-blk.c | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

Patch

diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c
index 788a4c7..47c57d8 100644
--- a/hw/virtio-blk.c
+++ b/hw/virtio-blk.c
@@ -26,8 +26,26 @@ 
 #endif
 
 static VirtIOFeature feature_sizes[] = {
-    {.flags = 0xffffffff, /* dummy table -- all features included */
-     .end = sizeof(struct virtio_blk_config)},
+    {.flags = 1 << VIRTIO_BLK_F_BARRIER,
+     .end = endof(struct virtio_blk_config, sectors)},
+    {.flags = 1 << VIRTIO_BLK_F_SIZE_MAX,
+     .end = endof(struct virtio_blk_config, sectors)},
+    {.flags = 1 << VIRTIO_BLK_F_SEG_MAX,
+     .end = endof(struct virtio_blk_config, sectors)},
+    {.flags = 1 << VIRTIO_BLK_F_GEOMETRY,
+     .end = endof(struct virtio_blk_config, sectors)},
+    {.flags = 1 << VIRTIO_BLK_F_RO,
+     .end = endof(struct virtio_blk_config, sectors)},
+    {.flags = 1 << VIRTIO_BLK_F_BLK_SIZE,
+     .end = endof(struct virtio_blk_config, sectors)},
+    {.flags = 1 << VIRTIO_BLK_F_SCSI,
+     .end = endof(struct virtio_blk_config, sectors)},
+    {.flags = 1 << VIRTIO_BLK_F_WCE,
+     .end = endof(struct virtio_blk_config, blk_size)},
+    {.flags = 1 << VIRTIO_BLK_F_TOPOLOGY,
+     .end = endof(struct virtio_blk_config, opt_io_size)},
+    {.flags = 1 << VIRTIO_BLK_F_CONFIG_WCE,
+     .end = endof(struct virtio_blk_config, wce)},
     {}
 };