From 8fde8feb1c3d6b069523a086aa0e250d75a636f1 Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Fri, 11 Aug 2006 22:43:33 +0000 Subject: [PATCH] STABLE14-linux-updates-20060811 fix for current fc kernels, and clean up linux nfs translator --- acinclude.m4 | 1 + src/afs/LINUX/osi_file.c | 2 ++ src/afs/LINUX/osi_machdep.h | 2 ++ src/afs/LINUX/osi_vfsops.c | 2 ++ src/afs/afs_prototypes.h | 2 ++ src/cf/linux-test4.m4 | 11 +++++++++++ 6 files changed, 20 insertions(+) diff --git a/acinclude.m4 b/acinclude.m4 index 088bccdf2..43230ac41 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -563,6 +563,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 diff --git a/src/afs/LINUX/osi_file.c b/src/afs/LINUX/osi_file.c index 272d81100..d23f4de03 100644 --- a/src/afs/LINUX/osi_file.c +++ b/src/afs/LINUX/osi_file.c @@ -137,7 +137,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; diff --git a/src/afs/LINUX/osi_machdep.h b/src/afs/LINUX/osi_machdep.h index 3656bd4e5..8faca6063 100644 --- a/src/afs/LINUX/osi_machdep.h +++ b/src/afs/LINUX/osi_machdep.h @@ -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 diff --git a/src/afs/LINUX/osi_vfsops.c b/src/afs/LINUX/osi_vfsops.c index e79f2dda8..8227d4152 100644 --- a/src/afs/LINUX/osi_vfsops.c +++ b/src/afs/LINUX/osi_vfsops.c @@ -494,7 +494,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; diff --git a/src/afs/afs_prototypes.h b/src/afs/afs_prototypes.h index b16e2a108..188b11845 100644 --- a/src/afs/afs_prototypes.h +++ b/src/afs/afs_prototypes.h @@ -725,6 +725,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; diff --git a/src/cf/linux-test4.m4 b/src/cf/linux-test4.m4 index e09453896..16c21791b 100644 --- a/src/cf/linux-test4.m4 +++ b/src/cf/linux-test4.m4 @@ -188,6 +188,17 @@ AC_MSG_RESULT($ac_cv_linux_exports_sys_wait4) CPPFLAGS="$save_CPPFLAGS"]) +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 ], +[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) save_CPPFLAGS="$CPPFLAGS" -- 2.39.5