Re: newnfs NFS client testing

2011-05-04 Thread Peter Jeremy
On 2011-Apr-25 20:33:14 -0400, Rick Macklem rmack...@uoguelph.ca wrote:
I believe that the new/experimental NFS client in head is now
compatible with the old/regular NFS client.

Possibly even too compatible...

Both the old and new NFS clients assume a 1:1 mapping between NFS
error codes (NFSERR_* macros defined in nfs/nfsproto.h) and the E*
macros in sys/errno.h: In the old client, the NFS status is copied
from the RPC response by nfsclient/nfs_krpc.c:nfs_request(), returned
and passed back up the call chain.  In the new client, the status is
copied from the RPC response into struct nfsrv_descript.nd_repstat
by fs/nfs/nfs_commonkrpc.c:newnfs_request() and then moved into an
error return in fs/nfsclient/nfs_clrpcops.c:nfsrpc_*().

This is not currently a problem but it would seem useful to include
notes in nfs/nfsproto.h and sys/errno.h warning of this assumption
in case of future changes.

Note that both NFS servers do include code for error code mapping.

-- 
Peter Jeremy


pgpQy93T4ChKw.pgp
Description: PGP signature


Re: newnfs NFS client testing

2011-05-04 Thread Rick Macklem
 On 2011-Apr-25 20:33:14 -0400, Rick Macklem rmack...@uoguelph.ca
 wrote:
 I believe that the new/experimental NFS client in head is now
 compatible with the old/regular NFS client.
 
 Possibly even too compatible...
 
 Both the old and new NFS clients assume a 1:1 mapping between NFS
 error codes (NFSERR_* macros defined in nfs/nfsproto.h) and the E*
 macros in sys/errno.h: In the old client, the NFS status is copied
 from the RPC response by nfsclient/nfs_krpc.c:nfs_request(), returned
 and passed back up the call chain. In the new client, the status is
 copied from the RPC response into struct nfsrv_descript.nd_repstat
 by fs/nfs/nfs_commonkrpc.c:newnfs_request() and then moved into an
 error return in fs/nfsclient/nfs_clrpcops.c:nfsrpc_*().
 
 This is not currently a problem but it would seem useful to include
 notes in nfs/nfsproto.h and sys/errno.h warning of this assumption
 in case of future changes.
 
 Note that both NFS servers do include code for error code mapping.
 
I guess that a comment might be in order. I know that the NFS ones will
never change, since they're wired into the RFCs. I doubt anyone has an
urge to renumber errno.h (the ones up to about 70), but a comment w.r.t.
that in nfsproto.h could be useful.

Thanks for the good suggestion, rick
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


newnfs NFS client testing

2011-04-25 Thread Rick Macklem
Hi,

I believe that the new/experimental NFS client in head is now
compatible with the old/regular NFS client.

If you run current and do NFS mounts, testing of the new NFS
client would be appreciated. All you need to do is:
- replace the fstype of nfs with newnfs in the appropriate
  lines in /etc/fstab

If you are using a diskless NFS root fs, you need to change the
line for / in etc/fstab on the root fs on the NFS server plus
add a line like this to boot/loader.conf on the root fs on the server:

vfs.root.mountfrom=newnfs:

Thanks in advance for any testing, rick
ps: The plan is to switch newnfs -- nfs soon if problems
aren't reported.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org