As it often happens to me, a few minutes after hitting send, I am
enlightened and embarassed. :-) I had a bit of tunnel vision there, and
didn't think of looking at another 9P trace.  When I run "9p ls foo/bar"
I get the below trace, which answers most of my questions.

        Tread tag 0 fid 1 offset 0 count 8168
        Rread tag 0 count 8109
        Tread tag 0 fid 1 offset 8109 count 8168
        Rread tag 0 count 5410
        Tread tag 0 fid 1 offset 13519 count 8168
        Rread tag 0 count 0

I took a quick look at sys/src/cmd/cwfs/9p2.c and I think it shows the
server should silently return 0 bytes and no errors, even if the 0-byte
return is due to the read buffer not being large enough for the next
dir entry.

The only question that still stands is the last in my original post:
What happens and what should happen when a dir entry is larger than
msize-24? Possibly written from a connection with a large msize, and to
be read from a connection with a smaller msize?

Thanks,

Nicola


------------------------------------------
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T42be63e964005519-Md34dba086f695e0bf63be25f
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

Reply via email to