There's no reason to expose struct vring_packed in UAPI - if we do we won't be able to change or drop it, and it's not part of any interface. Let's move it to virtio_ring.c Cc: Tiwei Bie <tiwei.bie at intel.com> Signed-off-by: Michael S. Tsirkin <mst at redhat.com> --- drivers/virtio/virtio_ring.c | 7 ++++++- include/uapi/linux/virtio_ring.h | 10 ---------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c index 412e0c431d87..1c85b3423182 100644 --- a/drivers/virtio/virtio_ring.c +++ b/drivers/virtio/virtio_ring.c @@ -152,7 +152,12 @@ struct vring_virtqueue { /* Available for packed ring */ struct { /* Actual memory layout for this queue. */ - struct vring_packed vring; + struct { + unsigned int num; + struct vring_packed_desc *desc; + struct vring_packed_desc_event *driver; + struct vring_packed_desc_event *device; + } vring; /* Driver ring wrap counter. */ bool avail_wrap_counter; diff --git a/include/uapi/linux/virtio_ring.h b/include/uapi/linux/virtio_ring.h index 2414f8af26b3..4c4e24c291a5 100644 --- a/include/uapi/linux/virtio_ring.h +++ b/include/uapi/linux/virtio_ring.h @@ -213,14 +213,4 @@ struct vring_packed_desc { __le16 flags; }; -struct vring_packed { - unsigned int num; - - struct vring_packed_desc *desc; - - struct vring_packed_desc_event *driver; - - struct vring_packed_desc_event *device; -}; - #endif /* _UAPI_LINUX_VIRTIO_RING_H */ -- MST
On 2019/2/2 ??6:16, Michael S. Tsirkin wrote:> There's no reason to expose struct vring_packed in UAPI - if we do we > won't be able to change or drop it, and it's not part of any interface. > > Let's move it to virtio_ring.c > > Cc: Tiwei Bie <tiwei.bie at intel.com> > Signed-off-by: Michael S. Tsirkin <mst at redhat.com> > --- > drivers/virtio/virtio_ring.c | 7 ++++++- > include/uapi/linux/virtio_ring.h | 10 ---------- > 2 files changed, 6 insertions(+), 11 deletions(-) > > diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c > index 412e0c431d87..1c85b3423182 100644 > --- a/drivers/virtio/virtio_ring.c > +++ b/drivers/virtio/virtio_ring.c > @@ -152,7 +152,12 @@ struct vring_virtqueue { > /* Available for packed ring */ > struct { > /* Actual memory layout for this queue. */ > - struct vring_packed vring; > + struct { > + unsigned int num; > + struct vring_packed_desc *desc; > + struct vring_packed_desc_event *driver; > + struct vring_packed_desc_event *device; > + } vring; > > /* Driver ring wrap counter. */ > bool avail_wrap_counter; > diff --git a/include/uapi/linux/virtio_ring.h b/include/uapi/linux/virtio_ring.h > index 2414f8af26b3..4c4e24c291a5 100644 > --- a/include/uapi/linux/virtio_ring.h > +++ b/include/uapi/linux/virtio_ring.h > @@ -213,14 +213,4 @@ struct vring_packed_desc { > __le16 flags; > }; > > -struct vring_packed { > - unsigned int num; > - > - struct vring_packed_desc *desc; > - > - struct vring_packed_desc_event *driver; > - > - struct vring_packed_desc_event *device; > -}; > - > #endif /* _UAPI_LINUX_VIRTIO_RING_H */Acked-by: Jason Wang <jasowang at redhat.com>
On Fri, Feb 01, 2019 at 05:16:01PM -0500, Michael S. Tsirkin wrote:> There's no reason to expose struct vring_packed in UAPI - if we do we > won't be able to change or drop it, and it's not part of any interface. > > Let's move it to virtio_ring.c > > Cc: Tiwei Bie <tiwei.bie at intel.com> > Signed-off-by: Michael S. Tsirkin <mst at redhat.com> > --- > drivers/virtio/virtio_ring.c | 7 ++++++- > include/uapi/linux/virtio_ring.h | 10 ---------- > 2 files changed, 6 insertions(+), 11 deletions(-) > > diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c > index 412e0c431d87..1c85b3423182 100644 > --- a/drivers/virtio/virtio_ring.c > +++ b/drivers/virtio/virtio_ring.c > @@ -152,7 +152,12 @@ struct vring_virtqueue { > /* Available for packed ring */ > struct { > /* Actual memory layout for this queue. */ > - struct vring_packed vring; > + struct { > + unsigned int num; > + struct vring_packed_desc *desc; > + struct vring_packed_desc_event *driver; > + struct vring_packed_desc_event *device; > + } vring; > > /* Driver ring wrap counter. */ > bool avail_wrap_counter; > diff --git a/include/uapi/linux/virtio_ring.h b/include/uapi/linux/virtio_ring.h > index 2414f8af26b3..4c4e24c291a5 100644 > --- a/include/uapi/linux/virtio_ring.h > +++ b/include/uapi/linux/virtio_ring.h > @@ -213,14 +213,4 @@ struct vring_packed_desc { > __le16 flags; > }; > > -struct vring_packed { > - unsigned int num; > - > - struct vring_packed_desc *desc; > - > - struct vring_packed_desc_event *driver; > - > - struct vring_packed_desc_event *device; > -}; > - > #endif /* _UAPI_LINUX_VIRTIO_RING_H */ > -- > MSTAcked-by: Tiwei Bie <tiwei.bie at intel.com>
Reasonably Related Threads
- [PATCH net-next v3 01/13] virtio: add packed ring types and macros
- [PATCH net-next v3 01/13] virtio: add packed ring types and macros
- [PATCH net-next v3 01/13] virtio: add packed ring types and macros
- [PATCH net-next v3 01/13] virtio: add packed ring types and macros
- [PATCH net-next v3 01/13] virtio: add packed ring types and macros