Linux: Fix build with CONFIG_UIDGID_STRICT_TYPE_CHECKS (user namespaces)
[openafs.git] / src / afs / LINUX / osi_pag_module.c
index bb0eb57..ac4f800 100644 (file)
@@ -23,9 +23,6 @@
 #ifdef AFS_AMD64_LINUX20_ENV
 #include <asm/ia32_unistd.h>
 #endif
-#ifdef AFS_SPARC64_LINUX20_ENV
-#include <linux/ioctl32.h>
-#endif
 
 #include <linux/proc_fs.h>
 #include <linux/slab.h>
@@ -57,6 +54,10 @@ DECLARE_MUTEX(afs_global_lock);
 struct proc_dir_entry *openafs_procfs;
 int afs_global_owner = 0;
 
+#ifdef HAVE_LINUX_KUID_T
+struct user_namespace *afs_ns;
+#endif
+
 int __init
 afspag_init(void)
 {
@@ -65,6 +66,10 @@ afspag_init(void)
 #endif
     int err;
 
+#ifdef HAVE_LINUX_KUID_T
+    afs_ns = afs_current_user_ns();
+#endif
+
     osi_Init();
 
     err = osi_syscall_init();
@@ -115,7 +120,7 @@ module_exit(afspag_cleanup);
  * However, we need to define them in order to resolve the reference,
  * unless we want to move afs_InitReq out of afs_osi_pag.c.
  */
-int osi_linux_nfs_initreq(struct vrequest *av, AFS_UCRED *cr, int *code)
+int osi_linux_nfs_initreq(struct vrequest *av, afs_ucred_t *cr, int *code)
 {
     *code = EACCES;
     return 1;
@@ -123,8 +128,8 @@ int osi_linux_nfs_initreq(struct vrequest *av, AFS_UCRED *cr, int *code)
 
 int
 afs_nfsclient_reqhandler(struct afs_exporter *exporter,
-                        AFS_UCRED **cred,
-                        afs_int32 host, afs_int32 *pagparam,
+                        afs_ucred_t **cred,
+                        afs_uint32 host, afs_int32 *pagparam,
                         struct afs_exporter **outexporter)
 {
     return EINVAL;