linux-updates-20060811
authorDerrick Brashear <shadow@dementia.org>
Fri, 11 Aug 2006 22:38:41 +0000 (22:38 +0000)
committerDerrick Brashear <shadow@dementia.org>
Fri, 11 Aug 2006 22:38:41 +0000 (22:38 +0000)
fix for current fc kernels, and clean up linux nfs translator

acinclude.m4
src/afs/LINUX/osi_file.c
src/afs/LINUX/osi_machdep.h
src/afs/LINUX/osi_nfssrv.c
src/afs/LINUX/osi_pag_module.c
src/afs/LINUX/osi_vfsops.c
src/afs/afs_prototypes.h
src/cf/linux-test4.m4

index 5ecb94f..7acbf69 100644 (file)
@@ -571,6 +571,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK
                 LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_GFP_MASK
                 LINUX_FS_STRUCT_INODE_HAS_I_ALLOC_SEM
+                LINUX_FS_STRUCT_INODE_HAS_I_BLKSIZE
                 LINUX_FS_STRUCT_INODE_HAS_I_TRUNCATE_SEM
                 LINUX_FS_STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS
                 LINUX_FS_STRUCT_INODE_HAS_I_DEVICES
index f096416..ecf1934 100644 (file)
@@ -138,7 +138,9 @@ afs_osi_Stat(register struct osi_file *afile, register struct osi_stat *astat)
     AFS_STATCNT(osi_Stat);
     MObtainWriteLock(&afs_xosi, 320);
     astat->size = OSIFILE_INODE(afile)->i_size;
+#ifdef STRUCT_INODE_HAS_I_BLKSIZE
     astat->blksize = OSIFILE_INODE(afile)->i_blksize;
+#endif
 #if defined(AFS_LINUX26_ENV)
     astat->mtime = OSIFILE_INODE(afile)->i_mtime.tv_sec;
     astat->atime = OSIFILE_INODE(afile)->i_atime.tv_sec;
index 3656bd4..8faca60 100644 (file)
@@ -26,6 +26,8 @@
 #define getpid() current->pid
 #ifdef STRUCT_TASK_STRUCT_HAS_REAL_PARENT
 #define getppid() current->real_parent->pid
+#elif defined(STRUCT_TASK_STRUCT_HAS_PARENT)
+#define getppid() current->parent->pid
 #else
 #define getppid() current->p_opptr->pid
 #endif
index 57be4bb..9fec38a 100644 (file)
@@ -26,7 +26,11 @@ RCSID
 #include <linux/sunrpc/svcauth.h>
 
 static unsigned long authtab_addr = 0;
+#if defined(module_param)
+module_param(authtab_addr, long, 0);
+#else
 MODULE_PARM(authtab_addr, "l");
+#endif
 MODULE_PARM_DESC(authtab_addr, "Address of the authtab array.");
 
 extern struct auth_ops *authtab[] __attribute__((weak));
index 7c05777..ecfebaa 100644 (file)
@@ -39,11 +39,19 @@ RCSID
 #endif
 
 static unsigned long nfs_server_addr = 0;
+#if defined(module_param)
+module_param(nfs_server_addr, long, 0);
+#else
 MODULE_PARM(nfs_server_addr,  "l");
+#endif
 MODULE_PARM_DESC(nfs_server_addr,  "IP Address of NFS Server");
 
 static char *this_cell = 0;
+#if defined(module_param_array) && LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9)
+module_param_array(this_cell, charp, 0);
+#else
 MODULE_PARM(this_cell, "s");
+#endif
 MODULE_PARM_DESC(this_cell, "Local cell name");
 
 #if defined(AFS_LINUX24_ENV)
index 44ec210..762c309 100644 (file)
@@ -512,7 +512,9 @@ vattr2inode(struct inode *ip, struct vattr *vp)
     ip->i_ino = vp->va_nodeid;
     ip->i_nlink = vp->va_nlink;
     ip->i_blocks = vp->va_blocks;
+#ifdef STRUCT_INODE_HAS_I_BLKSIZE
     ip->i_blksize = vp->va_blocksize;
+#endif
     ip->i_rdev = vp->va_rdev;
     ip->i_mode = vp->va_mode;
     ip->i_uid = vp->va_uid;
index c167261..97d3fae 100644 (file)
@@ -769,6 +769,8 @@ extern int osi_dnlc_purgevol(struct VenusFid *fidp);
 extern int osi_dnlc_init(void);
 extern int osi_dnlc_shutdown(void);
 
+/* afs_pag_cred.c */
+extern void afspag_SetPrimaryCell(char *acell);
 
 /* afs_stat.c */
 extern struct afs_CMStats afs_cmstats;
index 7391891..92d435a 100644 (file)
@@ -142,6 +142,17 @@ AC_DEFUN([LINUX_EXPORTS_SYS_WAIT4], [
   AC_MSG_RESULT($ac_cv_linux_exports_sys_wait4)])
 
 
+AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_BLKSIZE], [
+  AC_MSG_CHECKING([for i_blksize in struct inode])
+  AC_CACHE_VAL([ac_cv_linux_fs_struct_inode_has_i_blksize], [
+    AC_TRY_KBUILD(
+[#include <linux/fs.h>],
+[struct inode _inode;
+printk("%d\n", _inode.i_blksize);],
+      ac_cv_linux_fs_struct_inode_has_i_blksize=yes,
+      ac_cv_linux_fs_struct_inode_has_i_blksize=no)])
+  AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_blksize)])
+
 AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_CDEV], [
   AC_MSG_CHECKING([for i_cdev in struct inode])
   AC_CACHE_VAL([ac_cv_linux_fs_struct_inode_has_i_cdev], [