2005-02-27 17:28:29

by Andreas Gruenbacher

[permalink] [raw]
Subject: [nfsacl v2 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