Re: [PATCH v7 28/46] vhost: make features 64 bit

Ben Hutchings
2014-12-01T04:13:09Z

[-- Attachment #1: Type: text/plain, Size: 1369 bytes --]

On Sun, 2014-11-30 at 18:44 +0300, Sergei Shtylyov wrote:
> Hello.
>
> On 11/30/2014 6:11 PM, Michael S. Tsirkin wrote:
>
> > We need to use bit 32 for virtio 1.0
>
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> > Reviewed-by: Jason Wang <jasowang@redhat.com>
> > ---
> > drivers/vhost/vhost.h | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
>
> > diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h
> > index 3eda654..c624b09 100644
> > --- a/drivers/vhost/vhost.h
> > +++ b/drivers/vhost/vhost.h
> > @@ -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;
> > @@ -174,6 +174,6 @@ enum {
> >
> > static inline int vhost_has_feature(struct vhost_virtqueue *vq, int bit)
> > {
> > - return vq->acked_features & (1 << bit);
> > + return vq->acked_features & (1ULL << bit);
>
> Erm, wouldn't the high word be just dropped when returning *int*? I think
> you need !!(vq->acked_features & (1ULL << bit)).

Or change the return type to bool.

Ben.

--
Ben Hutchings
The first rule of tautology club is the first rule of tautology club.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 811 bytes --]