qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 5/5] virtio-blk: Drop VirtIOBlockReq.read


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 5/5] virtio-blk: Drop VirtIOBlockReq.read
Date: Tue, 03 Jun 2014 15:37:29 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

I guess this is more of an RFC, but still a useful starting point for discussion.

Il 03/06/2014 14:52, Fam Zheng ha scritto:
diff --git a/include/hw/virtio/virtio-blk.h b/include/hw/virtio/virtio-blk.h
index e406efa..74f0f32 100644
--- a/include/hw/virtio/virtio-blk.h
+++ b/include/hw/virtio/virtio-blk.h
@@ -146,7 +146,6 @@ typedef struct VirtIOBlockReq {
 #ifdef CONFIG_VIRTIO_BLK_DATA_PLANE
     struct VirtIOBlockDataPlane *s;

This is just dev->dataplane, so it's trivial to remove.

     QEMUIOVector *inhdr;            /* iovecs for virtio_blk_inhdr */

This can be unified with the "in" field; the status is only one byte, so using a full-blown QEMUIOVector is overkill. Stefan, what do you think?

For the sake of restarting requests, we also need dataplane to populate the "out" field for dataplane. We can also take the occasion to change it from "struct virtio_blk_outhdr *" to "struct virtio_blk_outhdr" for non-dataplane and use iov_discard_front on the elem (see dataplane's process_request function).

Can you do it in v2 of this patch series? With this in place we can look at the missing pieces:

- rerror/werror

- accounting (trivial)

- multiwrite (if desired).

Thanks,

Paolo

-    bool read;                      /* read or write? */
 #endif
 } VirtIOBlockReq;






reply via email to

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