From: Vitaly Kuznetsov [mailto:vkuznets@redhat.com]
Sent: Tuesday, January 5, 2016 20:39
...
quoted
+/*
+ * vmbus_sendpacket_hvsock - Send the hvsock payload 'buf' of a length 'len'
+ */
+int vmbus_sendpacket_hvsock(struct vmbus_channel *channel, void *buf,
u32 len)
quoted
...
+
+ bufferlist[0].iov_base = &desc;
+ bufferlist[0].iov_len = sizeof(struct vmpacket_descriptor);
+ bufferlist[1].iov_base = &pipe_hdr;
+ bufferlist[1].iov_len = sizeof(struct vmpipe_proto_header);
+ bufferlist[2].iov_base = buf;
+ bufferlist[2].iov_len = len;
+ bufferlist[3].iov_base = &aligned_data;
+ bufferlist[3].iov_len = packetlen_aligned - packetlen;
+
+ ret = hv_ringbuffer_write(&channel->outbound, bufferlist, 4,
&signal);
Using ARRAY_SIZE(bufferlist) instead of 4 would allow us to keep this
line untouched when we decide to add something (and compiler will
optimize it to 4 anyway).
Thanks for the suggestion! I'll fix it.
-- Dexuan