9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Adriano Verardo <a.verardo@tecmav.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu>
Subject: [9fans] 9P2000 and p9p
Date: Tue, 10 Apr 2007 19:12:27 +0200	[thread overview]
Message-ID: <461BC57B.3090006@tecmav.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1698 bytes --]

Hi, all.

I'm writing a lib to build 9P200 file servers for x86-class embedded 
systems under RTEMS.
Testing the same server under FreeBSD and RTEMS with one Plan9 or 
FreeBSD p9p client I noted some things that I don't understand.

Config: Server = adri (FreeBSD 6.2+fuse+p9p) or leo (RTEMS 4.6.5), 
same    	behaviour
	Client = dria (Plan9 or FreeBSD 6.0+fuse+p9p)

1) Different use of Fids in Plan9 and p9p

Plan9% srv tcp!adri!12000 adri
Plan9% mount /srv/adri /n/adri
Plan9% lc /n/adri (several times)
Plan9% unmount /n/adri

FrBSD% srv 'tcp!adri!12000' adri
FrBSD% 9 mount NS/adri /n/adri
FrBSD% lc /n/adri (several times)
FrBSD% 9 unmount /n/adri

The log of the two sessions above are in the the attached files.
I see that the FreeBDS "lc" command allocates a lot of Fids while
Plan9 reuse them issuing Tclunk messages as soon as possible.
My server use a static Fid table (FidTab=<used>/<total> in the logs).
The number of allocated Fids grows (until the unmount) so a larger table 
(or malloc-ed Fids) is not a solution.

2) Different use of Fids in Plan9 and p9p
The Unix "ls" reuse the Fids as the "lc" does.

3) Tread

 >[ 23] Tread:    tag=4, fid=201, offset=0, count=8192
<[292] Rread:    tag=4, count=281
       E\0\0\0\0\0\0\0\0\0\0\0\0\32\1\0\0\0\0\0\0\37777777666\1\0\0\0
       \0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\7\0file_0a\7\0adriano\7\0adr
 >[ 23] Tread:    tag=4, fid=201, offset=281, count=8192
<[ 11] Rread:    tag=4, count=0

Why the client always sends a second Tread request ?
If the Rread returned 281/8192 bytes and the msize is > 8192 it should 
be clear that there is no other data to read.

Thanks in advance
A. Verardo

[-- Attachment #2: test9P_FreeBSD.txt --]
[-- Type: text/plain, Size: 11453 bytes --]

------------------------------------------------
srv 'tcp!adri!12000' adri
------------------------------------------------

>>>> ENTER SERVER LOOP

>[ 21] Tversion: tag=65535, msize=8192, version='9P2000.u'
<[ 21] Rversion: tag=65535, msize=8192, version='9P2000.u'
------------------------------------------------
9 mount NS/adri /n/adri
------------------------------------------------
>[ 26] Tattach:  tag=0, fid=0, afid=-1, uname='adriano', aname=''
<[ 20] Rattach:  tag=0, qid=[0000000000000111 0 (d)]
>[ 11] Tstat:    tag=0, fid=0 FidTab=1/10
<[ 74] Rstat:    tag=0, sz=65/63, type=0, dev=0, qid=[0000000000000111 0 (d)]
                 mode=0x800001B7=QT(DIR)667, at=0, mt=0
                 file='/', length=0
                 uid='adriano', gid='adriano', muid=''
------------------------------------------------
lc /n/adri
------------------------------------------------
>[ 11] Tstat:    tag=0, fid=0 FidTab=1/10
<[ 74] Rstat:    tag=0, sz=65/63, type=0, dev=0, qid=[0000000000000111 0 (d)]
                 mode=0x800001B7=QT(DIR)667, at=0, mt=0
                 file='/', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 17] Twalk:    tag=0, fid=0, newfid=1, nwname=0 
