diff mbox

[1/6] vhost: Separate vhost-net features from vhost features

Message ID 4FF3C985.20309@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Asias He July 4, 2012, 4:41 a.m. UTC
On 07/04/2012 12:24 PM, Nicholas A. Bellinger wrote:
> From: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
>
> In order for other vhost devices to use the VHOST_FEATURES bits the
> vhost-net specific bits need to be moved to their own VHOST_NET_FEATURES
> constant.
>
> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
> Cc: Zhi Yong Wu <wuzhy@cn.ibm.com>
> Cc: Michael S. Tsirkin <mst@redhat.com>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Nicholas A. Bellinger <nab@risingtidesystems.com>

I think you need to change drivers/vhost/test.c as well.

         case VHOST_RESET_OWNER:


> ---
>   drivers/vhost/net.c   |    4 ++--
>   drivers/vhost/vhost.h |    3 ++-
>   2 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
> index f82a739..072cbba 100644
> --- a/drivers/vhost/net.c
> +++ b/drivers/vhost/net.c
> @@ -823,14 +823,14 @@ static long vhost_net_ioctl(struct file *f, unsigned int ioctl,
>   			return -EFAULT;
>   		return vhost_net_set_backend(n, backend.index, backend.fd);
>   	case VHOST_GET_FEATURES:
> -		features = VHOST_FEATURES;
> +		features = VHOST_NET_FEATURES;
>   		if (copy_to_user(featurep, &features, sizeof features))
>   			return -EFAULT;
>   		return 0;
>   	case VHOST_SET_FEATURES:
>   		if (copy_from_user(&features, featurep, sizeof features))
>   			return -EFAULT;
> -		if (features & ~VHOST_FEATURES)
> +		if (features & ~VHOST_NET_FEATURES)
>   			return -EOPNOTSUPP;
>   		return vhost_net_set_features(n, features);
>   	case VHOST_RESET_OWNER:
> diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h
> index 8de1fd5..07b9763 100644
> --- a/drivers/vhost/vhost.h
> +++ b/drivers/vhost/vhost.h
> @@ -201,7 +201,8 @@ enum {
>   	VHOST_FEATURES = (1ULL << VIRTIO_F_NOTIFY_ON_EMPTY) |
>   			 (1ULL << VIRTIO_RING_F_INDIRECT_DESC) |
>   			 (1ULL << VIRTIO_RING_F_EVENT_IDX) |
> -			 (1ULL << VHOST_F_LOG_ALL) |
> +			 (1ULL << VHOST_F_LOG_ALL),
> +	VHOST_NET_FEATURES = VHOST_FEATURES |
>   			 (1ULL << VHOST_NET_F_VIRTIO_NET_HDR) |
>   			 (1ULL << VIRTIO_NET_F_MRG_RXBUF),
>   };
>
diff mbox

Patch

diff --git a/drivers/vhost/test.c b/drivers/vhost/test.c
index 3de00d9..91d6f06 100644
--- a/drivers/vhost/test.c
+++ b/drivers/vhost/test.c
@@ -261,14 +261,14 @@  static long vhost_test_ioctl(struct file *f, 
unsigned int ioctl,
                         return -EFAULT;
                 return vhost_test_run(n, test);
         case VHOST_GET_FEATURES:
-               features = VHOST_FEATURES;
+               features = VHOST_NET_FEATURES;
                 if (copy_to_user(featurep, &features, sizeof features))
                         return -EFAULT;
                 return 0;
         case VHOST_SET_FEATURES:
                 if (copy_from_user(&features, featurep, sizeof features))
                         return -EFAULT;
-               if (features & ~VHOST_FEATURES)
+               if (features & ~VHOST_NET_FEATURES)
                         return -EOPNOTSUPP;
                 return vhost_test_set_features(n, features);