|
![star](/format/star.jpg) |
Projects: NFS Version 4 Open Source Reference Implementation
|
|
|
The Second NFS Version 4 Bakeoff, July 11-13, 2000
We had 5 participants this time around that represented 7 implementation
platforms. The 7th was the OpenBSD work by CITI/Umich. From the testing
that occurred and the reports that were given on Thursday afternoon, a
majority of the implementations have the basic NFSv4 operations done and
working properly. Progress has been made with the OPEN share
support and this is where most of the implementations are moving towards.
As a result of the implementation work to this point, no errors or major
problems have been found in the protocol.
One goal of this bakeoff was to pass as many of the basic connectathon
tests as possible. The NFSv4 ports have progressed far enough to
cause interoperability problems. Some ports have implemented the manditory
SETCLIENTID, SETCLIENTID_CONFIRM mechanisms required before OPEN can succeed.
These implementations could therefore not interoperate with implementations
that have yet to code the SETCLIENTID, SETCLIENTID_CONFIRM calls.
OPEN is futher complicated by manditory DOS style share locks. Again,
some ports had a share lock implementation, others did not. Below
is a listing of the results of all the testing that the CITI NFSv4 team
did at the second NFSV4 Bakeoff.
Linux client, Linux server
-
all 9 basic connectathon tests
-
setclientid, and share lock implementations
Linux client, Network Appliance server
-
basic connectathon tests 1,2,3,4,7,9
-
read, write work, but not well enough to pass connectathon tests
-
we both have share locks implemented
Hummingbird client, Linux server
-
connectathon tests: ran out of time. expect test 3,9 would work
-
Hummingbird client: setclientid implemented, share lock state implementation
-
mount,ls, open, read, close, mkdir
Linux client, Java server
-
basic connectathon tests 3.
-
java server setclientid implemented, no share lock state.
-
mount, ls, cat, create file, mkdir
Java client, Linux server
Linux client, Solaris server
-
connectathon basic test 3,9
-
mount, ls, mkdir, rmdir, symlink, hardlink ...
-
Solaris server: no setclientid impementation, so no open, read, write,
close.
Solaris client, Linux server
-
ran out of time
-
no connectathon tests
-
mount, ls, mkdir
-
Solaris client: no setclientid implementation, so no open,read,write,close.
OpenBSD client; Network Appliance, Linux, Java, Solaris servers
-
mount, ls, stat, read (except Linux which requires setclientid)
-
OpenBSD client: no setclientid
RPCSEC_GSS
-
ported Sun rpcsec_gss test suite to Linux and OpenBSD
-
Linux, OpenBSD user level (client & server) rpcsec_gss
passed Connectathon test
-
added RPCSEC_GSS support to Ethereal, open-source sniffer
Not Available for testing
-
Hummingbird server
-
EMC server
Problems we encountered
-
other clients mounting '/'
-
Linux client and server: buffer overflows in xdr
-
we fixed various protocol errors, both client and server
-
pseudo fs - returning fs attributes, crossing mountpoints
![blank.space](/format/blank.space.jpg) |
|
![citi](/format/citi.ufo.gif) |
|