<[  9] Rwalk:    tag=0, nwqid=0 FidTab=2/10 
>[ 12] Topen:    tag=0, fid=1, mode=0x0=RD
<[ 24] Ropen:    tag=0, qid=[0000000000000111 0 (d)], iounit=0
>[ 11] Tclunk:   tag=0, fid=1 FidTab=2/10
<[  7] Rclunk:   tag=0, FidTab=1/10
>[ 17] Twalk:    tag=0, fid=0, newfid=1, nwname=0 
<[  9] Rwalk:    tag=0, nwqid=0 FidTab=2/10 
>[ 12] Topen:    tag=0, fid=1, mode=0x0=RD
<[ 24] Ropen:    tag=0, qid=[0000000000000111 0 (d)], iounit=0
>[ 11] Tstat:    tag=0, fid=0 FidTab=2/10
<[ 74] Rstat:    tag=0, sz=65/63, type=0, dev=0, qid=[0000000000000111 0 (d)]
                 mode=0x800001B7=QT(DIR)667, at=0, mt=0
                 file='/', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 11] Tstat:    tag=0, fid=0 FidTab=2/10
<[ 74] Rstat:    tag=0, sz=65/63, type=0, dev=0, qid=[0000000000000111 0 (d)]
                 mode=0x800001B7=QT(DIR)667, at=0, mt=0
                 file='/', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 23] Tread:    tag=0, fid=1, offset=0, count=8168
<[292] Rread:    tag=0, count=281
      E\0\0\0\0\0\0\0\0\0\0\0\0\32\1\0\0\0\0\0\0\37777777666\1\0\0\0
      \0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\7\0file_0a\7\0adriano\7\0adr
>[ 23] Tread:    tag=0, fid=1, offset=281, count=8168
<[ 11] Rread:    tag=0, count=0
>[ 23] Tread:    tag=0, fid=1, offset=281, count=8168
<[ 11] Rread:    tag=0, count=0
>[ 17] Twalk:    tag=0, fid=0, newfid=2, nwname=0 
<[  9] Rwalk:    tag=0, nwqid=0 FidTab=3/10 
>[ 12] Topen:    tag=0, fid=2, mode=0x0=RD
<[ 24] Ropen:    tag=0, qid=[0000000000000111 0 (d)], iounit=0
>[ 11] Tclunk:   tag=0, fid=2 FidTab=3/10
<[  7] Rclunk:   tag=0, FidTab=2/10
>[ 26] Twalk:    tag=0, fid=0, newfid=2, nwname=1 0:file_0a 
<[ 22] Rwalk:    tag=0, nwqid=1 FidTab=3/10 qid=[000000000000011a 0 ()]

>[ 11] Tstat:    tag=0, fid=2 FidTab=3/10
<[ 80] Rstat:    tag=0, sz=71/69, type=0, dev=0, qid=[000000000000011a 0 ()]
                 mode=0x1B6=QT(FILE)666, at=0, mt=0
                 file='file_0a', length=16
                 uid='adriano', gid='adriano', muid=''
>[ 11] Tstat:    tag=0, fid=2 FidTab=3/10
<[ 80] Rstat:    tag=0, sz=71/69, type=0, dev=0, qid=[000000000000011a 0 ()]
                 mode=0x1B6=QT(FILE)666, at=0, mt=0
                 file='file_0a', length=16
                 uid='adriano', gid='adriano', muid=''
>[ 26] Twalk:    tag=0, fid=0, newfid=3, nwname=1 0:file_0b 
<[ 22] Rwalk:    tag=0, nwqid=1 FidTab=4/10 qid=[000000000000011b 0 ()]

>[ 11] Tstat:    tag=0, fid=3 FidTab=4/10
<[ 80] Rstat:    tag=0, sz=71/69, type=0, dev=0, qid=[000000000000011b 0 ()]
                 mode=0x1B6=QT(FILE)666, at=0, mt=0
                 file='file_0b', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 11] Tstat:    tag=0, fid=3 FidTab=4/10
<[ 80] Rstat:    tag=0, sz=71/69, type=0, dev=0, qid=[000000000000011b 0 ()]
                 mode=0x1B6=QT(FILE)666, at=0, mt=0
                 file='file_0b', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 26] Twalk:    tag=0, fid=0, newfid=4, nwname=1 0:file_0c 
