That actually broke everything (including Linux trying to mount NFS). I've modified it slightly to be: bool_t xdr_nfs_fh3 (XDR *xdrs, nfs_fh3 *objp) { if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, NFS3_FHSIZE)) if (!xdr_opaque (xdrs, &objp, (u_int *) &objp->data.data_len)) return FALSE; return TRUE; } (i.e. only call the xdr_opaque function if the xdr_bytes decode fails) But I get no change in behaviour. Also get these warnings: xdr-nfs3.c: In function 'xdr_nfs_fh3': xdr-nfs3.c:197: warning: passing argument 2 of 'xdr_opaque' from incompatible pointer type /usr/include/rpc/xdr.h:313: note: expected 'caddr_t' but argument is of type 'struct nfs_fh3 **' xdr-nfs3.c:197: warning: passing argument 3 of 'xdr_opaque' makes integer from pointer without a cast /usr/include/rpc/xdr.h:313: note: expected 'u_int' but argument is of type 'u_int *' M. On 13-04-11 07:42 AM, Niels de Vos wrote: > My guess is that this (untested) change would fix it, can you try that? > > --- a/rpc/xdr/src/xdr-nfs3.c > +++ b/rpc/xdr/src/xdr-nfs3.c > @@ -184,7 +184,7 @@ xdr_specdata3 (XDR *xdrs, specdata3 *objp) > bool_t > xdr_nfs_fh3 (XDR *xdrs, nfs_fh3 *objp) > { > - if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, NFS3_FHSIZE)) > + if (!xdr_opaque (xdrs, &objp, (u_int *) &objp->data.data_len)) > return FALSE; > return TRUE; > } > > > HTH, > Niels > >> All I get out of gluster is: >> [2013-04-08 12:54:32.206312] E [nfs3.c:4741:nfs3svc_fsinfo] 0-nfs-nfsv3: >> Error decoding arguments >> >> >> I've attached abridged packet captures and text explanations of the >> packets (thanks to wireshark). >> >> Can someone please look at this and determine if it's gluster's parsing >> of the RPC call to blame, or if it's Oracle? >> >> This is the same setup on which I reported the NFS race condition bug. >> It does have that patch applied. >> Details: >> http://lists.gnu.org/archive/html/gluster-devel/2013-04/msg00014.html >> >> Thanks, >> >> Michael >> >> -- >> Michael Brown | `One of the main causes of the fall of >> Systems Consultant | the Roman Empire was that, lacking zero, >> Net Direct Inc. | they had no way to indicate successful >> ?: +1 519 883 1172 x5106 | termination of their C programs.' - Firth >> > > > > >> _______________________________________________ >> Gluster-devel mailing list >> Gluster-devel@xxxxxxxxxx >> https://lists.nongnu.org/mailman/listinfo/gluster-devel > -- Michael Brown | `One of the main causes of the fall of Systems Consultant | the Roman Empire was that, lacking zero, Net Direct Inc. | they had no way to indicate successful ☎: +1 519 883 1172 x5106 | termination of their C programs.' - Firth