qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v4 2/4] vhost-user-blk: introduce a new vhost-us


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH v4 2/4] vhost-user-blk: introduce a new vhost-user-blk host device
Date: Fri, 20 Oct 2017 11:54:35 +0200
User-agent: Mutt/1.9.1 (2017-09-22)

On Fri, Oct 20, 2017 at 01:47:58AM +0000, Liu, Changpeng wrote:
> > > +static Property vhost_user_blk_properties[] = {
> > > +    DEFINE_PROP_CHR("chardev", VHostUserBlk, chardev),
> > > +    DEFINE_PROP_UINT16("num_queues", VHostUserBlk, num_queues, 1),
> > > +    DEFINE_PROP_UINT32("queue_size", VHostUserBlk, queue_size, 128),
> > > +    DEFINE_PROP_BIT64("f_size_max", VHostUserBlk, host_features,
> > > +                      VIRTIO_BLK_F_SIZE_MAX, true),
> > > +    DEFINE_PROP_BIT64("f_sizemax", VHostUserBlk, host_features,
> > > +                      VIRTIO_BLK_F_SIZE_MAX, true),
> > > +    DEFINE_PROP_BIT64("f_segmax", VHostUserBlk, host_features,
> > > +                      VIRTIO_BLK_F_SEG_MAX, true),
> > > +    DEFINE_PROP_BIT64("f_geometry", VHostUserBlk, host_features,
> > > +                      VIRTIO_BLK_F_GEOMETRY, true),
> > > +    DEFINE_PROP_BIT64("f_readonly", VHostUserBlk, host_features,
> > > +                      VIRTIO_BLK_F_RO, false),
> > > +    DEFINE_PROP_BIT64("f_blocksize", VHostUserBlk, host_features,
> > > +                      VIRTIO_BLK_F_BLK_SIZE, true),
> > > +    DEFINE_PROP_BIT64("f_topology", VHostUserBlk, host_features,
> > > +                      VIRTIO_BLK_F_TOPOLOGY, true),
> > > +    DEFINE_PROP_BIT64("f_multiqueue", VHostUserBlk, host_features,
> > > +                      VIRTIO_BLK_F_MQ, true),
> > > +    DEFINE_PROP_BIT64("f_flush", VHostUserBlk, host_features,
> > > +                      VIRTIO_BLK_F_FLUSH, true),
> > > +    DEFINE_PROP_BIT64("f_barrier", VHostUserBlk, host_features,
> > > +                      VIRTIO_BLK_F_BARRIER, false),
> > > +    DEFINE_PROP_BIT64("f_scsi", VHostUserBlk, host_features,
> > > +                      VIRTIO_BLK_F_SCSI, false),
> > > +    DEFINE_PROP_BIT64("f_wce", VHostUserBlk, host_features,
> > > +                      VIRTIO_BLK_F_WCE, false),
> > 
> > Please explain how feature negotation works.  The vhost-user slave
> > advertises support features in the return value from
> > VHOST_USER_GET_FEATURES.  How does this additional feature mask work and
> > why is it useful?
> According to Paolo's previous comments, VIRTIO_BLK_F_WCE/ VIRTIO_BLK_F_SCSI/ 
> VIRTIO_BLK_F_BARRIER 
> should be removed. Here I added all the feature flags just want to avoid the 
> case that vhost-user slave target
> can support but Qemu vhost block driver cannot support it.

Please explain a bit more how these options can be used.

When I looked at the vhost code it seemed like the vhost slave can
report any feature bits it wishes (even things QEMU doesn't know about).
What is the purpose of override some of the feature bits on the QEMU
command-line?

Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]