<[ 22] Rwalk:    tag=0, nwqid=1 FidTab=5/10 qid=[000000000000011c 0 ()]

>[ 11] Tstat:    tag=0, fid=4 FidTab=5/10
<[ 80] Rstat:    tag=0, sz=71/69, type=0, dev=0, qid=[000000000000011c 0 ()]
                 mode=0x1B6=QT(FILE)666, at=0, mt=0
                 file='file_0c', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 11] Tstat:    tag=0, fid=4 FidTab=5/10
<[ 80] Rstat:    tag=0, sz=71/69, type=0, dev=0, qid=[000000000000011c 0 ()]
                 mode=0x1B6=QT(FILE)666, at=0, mt=0
                 file='file_0c', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 23] Twalk:    tag=0, fid=0, newfid=5, nwname=1 0:dir1 
<[ 22] Rwalk:    tag=0, nwqid=1 FidTab=6/10 qid=[0000000000000222 0 (d)]

>[ 11] Tstat:    tag=0, fid=5 FidTab=6/10
<[ 77] Rstat:    tag=0, sz=68/66, type=0, dev=0, qid=[0000000000000222 0 (d)]
                 mode=0x800001FF=QT(DIR)777, at=0, mt=0
                 file='dir1', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 11] Tstat:    tag=0, fid=5 FidTab=6/10
<[ 77] Rstat:    tag=0, sz=68/66, type=0, dev=0, qid=[0000000000000222 0 (d)]
                 mode=0x800001FF=QT(DIR)777, at=0, mt=0
                 file='dir1', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 26] Twalk:    tag=0, fid=0, newfid=6, nwname=1 0:file_0a 
<[ 22] Rwalk:    tag=0, nwqid=1 FidTab=7/10 qid=[000000000000011a 0 ()]

>[ 11] Tstat:    tag=0, fid=6 FidTab=7/10
<[ 80] Rstat:    tag=0, sz=71/69, type=0, dev=0, qid=[000000000000011a 0 ()]
                 mode=0x1B6=QT(FILE)666, at=0, mt=0
                 file='file_0a', length=16
                 uid='adriano', gid='adriano', muid=''
>[ 11] Tstat:    tag=0, fid=6 FidTab=7/10
<[ 80] Rstat:    tag=0, sz=71/69, type=0, dev=0, qid=[000000000000011a 0 ()]
                 mode=0x1B6=QT(FILE)666, at=0, mt=0
                 file='file_0a', length=16
                 uid='adriano', gid='adriano', muid=''
>[ 26] Twalk:    tag=0, fid=0, newfid=7, nwname=1 0:file_0b 
<[ 22] Rwalk:    tag=0, nwqid=1 FidTab=8/10 qid=[000000000000011b 0 ()]

>[ 11] Tstat:    tag=0, fid=7 FidTab=8/10
<[ 80] Rstat:    tag=0, sz=71/69, type=0, dev=0, qid=[000000000000011b 0 ()]
                 mode=0x1B6=QT(FILE)666, at=0, mt=0
                 file='file_0b', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 11] Tstat:    tag=0, fid=7 FidTab=8/10
<[ 80] Rstat:    tag=0, sz=71/69, type=0, dev=0, qid=[000000000000011b 0 ()]
                 mode=0x1B6=QT(FILE)666, at=0, mt=0
                 file='file_0b', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 26] Twalk:    tag=0, fid=0, newfid=8, nwname=1 0:file_0c 
<[ 22] Rwalk:    tag=0, nwqid=1 FidTab=9/10 qid=[000000000000011c 0 ()]

>[ 11] Tstat:    tag=0, fid=8 FidTab=9/10
<[ 80] Rstat:    tag=0, sz=71/69, type=0, dev=0, qid=[000000000000011c 0 ()]
                 mode=0x1B6=QT(FILE)666, at=0, mt=0
                 file='file_0c', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 11] Tstat:    tag=0, fid=8 FidTab=9/10
<[ 80] Rstat:    tag=0, sz=71/69, type=0, dev=0, qid=[000000000000011c 0 ()]
                 mode=0x1B6=QT(FILE)666, at=0, mt=0
                 file='file_0c', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 23] Twalk:    tag=0, fid=0, newfid=9, nwname=1 0:dir1 
