Stefan Hajnoczi
2020-Dec-10 11:57 UTC
[RFC PATCH 16/27] virtio: Expose virtqueue_alloc_element
On Wed, Dec 09, 2020 at 07:46:49PM +0100, Eugenio Perez Martin wrote:> On Tue, Dec 8, 2020 at 9:26 AM Stefan Hajnoczi <stefanha at gmail.com> wrote: > > > > On Fri, Nov 20, 2020 at 07:50:54PM +0100, Eugenio P?rez wrote: > > > Specify VirtQueueElement * as return type makes no harm at this moment. > > > > The reason for the void * return type is that C implicitly converts void > > pointers to pointers of any type. The function takes a size_t sz > > argument so it can allocate a object of user-defined size. The idea is > > that the user's struct embeds a VirtQueueElement field. Changing the > > return type to VirtQueueElement * means that callers may need to > > explicitly cast to the user's struct type. > > > > It's a question of coding style but I think the void * return type > > communicates what is going on better than VirtQueueElement *. > > Right, what I meant with that is that nobody uses that feature, but I > just re-check and I saw that contrib/vhost-user-blk actually uses it > (not checked for more uses). I think it is better just to drop this > commit.contrib/vhost-user-blk doesn't use hw/virtio/virtio.c. The code is similar and copy-pasted, but you are free to change this file without affecting vontrib/vhost-user-blk :). I still think it's clearer to make it obvious that this function allocates an object of generic type or at least the change is purely a question of style and probably not worth making. Stefan -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: not available URL: <http://lists.linuxfoundation.org/pipermail/virtualization/attachments/20201210/356d92ad/attachment.sig>