vhost: make features 64 bit
authorMichael S. Tsirkin <mst@redhat.com>
Fri, 24 Oct 2014 11:08:18 +0000 (14:08 +0300)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 9 Dec 2014 10:05:28 +0000 (12:05 +0200)
We need to use bit 32 for virtio 1.0.
Make vhost_has_feature bool to avoid discarding high bits.

Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Jason Wang <jasowang@redhat.com>
drivers/vhost/vhost.h

index 3eda654..55a95c9 100644 (file)
@@ -106,7 +106,7 @@ struct vhost_virtqueue {
        /* Protected by virtqueue mutex. */
        struct vhost_memory *memory;
        void *private_data;
-       unsigned acked_features;
+       u64 acked_features;
        /* Log write descriptors */
        void __user *log_base;
        struct vhost_log *log;
@@ -172,8 +172,8 @@ enum {
                         (1ULL << VHOST_F_LOG_ALL),
 };
 
-static inline int vhost_has_feature(struct vhost_virtqueue *vq, int bit)
+static inline bool vhost_has_feature(struct vhost_virtqueue *vq, int bit)
 {
-       return vq->acked_features & (1 << bit);
+       return vq->acked_features & (1ULL << bit);
 }
 #endif