<[ 22] Rwalk:    tag=0, nwqid=1 FidTab=10/10 qid=[0000000000000222 0 (d)]

>[ 11] Tstat:    tag=0, fid=9 FidTab=10/10
<[ 77] Rstat:    tag=0, sz=68/66, type=0, dev=0, qid=[0000000000000222 0 (d)]
                 mode=0x800001FF=QT(DIR)777, at=0, mt=0
                 file='dir1', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 11] Tstat:    tag=0, fid=9 FidTab=10/10
<[ 77] Rstat:    tag=0, sz=68/66, type=0, dev=0, qid=[0000000000000222 0 (d)]
                 mode=0x800001FF=QT(DIR)777, at=0, mt=0
                 file='dir1', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 11] Tclunk:   tag=0, fid=1 FidTab=10/10
<[  7] Rclunk:   tag=0, FidTab=9/10
------------------------------------------------
lc /n/adri
------------------------------------------------
>[ 11] Tstat:    tag=0, fid=0 FidTab=9/10
<[ 74] Rstat:    tag=0, sz=65/63, type=0, dev=0, qid=[0000000000000111 0 (d)]
                 mode=0x800001B7=QT(DIR)667, at=0, mt=0
                 file='/', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 17] Twalk:    tag=0, fid=0, newfid=1, nwname=0 
<[  9] Rwalk:    tag=0, nwqid=0 FidTab=10/10 
>[ 12] Topen:    tag=0, fid=1, mode=0x0=RD
<[ 24] Ropen:    tag=0, qid=[0000000000000111 0 (d)], iounit=0
>[ 11] Tclunk:   tag=0, fid=1 FidTab=10/10
<[  7] Rclunk:   tag=0, FidTab=9/10
>[ 17] Twalk:    tag=0, fid=0, newfid=1, nwname=0 
<[  9] Rwalk:    tag=0, nwqid=0 FidTab=10/10 
>[ 12] Topen:    tag=0, fid=1, mode=0x0=RD
<[ 24] Ropen:    tag=0, qid=[0000000000000111 0 (d)], iounit=0
>[ 11] Tstat:    tag=0, fid=0 FidTab=10/10
<[ 74] Rstat:    tag=0, sz=65/63, type=0, dev=0, qid=[0000000000000111 0 (d)]
                 mode=0x800001B7=QT(DIR)667, at=0, mt=0
                 file='/', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 23] Tread:    tag=0, fid=1, offset=0, count=8168
<[292] Rread:    tag=0, count=281
      E\0\0\0\0\0\0\0\0\0\0\0\0\32\1\0\0\0\0\0\0\37777777666\1\0\0\0
      \0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\7\0file_0a\7\0adriano\7\0adr
>[ 23] Tread:    tag=0, fid=1, offset=281, count=8168
<[ 11] Rread:    tag=0, count=0
>[ 23] Tread:    tag=0, fid=1, offset=281, count=8168
<[ 11] Rread:    tag=0, count=0
>[ 17] Twalk:    tag=0, fid=0, newfid=10, nwname=0 
<[ 26] Rerror:   tag=0, ename='no Fids available'
************************************************
Apr 10 16:24:37.686 bad packet - convM2S 0 but 26
************************************************
>[ 11] Tclunk:   tag=1, fid=1 FidTab=10/10
<[  7] Rclunk:   tag=1, FidTab=9/10
------------------------------------------------
9 unmount /n/adri
------------------------------------------------
>[ 11] Tclunk:   tag=1, fid=2 FidTab=9/10
<[  7] Rclunk:   tag=1, FidTab=8/10
>[  9] Tflush:   tag=1, oldtag= 0
<[  7] Rflush:   tag=1, FidTab=8/10
>[ 11] Tclunk:   tag=0, fid=0 FidTab=8/10
<[  7] Rclunk:   tag=0, FidTab=7/10
>[ 11] Tclunk:   tag=0, fid=3 FidTab=7/10
<[  7] Rclunk:   tag=0, FidTab=6/10
>[ 11] Tclunk:   tag=0, fid=4 FidTab=6/10
<[  7] Rclunk:   tag=0, FidTab=5/10
>[ 11] Tclunk:   tag=0, fid=5 FidTab=5/10
<[  7] Rclunk:   tag=0, FidTab=4/10
>[ 11] Tclunk:   tag=0, fid=6 FidTab=4/10
<[  7] Rclunk:   tag=0, FidTab=3/10
>[ 11] Tclunk:   tag=0, fid=7 FidTab=3/10
<[  7] Rclunk:   tag=0, FidTab=2/10
>[ 11] Tclunk:   tag=0, fid=8 FidTab=2/10
<[  7] Rclunk:   tag=0, FidTab=1/10
>[ 11] Tclunk:   tag=0, fid=9 FidTab=1/10
<[  7] Rclunk:   tag=0, FidTab=0/10
>[ 11] Tclunk:   tag=0, fid=10 FidTab=0/10
<[ 36] Rerror:   tag=0, ename='fid unknown or out of range'

