Re: [PATCH 4/5] tools/kvm/9p: Fix the pdu len.

Sasha Levin
2011-06-18T18:51:22Z

On Sat, 2011-06-18 at 23:19 +0530, Aneesh Kumar K.V wrote:
> The TSTAT output formwat is wS. So not sure whey we
> need sizeof(u16)*2 in pdu length.

See http://ericvh.github.com/9p-rfc/rfc9p2000.html#anchor32

"BUGS

To make the contents of a directory, such as returned by read(5),
easy to parse, each directory entry begins with a size field. For
consistency, the entries in Twstat and Rstat messages also contain their
size, which means the size appears twice. For example, the Rstat message
is formatted as ``(4+1+2+2+n)[4] Rstat tag[2] n[2] (n-2)[2] type[2]
dev[4]...,'' where n is the value returned by convD2M."

> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
> ---
> tools/kvm/virtio/9p.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/tools/kvm/virtio/9p.c b/tools/kvm/virtio/9p.c
> index 3172c1a..ef2fbaf 100644
> --- a/tools/kvm/virtio/9p.c
> +++ b/tools/kvm/virtio/9p.c
> @@ -458,7 +458,7 @@ static bool virtio_p9_stat(struct p9_dev *p9dev, struct p9_msg *msg,
>
> ret = virtio_p9_fill_stat(p9dev, fid->path, &st, rstat);
>
> - *outlen = VIRTIO_P9_HDR_LEN + ret + sizeof(u16) * 2;
> + *outlen = VIRTIO_P9_HDR_LEN + ret + sizeof(u16);
> set_p9msg_hdr(outmsg, *outlen, P9_RSTAT, msg->tag);
> return true;
> }

--

Sasha.