2005-02-27 16:03:48

by Andreas Gruenbacher

[permalink] [raw]
Subject: [patch 11/16] Solaris nfsacl workaround

If the nfs_acl program is available, Solaris clients expect both version
2 and version 3 to be available; RPC_PROG_MISMATCH leads to a mount
failure. Fake RPC_PROG_UNAVAIL when asked for nfs_acl version 2.

Trond has rejected this patch. I'm not sure how to deal with it in a
truly clean way, so probably I won't care and still use this as a vendor
patch.

Signed-off-by: Andreas Gruenbacher <[email protected]>
Signed-off-by: Olaf Kirch <[email protected]>

Index: linux-2.6.11-rc5/net/sunrpc/svc.c
===================================================================
--- linux-2.6.11-rc5.orig/net/sunrpc/svc.c
+++ linux-2.6.11-rc5/net/sunrpc/svc.c
@@ -455,6 +455,13 @@ err_bad_prog:
goto sendit;

err_bad_vers:
+ if (prog == 100227 && vers == 2) {
+ /* If the nfs_acl program is available, Solaris clients expect
+ both version 2 and version 3 to be available;
+ RPC_PROG_MISMATCH leads to a mount failure. Fake
+ RPC_PROG_UNAVAIL when asked for nfs_acl version 2. */
+ goto err_bad_prog;
+ }
#ifdef RPC_PARANOIA
printk("svc: unknown version (%d)\n", vers);
#endif

--
Andreas Gruenbacher <[email protected]>
SUSE Labs, SUSE LINUX PRODUCTS GMBH


2005-03-10 00:03:32

by Trond Myklebust

[permalink] [raw]
Subject: Re: [patch 11/16] Solaris nfsacl workaround

su den 27.02.2005 Klokka 16:22 (+0100) skreiv Andreas Gruenbacher:
> vanlig tekstdokument vedlegg (nfsacl-solaris-nfsacl-workaround.patch)
> If the nfs_acl program is available, Solaris clients expect both version
> 2 and version 3 to be available; RPC_PROG_MISMATCH leads to a mount
> failure. Fake RPC_PROG_UNAVAIL when asked for nfs_acl version 2.
>
> Trond has rejected this patch. I'm not sure how to deal with it in a
> truly clean way, so probably I won't care and still use this as a vendor
> patch.

So I've talked to the Solaris implementors about this issue. They said
that the above behaviour on their clients was a bug that they've
corrected in Solaris 10.

Given that very few people are going to be using Solaris clients with
NFSv2 against a Linux server, and given that there is always the option
of compiling the server without NFSACL support for those few who need to
do this, I suggest we just drop this patch.

Cheers,
Trond
--
Trond Myklebust <[email protected]>

2005-03-10 08:17:52

by Andreas Gruenbacher

[permalink] [raw]
Subject: Re: [patch 11/16] Solaris nfsacl workaround

On Thu, 2005-03-10 at 00:56, Trond Myklebust wrote:
> su den 27.02.2005 Klokka 16:22 (+0100) skreiv Andreas Gruenbacher:
> > vanlig tekstdokument vedlegg (nfsacl-solaris-nfsacl-workaround.patch)
> > If the nfs_acl program is available, Solaris clients expect both version
> > 2 and version 3 to be available; RPC_PROG_MISMATCH leads to a mount
> > failure. Fake RPC_PROG_UNAVAIL when asked for nfs_acl version 2.
> >
> > Trond has rejected this patch. I'm not sure how to deal with it in a
> > truly clean way, so probably I won't care and still use this as a vendor
> > patch.
>
> So I've talked to the Solaris implementors about this issue. They said
> that the above behaviour on their clients was a bug that they've
> corrected in Solaris 10.

Thanks for gathering this piece of information.

> Given that very few people are going to be using Solaris clients with
> NFSv2 against a Linux server, and given that there is always the option
> of compiling the server without NFSACL support for those few who need to
> do this, I suggest we just drop this patch.

It's NFSv3 clients that exhibit the strange behavior; else I never would
have run into this bug. For me it's okay to leave out this patch; we'll
still carry it around in our vendor tree for a while though.

Cheers,
--
Andreas Gruenbacher <[email protected]>
SUSE Labs, SUSE LINUX GMBH