return (VIRTQUEUE_MAX_SIZE - 2) * guestPageSize;
}
+static size_t virtio_9p_response_buffer_size(V9fsPDU *pdu)
+{
+ V9fsState *s = pdu->s;
+ V9fsVirtioState *v = container_of(s, V9fsVirtioState, state);
+ VirtQueueElement *elem = v->elems[pdu->idx];
+
+ return iov_size(elem->in_sg, elem->in_num);
+}
+
static const V9fsTransport virtio_9p_transport = {
.pdu_vmarshal = virtio_pdu_vmarshal,
.pdu_vunmarshal = virtio_pdu_vunmarshal,
.init_out_iov_from_pdu = virtio_init_out_iov_from_pdu,
.push_and_notify = virtio_9p_push_and_notify,
.msize_limit = virtio_9p_msize_limit,
+ .response_buffer_size = virtio_9p_response_buffer_size,
};
static void virtio_9p_device_realize(DeviceState *dev, Error **errp)