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