Subject: Re: [nfsv4] I-D Action: draft-ietf-nfsv4-rfc3530bis-dot-x-20.txt

From: "Noveck, David" <[email-masked]>
Date: Sun, 1 Dec 2013 09:37:31 -0500

Ø   I suspect the best way ahead is indeed to use the uint and u_hyper types from RFC 1832.

But these names for "unsigned int" and  "'unsigned hyper" do not appear RFC 1832.

I think it is sensible do have some typedefs for these basic types, and staying with the ones we have avoids having to change specs and dot-x files for three minor versions of NFSv4.  Otherwise, the specs won't all be coherent.  Let's not go there.

Right now there are typedefs for uint32_t, uint64_t, int64_t, and int32_t (never used) in the dot-x specs but they are, for some reason, commented out.  Will making these into real typedefs work, and if not, what's the problem?

-----Original Message-----
From: nfsv4 [mailto:[email-masked]] On Behalf Of Christoph Hellwig
Sent: Saturday, November 30, 2013 11:28 AM
To: Chuck Lever
Cc: [email-masked]
Subject: Re: [nfsv4] I-D Action: draft-ietf-nfsv4-rfc3530bis-dot-x-20.txt

On Fri, Nov 29, 2013 at 01:18:58PM -0500, Chuck Lever wrote:

> I think xdr_u_int*_t() in the forked versions of libtirpc is wrong.  The point of XDR functions for these sized integer types seems to be to match the stdint.h types uint*_t.

It's not just libtirpc, it's just about anyone else.

Summary from gnulib, although not always the newest versions:

                http://www.gnu.org/software/gnulib/manual/html_node/xdr_005fuint32_005ft.html

Seems like FreeBSD has added it in the mean time, but NetBSD and OpenBSD

haven't:

  http://cvsweb.netbsd.org/bsdweb.cgi/src/include/rpc/xdr.h?rev=1.27&content-type=text/x-cvsweb-markup&only_with_tag=MAIN

  http://www.openbsd.org/cgi-bin/cvsweb/src/include/rpc/xdr.h?rev=1.12;content-type=text%2Fx-cvsweb-markup

And I'd be surprised if other have.  I suspect the best way ahead is indeed to use the uint and u_hyper types from RFC 1832.

_______________________________________________

nfsv4 mailing list

[email-masked]<mailto:[email-masked]>

https://www.ietf.org/mailman/listinfo/nfsv4

---

From: Christoph Hellwig <[email-masked]>
Date: Sun, 1 Dec 2013 15:45:10 +0100

> Right now there are typedefs for uint32_t, uint64_t, int64_t, and int32_t (never used) in the dot-x specs but they are, for some reason, commented out.  Will making these into real typedefs work, a…

On Linux/libtirpc that works.  Can someone cross check it on Solaris?
The only solaris box I have access to isn't available right now.

---

From: Chuck Lever <[email-masked]>
Date: Mon, 2 Dec 2013 14:14:07 -0500

> The only solaris box I have access to isn't available right now.

Uncommented the basic integer types and fixed the linktext4 typedef as described in another thread.  "rpcgen nfs4_prot.x" on Solaris ran without error.  nfs4_prot_xdr.c attached.

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com