-----------------------------------
 END OF TEST
-----------------------------------

[-- Attachment #3: test9P_Plan9.txt --]
[-- Type: text/plain, Size: 4305 bytes --]

-----------------------------------
srv tcp!adri!12000 adri
-----------------------------------

>>>> ENTER SERVER LOOP

-----------------------------------
mount /srv/adri /n/adri
-----------------------------------
>[ 19] Tversion: tag=65535, msize=8216, version='9P2000'
<[ 19] Rversion: tag=65535, msize=8216, version='9P2000'
>[ 22] Tauth:    tag=4, afid=223, uname='adriano', aname=''
<[ 25] Rerror:   tag=4, ename='no auth required'
>[ 26] Tattach:  tag=4, fid=223, afid=-1, uname='adriano', aname=''
<[ 20] Rattach:  tag=4, qid=[0000000000000111 0 (d)]
-----------------------------------
lc /n/adri
-----------------------------------
>[ 17] Twalk:    tag=4, fid=223, newfid=201, nwname=0 
<[  9] Rwalk:    tag=4, nwqid=0 FidTab=2/10 
>[ 11] Tstat:    tag=4, fid=201 FidTab=2/10
<[ 74] Rstat:    tag=4, sz=65/63, type=0, dev=0, qid=[0000000000000111 0 (d)]
                 mode=0x800001B7=QT(DIR)667, at=0, mt=0
                 file='/', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 11] Tclunk:   tag=4, fid=201 FidTab=2/10
<[  7] Rclunk:   tag=4, FidTab=1/10
>[ 17] Twalk:    tag=4, fid=223, newfid=201, nwname=0 
<[  9] Rwalk:    tag=4, nwqid=0 FidTab=2/10 
>[ 12] Topen:    tag=4, fid=201, mode=0x0=RD
<[ 24] Ropen:    tag=4, qid=[0000000000000111 0 (d)], iounit=0
>[ 23] Tread:    tag=4, fid=201, offset=0, count=8192
<[292] Rread:    tag=4, count=281
      E\0\0\0\0\0\0\0\0\0\0\0\0\32\1\0\0\0\0\0\0\37777777666\1\0\0\0
      \0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\7\0file_0a\7\0adriano\7\0adr
>[ 23] Tread:    tag=4, fid=201, offset=281, count=8192
<[ 11] Rread:    tag=4, count=0
>[ 11] Tclunk:   tag=4, fid=201 FidTab=2/10
<[  7] Rclunk:   tag=4, FidTab=1/10
-----------------------------------
lc /n/adri
-----------------------------------
>[ 17] Twalk:    tag=2, fid=223, newfid=226, nwname=0 
<[  9] Rwalk:    tag=2, nwqid=0 FidTab=2/10 
>[ 11] Tstat:    tag=2, fid=226 FidTab=2/10
<[ 74] Rstat:    tag=2, sz=65/63, type=0, dev=0, qid=[0000000000000111 0 (d)]
                 mode=0x800001B7=QT(DIR)667, at=0, mt=0
                 file='/', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 11] Tclunk:   tag=2, fid=226 FidTab=2/10
