Date: Thu, 25 Jan 2001 15:40:06 -0500 (EST) From: Eric Werme USG <werme@wasted.zk3.dec.com> To: Mike Smith <msmith@freebsd.org>, Linux NFS mailing list <nfs@lists.sourceforge.net>, FreeBSD Stable <freebsd-stable@freebsd.org> Cc: Guy Harris <gharris@flashcom.net> Subject: Re: [NFS] Incompatible: FreeBSD 4.2 client, Linux 2.2.18 nfsv3 server, read-only export Message-ID: <200101252040.PAA0000803167@anw.zk3.dec.com>
index | next in thread | raw e-mail
> At least from looking at the Linux 2.2.18 code, if you get EROFS back
> from the Linux server, the actual set of access bits you get back won't
> have the right bits set; "nfsd_access()" just jumps to "out:" if it gets
> a "read-only file system" error, and that doesn't set "*access" to the
> result.
Umm, either I'm reading your post wrong, or you've glitched on your
recall of the protocol.
If you get EROFS back from ACCESS, you won't get access bits:
/*
* The following union defines the results from invoking the
* procedure ACCESS.
*/
struct ACCESS3resok {
post_op_attr obj_attributes;
uint32 access; /* bit mask - see above */
};
struct ACCESS3resfail {
post_op_attr obj_attributes;
};
union ACCESS3res switch (nfsstat3 status) {
case NFS3_OK:
ACCESS3resok resok;
default:
ACCESS3resfail resfail;
};
If status == NFS3ERR_ROFS, then you get ACCESS3resfail which does not
have the bit mask that is only returned as part of ACCESS3resok.
Folks, I think we've beaten this dead molehill into a mountain.
What's going to happen when someone finds a big problem?
-Ric Werme
--
Eric (Ric) Werme | werme@zk3.dec.com
Compaq Computer Corp.
>>>> http://people.ne.mediaone.net/werme/h8dcyf.html <<<<
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200101252040.PAA0000803167>
