From mboxrd@z Thu Jan 1 00:00:00 1970 From: Asias He Subject: Re: [PATCH 1/6] vhost: Separate vhost-net features from vhost features Date: Wed, 04 Jul 2012 12:41:41 +0800 Message-ID: <4FF3C985.20309@redhat.com> References: <1341375846-27882-1-git-send-email-nab@linux-iscsi.org> <1341375846-27882-2-git-send-email-nab@linux-iscsi.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1341375846-27882-2-git-send-email-nab@linux-iscsi.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: "Nicholas A. Bellinger" Cc: Jens Axboe , Stefan Hajnoczi , kvm-devel , "Michael S. Tsirkin" , Zhi Yong Wu , Anthony Liguori , target-devel , linux-scsi , Paolo Bonzini , lf-virt , Christoph Hellwig List-Id: virtualization@lists.linuxfoundation.org On 07/04/2012 12:24 PM, Nicholas A. Bellinger wrote: > From: Stefan Hajnoczi > > 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 > Cc: Zhi Yong Wu > Cc: Michael S. Tsirkin > Cc: Paolo Bonzini > Signed-off-by: Nicholas A. Bellinger I think you need to change drivers/vhost/test.c as well. 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); 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), > }; > -- Asias