afs: Make ONEGROUP_ENV not Linux-specific 78/11978/7
authorAndrew Deason <adeason@dson.org>
Sat, 8 Aug 2015 21:13:54 +0000 (16:13 -0500)
committerBenjamin Kaduk <kaduk@mit.edu>
Sun, 11 Sep 2016 21:46:45 +0000 (17:46 -0400)
The functionality in AFS_LINUX26_ONEGROUP_ENV does not really need to
be Linux-specific (it's just only implemented for Linux right now).
Rename it to AFS_PAG_ONEGROUP_ENV, and remove some Linux-specific
checks when checking for "onegroup" PAG GIDs.

[mmeffie@sinenomine.net: Move AFS_PAG_ONEGROUP_ENV to param.h]

Change-Id: I01d29fff309337ae95b9b6c65db3d2212cf4bf89
Reviewed-on: https://gerrit.openafs.org/11978
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>

src/afs/LINUX/osi_groups.c
src/afs/LINUX/osi_machdep.h
src/afs/afs_osi.h
src/afs/afs_osi_pag.c
src/afs/afs_pioctl.c
src/auth/ktc.c
src/config/param.linux26.h
src/kopenafs/kopenafs.c

index ed6ab5a..de3671c 100644 (file)
@@ -26,7 +26,7 @@
 #include "afs/nfsclient.h"
 #include "osi_compat.h"
 
-#ifdef AFS_LINUX26_ONEGROUP_ENV
+#ifdef AFS_PAG_ONEGROUP_ENV
 
 static afs_uint32
 afs_linux_pag_from_groups(struct group_info *group_info) {
index 54efc99..82aed00 100644 (file)
 #ifndef OSI_MACHDEP_H_
 #define OSI_MACHDEP_H_
 
-#include <linux/version.h>
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,4)
-# define AFS_LINUX26_ONEGROUP_ENV 1
-#endif
-
 /* Only needed for xdr.h in glibc 2.1.x */
 #ifndef quad_t
 # define quad_t __quad_t
index 3ae2721..af1c426 100644 (file)
@@ -448,7 +448,7 @@ extern afs_ucred_t afs_osi_cred, *afs_osi_credp;
 #define osi_curcred() (u.u_cred)
 #endif
 
-#ifdef AFS_LINUX26_ONEGROUP_ENV
+#ifdef AFS_PAG_ONEGROUP_ENV
 #define AFS_NUMPAGGROUPS 1
 #else
 #define AFS_NUMPAGGROUPS 2
index 2c153c7..354a844 100644 (file)
@@ -383,7 +383,7 @@ afs_setpag_val(int pagval)
     return (code);
 }
 
-#ifndef AFS_LINUX26_ONEGROUP_ENV
+#ifndef AFS_PAG_ONEGROUP_ENV
 int
 afs_getpag_val(void)
 {
@@ -534,7 +534,7 @@ afs_DestroyReq(struct vrequest *av)
     }
 }
 
-#ifndef AFS_LINUX26_ONEGROUP_ENV
+#ifndef AFS_PAG_ONEGROUP_ENV
 afs_uint32
 afs_get_pag_from_groups(gid_t g0a, gid_t g1a)
 {
@@ -581,7 +581,8 @@ afs_get_groups_from_pag(afs_uint32 pag, gid_t * g0p, gid_t * g1p)
     *g1p = g1 + 0x3f00;
 }
 #else
-void afs_get_groups_from_pag(afs_uint32 pag, gid_t *g0p, gid_t *g1p)
+void
+afs_get_groups_from_pag(afs_uint32 pag, gid_t *g0p, gid_t *g1p)
 {
     AFS_STATCNT(afs_get_groups_from_pag);
     *g0p = pag;
index 5b9a8fd..bc6b3e6 100644 (file)
@@ -4600,7 +4600,7 @@ HandleClientContext(struct afs_ioctl *ablob, int *com,
     newcred->cr_groupset.gs_union.un_groups[0] = g0;
     newcred->cr_groupset.gs_union.un_groups[1] = g1;
 #elif defined(AFS_LINUX26_ENV)
-# ifdef AFS_LINUX26_ONEGROUP_ENV
+# ifdef AFS_PAG_ONEGROUP_ENV
     afs_set_cr_group_info(newcred, groups_alloc(1)); /* nothing sets this */
     l = (((g0-0x3f00) & 0x3fff) << 14) | ((g1-0x3f00) & 0x3fff);
     h = ((g0-0x3f00) >> 14);
index 3fb8a61..b53479a 100644 (file)
@@ -1060,14 +1060,14 @@ ktc_curpag(void)
        afs_uint32 g0, g1;
        afs_uint32 h, l, ret;
        int ngroups;
-#ifdef AFS_LINUX26_ENV
+#ifdef AFS_PAG_ONEGROUP_ENV
        int i;
 #endif
 
        ngroups = getgroups(sizeof groups / sizeof groups[0], groups);
 
-#ifdef AFS_LINUX26_ENV
-       /* check for AFS_LINUX26_ONEGROUP_ENV PAGs */
+#ifdef AFS_PAG_ONEGROUP_ENV
+       /* Check for one-group PAGs. */
        for (i = 0; i < ngroups; i++) {
            if (((groups[i] >> 24) & 0xff) == 'A') {
                return groups[i];
index dc414ea..37de8d6 100644 (file)
@@ -13,6 +13,8 @@
 #ifndef UKERNEL
 
 /* This section for kernel libafs compiles only */
+#include <linux/version.h>
+
 #define AFS_LINUX20_ENV                1
 #define AFS_LINUX22_ENV                1
 #define AFS_LINUX24_ENV                1
@@ -27,6 +29,9 @@
 #define AFS_USERSPACE_IP_ADDR  1
 #define RXK_LISTENER_ENV       1
 #define AFS_GCPAGS             1       /* Set to Userdisabled, allow sysctl to override */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,4)
+# define AFS_PAG_ONEGROUP_ENV  1
+#endif
 #define AFS_HAVE_FFS           1       /* Use system's ffs */
 #define AFS_HAVE_STATVFS       0       /* System doesn't support statvfs */
 #define AFS_VM_RDWR_ENV                1       /* read/write implemented via VM */
index a31833f..279c264 100644 (file)
@@ -127,7 +127,7 @@ os_haspag(void)
     gid_t *groups;
     afs_uint32 g0, g1;
     afs_uint32 h, l, pag;
-# ifdef AFS_LINUX26_ENV
+# ifdef AFS_PAG_ONEGROUP_ENV
     int i;
 # endif
 
@@ -137,8 +137,8 @@ os_haspag(void)
         return 0;
     ngroups = getgroups(ngroups, groups);
 
-    /* Check for AFS_LINUX26_ONEGROUP_ENV PAGs. */
-# ifdef AFS_LINUX26_ENV
+    /* Check for one-group PAGs. */
+# ifdef AFS_PAG_ONEGROUP_ENV
     for (i = 0; i < ngroups; i++)
         if (((groups[i] >> 24) & 0xff) == 'A') {
             free(groups);