]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
afs: Make ONEGROUP_ENV not Linux-specific
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 ed6ab5ad80bf9f3210f4f1ddd8b5589652fb2cbe..de3671c3acf77a15291e57617bae34a64e62e9f8 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 54efc99b627dc171a306aae2a06061918535428d..82aed0083d6e9c24759129d4f57073d3e88c5fb4 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 3ae2721b2ba6be4555bd17b072c3997eddf2e942..af1c426bed11842daa59c434f7e1381d0b17df82 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 2c153c795ca3c5b7560d741d2f3bb63a10a30a3b..354a84436a7cdf25e140b1f2e60d4e1ff4c2fb76 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 5b9a8fd081b36cb962685a85bc7eb751a1c72d7e..bc6b3e6261018323578a7659ea67ad0f8e304174 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 3fb8a61b2114cb6a0101b2f6cf0adf51dd162d1c..b53479a2e2a355264c33fe7aac77e9f50dccf000 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 dc414eae0ccbb5fcc98aff8b73d2c96e6aff0dca..37de8d6eac3238b73914ae5c1e3da90cfb04b778 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 a31833f32e4f8d93687dcdba93b1d6e4a4e01e3e..279c264f9e1d407786ca1dda17c057423bcfc5a9 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);