<[  7] Rclunk:   tag=2, FidTab=1/10
>[ 17] Twalk:    tag=2, fid=223, newfid=226, nwname=0 
<[  9] Rwalk:    tag=2, nwqid=0 FidTab=2/10 
>[ 12] Topen:    tag=2, fid=226, mode=0x0=RD
<[ 24] Ropen:    tag=2, qid=[0000000000000111 0 (d)], iounit=0
>[ 23] Tread:    tag=2, fid=226, offset=0, count=8192
<[292] Rread:    tag=2, count=281
      E\0\0\0\0\0\0\0\0\0\0\0\0\32\1\0\0\0\0\0\0\37777777666\1\0\0\0
      \0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\7\0file_0a\7\0adriano\7\0adr
>[ 23] Tread:    tag=2, fid=226, offset=281, count=8192
<[ 11] Rread:    tag=2, count=0
>[ 11] Tclunk:   tag=2, fid=226 FidTab=2/10
<[  7] Rclunk:   tag=2, FidTab=1/10
-----------------------------------
lc /n/adri
-----------------------------------
>[ 17] Twalk:    tag=4, fid=223, newfid=215, nwname=0 
<[  9] Rwalk:    tag=4, nwqid=0 FidTab=2/10 
>[ 11] Tstat:    tag=4, fid=215 FidTab=2/10
<[ 74] Rstat:    tag=4, sz=65/63, type=0, dev=0, qid=[0000000000000111 0 (d)]
                 mode=0x800001B7=QT(DIR)667, at=0, mt=0
                 file='/', length=0
                 uid='adriano', gid='adriano', muid=''
>[ 11] Tclunk:   tag=4, fid=215 FidTab=2/10
<[  7] Rclunk:   tag=4, FidTab=1/10
>[ 17] Twalk:    tag=4, fid=223, newfid=215, nwname=0 
<[  9] Rwalk:    tag=4, nwqid=0 FidTab=2/10 
>[ 12] Topen:    tag=4, fid=215, mode=0x0=RD
<[ 24] Ropen:    tag=4, qid=[0000000000000111 0 (d)], iounit=0
>[ 23] Tread:    tag=4, fid=215, offset=0, count=8192
<[292] Rread:    tag=4, count=281
      E\0\0\0\0\0\0\0\0\0\0\0\0\32\1\0\0\0\0\0\0\37777777666\1\0\0\0
      \0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\7\0file_0a\7\0adriano\7\0adr
>[ 23] Tread:    tag=4, fid=215, offset=281, count=8192
<[ 11] Rread:    tag=4, count=0
>[ 11] Tclunk:   tag=4, fid=215 FidTab=2/10
<[  7] Rclunk:   tag=4, FidTab=1/10
-----------------------------------
unmount /n/adri
-----------------------------------
>[ 11] Tclunk:   tag=2, fid=223 FidTab=1/10
<[  7] Rclunk:   tag=2, FidTab=0/10
-----------------------------------
 END OF TEST
-----------------------------------

             reply	other threads:[~2007-04-10 17:12 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-10 17:12 Adriano Verardo [this message]
2007-04-10 17:39 ` Charles Forsyth
2007-04-10 18:14   ` Adriano Verardo
2007-04-10 19:33     ` C H Forsyth
2007-04-10 21:28       ` Adriano Verardo
2007-04-10 18:29 ` Russ Cox
2007-04-10 22:14   ` Adriano Verardo
2007-04-10 22:38     ` Charles Forsyth
2007-04-10 22:50     ` Russ Cox
2007-04-11  2:19       ` Adriano Verardo
2007-04-11  2:55         ` erik quanstrom
2007-04-11  3:10         ` Russ Cox
2007-04-11  6:58           ` Bruce Ellis
2007-04-11  8:20             ` Charles Forsyth
2007-04-11 15:38               ` ron minnich
2007-04-11  2:50 ` Kris Maglione

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=461BC57B.3090006@tecmav.com \
    --to=a.verardo@tecmav.com \
    --cc=9fans@cse.psu.edu \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).