All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tim Rule <trule@linux.vnet.ibm.com>
To: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: rusty@rustcorp.com.au, jvrao@linux.vnet.ibm.com,
	qemu-devel@nongnu.org, thuth@de.ibm.com,
	David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [Qemu-devel] [PATCH] 9pfs: Stat response from server offset by 2 bytes
Date: Tue, 08 Nov 2011 15:32:12 +0100	[thread overview]
Message-ID: <4EB93D6C.9070208@linux.vnet.ibm.com> (raw)
In-Reply-To: <87pqh268ee.fsf@linux.vnet.ibm.com>

On 11/08/2011 02:39 PM, Aneesh Kumar K.V wrote:
> On Tue,  8 Nov 2011 16:55:17 +1100, David Gibson<david@gibson.dropbear.id.au>  wrote:
>> From: Timothy Rule<trule@linux.vnet.ibm.com>
>>
>> The 9P spec states that for the stat message the "stat[n]" structure shall be
>> encoded at offset 7 in the 9P message (see §13.9 message Rstat).
>>
>> The existing code is encoding a 2 byte value (hard coded 0 value) at
>> offset 7 of the 9P message, and then follows with the "stat[n]" structure
>> at offset 9 of the 9P message.
>>
>> This patch removes the encoding of the 2 byte value which has the effect
>> of moving the "stat[n]" structure from offset 9 to offset 7 in the 9P
>> message Rstat.
>>
>> Signed-off-by: Timothy Rule<trule@linux.vnet.ibm.com>
>> Signed-off-by: David Gibson<david@gibson.dropbear.id.au>
>> ---
>>   hw/9pfs/virtio-9p.c |    2 +-
>>   1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/hw/9pfs/virtio-9p.c b/hw/9pfs/virtio-9p.c
>> index 01cf337..35d8851 100644
>> --- a/hw/9pfs/virtio-9p.c
>> +++ b/hw/9pfs/virtio-9p.c
>> @@ -1279,7 +1279,7 @@ static void v9fs_stat(void *opaque)
>>       if (err<  0) {
>>           goto out;
>>       }
>> -    offset += pdu_marshal(pdu, offset, "wS", 0,&v9stat);
>> +    offset += pdu_marshal(pdu, offset, "S",&v9stat);
>>       err = offset;
>>       trace_v9fs_stat_return(pdu->tag, pdu->id, v9stat.mode,
>>                              v9stat.atime, v9stat.mtime, v9stat.length);
> The reason for that "w" is explained in the 9p2000 protocol RFC. Towards
> the end of "wstat" message para we have
>
> 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.
>
> Also on the client side we do in p9_client_stat
>
> 	err = p9pdu_readf(req->rc, clnt->proto_version, "wS",&ignored, ret);
> 	if (err) {
>
> So the above change will break existing client.
>
> Any reason why you need to make the above change ?
>
> -aneesh
It would be fine for us to implement our solution that way. I apologise 
for the inconvenience, I wrote this particular function against the 
9P2000.u specification which does not mention the Bug.

Tim.

      reply	other threads:[~2011-11-08 14:32 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-08  5:55 [Qemu-devel] [PATCH] 9pfs: Stat response from server offset by 2 bytes David Gibson
2011-11-08 13:39 ` Aneesh Kumar K.V
2011-11-08 14:32   ` Tim Rule [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EB93D6C.9070208@linux.vnet.ibm.com \
    --to=trule@linux.vnet.ibm.com \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=jvrao@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rusty@rustcorp.com.au \
    --cc=thuth@de.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.