Implement _PC_FILESIZEBITS for solaris pathconf
authorAndrew Deason <adeason@sinenomine.net>
Mon, 21 Sep 2009 21:57:01 +0000 (16:57 -0500)
committerDerrick Brashear <shadow|account-1000005@unknown>
Mon, 21 Sep 2009 22:32:53 +0000 (15:32 -0700)
Using recent NFS clients and servers with the translator under Solaris
causes AFS to be queried for the _PC_FILESIZEBITS pathconf value. Right
now we don't implement it and return EINVAL, causing at least some
modern NFS clients to be unable to mount AFS via the translator on at
least some modern NFS servers.

So, return _PC_FILESIZEBITS as either 32 or 64, depending on whether we
are a 64-bit client or not.

Reviewed-on: http://gerrit.openafs.org/481
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

src/afs/SOLARIS/osi_vnodeops.c

index e2302db..12a06e7 100644 (file)
@@ -1120,6 +1120,13 @@ afs_pathconf(struct vnode *vp, int cmd, u_long *outdatap,
     case _PC_NO_TRUNC:
        *outdatap = 1;
        break;
+    case _PC_FILESIZEBITS:
+#ifdef AFS_64BIT_CLIENT
+       *outdatap = 64;
+#else
+       *outdatap = 32;
+#endif
+       break;
     default:
        return EINVAL;
     }