Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 May 2011 18:22:02 +1000
From:      Peter Jeremy <peterjeremy@acm.org>
To:        Rick Macklem <rmacklem@uoguelph.ca>
Cc:        freebsd-current@freebsd.org
Subject:   Re: newnfs NFS client testing
Message-ID:  <20110504082202.GA64659@server.vk2pj.dyndns.org>
In-Reply-To: <1088403240.552644.1303777994659.JavaMail.root@erie.cs.uoguelph.ca>
References:  <1088403240.552644.1303777994659.JavaMail.root@erie.cs.uoguelph.ca>

next in thread | previous in thread | raw e-mail | index | archive | help

--EeQfGwPcQSOJBaQU
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On 2011-Apr-25 20:33:14 -0400, Rick Macklem <rmacklem@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
=66rom 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.

--=20
Peter Jeremy

--EeQfGwPcQSOJBaQU
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (FreeBSD)

iEYEARECAAYFAk3BDKoACgkQ/opHv/APuIdi6ACfV7oz27277ZxpRDKif44Nh3ly
RR4AnRMUKwXPumMGDdTHsYPHNPT7UFsx
=b0AG
-----END PGP SIGNATURE-----

--EeQfGwPcQSOJBaQU--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110504082202.GA64659>