Index: openafs/src/WINNT/afsd/afsd_init.c
diff -c openafs/src/WINNT/afsd/afsd_init.c:1.79.2.3 openafs/src/WINNT/afsd/afsd_init.c:1.79.2.4
*** openafs/src/WINNT/afsd/afsd_init.c:1.79.2.3	Wed Aug  9 19:29:23 2006
--- openafs/src/WINNT/afsd/afsd_init.c	Thu Aug 17 08:41:45 2006
***************
*** 282,288 ****
                         &hkMSV10) == ERROR_SUCCESS )
      {
          if (RegQueryValueEx( hkMSV10, "BackConnectionHostNames", 0, 
! 			     &dwType, NULL, &dwSize) == ERROR_SUCCESS) {
  	    dwAllocSize += 1 /* in case the source string is not nul terminated */
  		+ strlen(cm_NetbiosName) + 2;
  	    pHostNames = malloc(dwAllocSize);
--- 282,288 ----
                         &hkMSV10) == ERROR_SUCCESS )
      {
          if (RegQueryValueEx( hkMSV10, "BackConnectionHostNames", 0, 
! 			     &dwType, NULL, &dwAllocSize) == ERROR_SUCCESS) {
  	    dwAllocSize += 1 /* in case the source string is not nul terminated */
  		+ strlen(cm_NetbiosName) + 2;
  	    pHostNames = malloc(dwAllocSize);
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.6.1 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.6.2
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.6.1	Wed Jul 19 00:08:46 2006
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm	Thu Aug 17 09:16:05 2006
***************
*** 3,9 ****
  <head>
  <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
  <meta name=Generator content="Microsoft Word 11 (filtered)">
! <title>OpenAFS for Windows 1.4.2 Release Notes</title>
  <style>
  <!--
   /* Font Definitions */
--- 3,9 ----
  <head>
  <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
  <meta name=Generator content="Microsoft Word 11 (filtered)">
! <title>OpenAFS for Windows 1.5.7 Release Notes</title>
  <style>
  <!--
   /* Font Definitions */
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm:1.1.4.3 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm:1.1.4.4
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm:1.1.4.3	Thu Aug 10 00:07:04 2006
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes-frames.htm	Thu Aug 17 09:16:05 2006
***************
*** 3,9 ****
  <head>
  <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
  <meta name=Generator content="Microsoft Word 11 (filtered)">
! <title>OpenAFS for Windows 1.5.6 Release Notes</title>
  <style>
  <!--
   /* Font Definitions */
--- 3,9 ----
  <head>
  <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
  <meta name=Generator content="Microsoft Word 11 (filtered)">
! <title>OpenAFS for Windows 1.5.7 Release Notes</title>
  <style>
  <!--
   /* Font Definitions */
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm:1.6.4.2 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm:1.6.4.3
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm:1.6.4.2	Thu Aug 10 00:07:04 2006
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/relnotes.htm	Thu Aug 17 09:16:05 2006
***************
*** 3,9 ****
  <head>
  <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
  <meta name=Generator content="Microsoft Word 11 (filtered)">
! <title>OpenAFS for Windows 1.5.6 Release Notes</title>
  
  <style>
  <!--
--- 3,9 ----
  <head>
  <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
  <meta name=Generator content="Microsoft Word 11 (filtered)">
! <title>OpenAFS for Windows 1.5.7 Release Notes</title>
  
  <style>
  <!--
***************
*** 306,312 ****
  
  <div class=Section1>
  
! <p class=MsoTitle>OpenAFS for Windows 1.5.6<br>
  Release Notes</p>
  
  <p class=MsoBodyText>The Andrew File System (AFS) is a location-independent
--- 306,312 ----
  
  <div class=Section1>
  
! <p class=MsoTitle>OpenAFS for Windows 1.5.7<br>
  Release Notes</p>
  
  <p class=MsoBodyText>The Andrew File System (AFS) is a location-independent
Index: openafs/src/afs/afs_osi_pag.c
diff -c openafs/src/afs/afs_osi_pag.c:1.29.4.4 openafs/src/afs/afs_osi_pag.c:1.29.4.5
*** openafs/src/afs/afs_osi_pag.c:1.29.4.4	Fri Aug  4 11:57:54 2006
--- openafs/src/afs/afs_osi_pag.c	Thu Aug 17 09:57:28 2006
***************
*** 23,29 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_osi_pag.c,v 1.29.4.4 2006/08/04 15:57:54 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
--- 23,29 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_osi_pag.c,v 1.29.4.5 2006/08/17 13:57:28 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 539,545 ****
  #endif
      pag = (afs_int32) afs_get_pag_from_groups(g0, g1);
  out:
! #ifdef LINUX_KEYRING_SUPPORT
      if (pag == NOPAG) {
  	struct key *key;
  	afs_uint32 pag, newpag;
--- 539,545 ----
  #endif
      pag = (afs_int32) afs_get_pag_from_groups(g0, g1);
  out:
! #if defined(AFS_LINUX26_ENV) && defined(LINUX_KEYRING_SUPPORT)
      if (pag == NOPAG) {
  	struct key *key;
  	afs_uint32 pag, newpag;
Index: openafs/src/afs/afs_prototypes.h
diff -c openafs/src/afs/afs_prototypes.h:1.74.2.3 openafs/src/afs/afs_prototypes.h:1.74.2.4
*** openafs/src/afs/afs_prototypes.h:1.74.2.3	Mon Jul 31 17:27:38 2006
--- openafs/src/afs/afs_prototypes.h	Fri Aug 11 17:40:56 2006
***************
*** 768,773 ****
--- 768,775 ----
  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: openafs/src/afs/LINUX/osi_file.c
diff -c openafs/src/afs/LINUX/osi_file.c:1.28.2.3 openafs/src/afs/LINUX/osi_file.c:1.28.2.4
*** openafs/src/afs/LINUX/osi_file.c:1.28.2.3	Mon Jul 31 17:27:39 2006
--- openafs/src/afs/LINUX/osi_file.c	Fri Aug 11 17:40:56 2006
***************
*** 11,17 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_file.c,v 1.28.2.3 2006/07/31 21:27:39 shadow Exp $");
  
  #ifdef AFS_LINUX24_ENV
  #include "h/module.h" /* early to avoid printf->printk mapping */
--- 11,17 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_file.c,v 1.28.2.4 2006/08/11 21:40:56 shadow Exp $");
  
  #ifdef AFS_LINUX24_ENV
  #include "h/module.h" /* early to avoid printf->printk mapping */
***************
*** 138,144 ****
--- 138,146 ----
      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: openafs/src/afs/LINUX/osi_groups.c
diff -c openafs/src/afs/LINUX/osi_groups.c:1.28.4.1 openafs/src/afs/LINUX/osi_groups.c:1.28.4.2
*** openafs/src/afs/LINUX/osi_groups.c:1.28.4.1	Fri Aug  4 11:57:54 2006
--- openafs/src/afs/LINUX/osi_groups.c	Thu Aug 17 09:57:29 2006
***************
*** 20,26 ****
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_groups.c,v 1.28.4.1 2006/08/04 15:57:54 shadow Exp $");
  
  #include "afs/sysincludes.h"
  #include "afsincludes.h"
--- 20,26 ----
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_groups.c,v 1.28.4.2 2006/08/17 13:57:29 shadow Exp $");
  
  #include "afs/sysincludes.h"
  #include "afsincludes.h"
***************
*** 153,159 ****
  
  #if defined(AFS_LINUX26_ENV)
  int
! __setpag(cred_t ** cr, afs_uint32 pagvalue, afs_uint32 * newpag,
           int change_parent)
  {
      struct group_info *group_info;
--- 153,159 ----
  
  #if defined(AFS_LINUX26_ENV)
  int
! __setpag(cred_t **cr, afs_uint32 pagvalue, afs_uint32 *newpag,
           int change_parent)
  {
      struct group_info *group_info;
***************
*** 162,169 ****
      int i;
      int need_space = 0;
  
-     AFS_STATCNT(setpag);
- 
      group_info = afs_getgroups(*cr);
      if (group_info->ngroups < 2
  	||  afs_get_pag_from_groups(GROUP_AT(group_info, 0),
--- 162,167 ----
***************
*** 204,257 ****
  }
  #endif /* LINUX_KEYRING_SUPPORT */
  
- int
- setpag(cred_t ** cr, afs_uint32 pagvalue, afs_uint32 * newpag,
-          int change_parent)
- {
-     int code;
- 
-     code = __setpag(cr, pagvalue, newpag, change_parent);
- 
- #ifdef LINUX_KEYRING_SUPPORT
-     if (code == 0) {
- 
- 	(void) __join_session_keyring(NULL);
- 
- 	if (current->signal->session_keyring) {
- 	    struct key *key;
- 	    key_perm_t perm;
- 
- 	    perm = KEY_POS_VIEW | KEY_POS_SEARCH;
- 	    perm |= KEY_USR_VIEW | KEY_USR_SEARCH;
- 
- #ifdef KEY_ALLOC_NEEDS_STRUCT_TASK
- 	    key = key_alloc(&key_type_afs_pag, "_pag", 0, 0, current, perm, 1);
- #else
- 	    key = key_alloc(&key_type_afs_pag, "_pag", 0, 0, perm, 1);
- #endif
- 
- 	    if (!IS_ERR(key)) {
- 		key_instantiate_and_link(key, (void *) newpag, sizeof(afs_uint32),
- 					 current->signal->session_keyring, NULL);
- 		key_put(key);
- 	    }
- 	}
-     }
- #endif /* LINUX_KEYRING_SUPPORT */
- 
-     return code;
- }
  #else
  int
! setpag(cred_t ** cr, afs_uint32 pagvalue, afs_uint32 * newpag,
!        int change_parent)
  {
      gid_t *gidset;
      afs_int32 ngroups, code = 0;
      int j;
  
-     AFS_STATCNT(setpag);
- 
      gidset = (gid_t *) osi_Alloc(NGROUPS * sizeof(gidset[0]));
      ngroups = afs_getgroups(*cr, gidset);
  
--- 202,216 ----
  }
  #endif /* LINUX_KEYRING_SUPPORT */
  
  #else
  int
! __setpag(cred_t **cr, afs_uint32 pagvalue, afs_uint32 *newpag,
!          int change_parent)
  {
      gid_t *gidset;
      afs_int32 ngroups, code = 0;
      int j;
  
      gidset = (gid_t *) osi_Alloc(NGROUPS * sizeof(gidset[0]));
      ngroups = afs_getgroups(*cr, gidset);
  
***************
*** 283,288 ****
--- 242,288 ----
  #endif
  
  
+ int
+ setpag(cred_t **cr, afs_uint32 pagvalue, afs_uint32 *newpag,
+        int change_parent)
+ {
+     int code;
+ 
+     AFS_STATCNT(setpag);
+ 
+     code = __setpag(cr, pagvalue, newpag, change_parent);
+ 
+ #ifdef LINUX_KEYRING_SUPPORT
+     if (code == 0) {
+ 
+ 	(void) __join_session_keyring(NULL);
+ 
+ 	if (current->signal->session_keyring) {
+ 	    struct key *key;
+ 	    key_perm_t perm;
+ 
+ 	    perm = KEY_POS_VIEW | KEY_POS_SEARCH;
+ 	    perm |= KEY_USR_VIEW | KEY_USR_SEARCH;
+ 
+ #ifdef KEY_ALLOC_NEEDS_STRUCT_TASK
+ 	    key = key_alloc(&key_type_afs_pag, "_pag", 0, 0, current, perm, 1);
+ #else
+ 	    key = key_alloc(&key_type_afs_pag, "_pag", 0, 0, perm, 1);
+ #endif
+ 
+ 	    if (!IS_ERR(key)) {
+ 		key_instantiate_and_link(key, (void *) newpag, sizeof(afs_uint32),
+ 					 current->signal->session_keyring, NULL);
+ 		key_put(key);
+ 	    }
+ 	}
+     }
+ #endif /* LINUX_KEYRING_SUPPORT */
+ 
+     return code;
+ }
+ 
+ 
  /* Intercept the standard system call. */
  extern asmlinkage long (*sys_setgroupsp) (int gidsetsize, gid_t * grouplist);
  asmlinkage long
***************
*** 307,313 ****
      cr = crref();
      if (old_pag != NOPAG && PagInCred(cr) == NOPAG) {
  	/* re-install old pag if there's room. */
! 	code = setpag(&cr, old_pag, &junk, 0);
      }
      crfree(cr);
      unlock_kernel();
--- 307,313 ----
      cr = crref();
      if (old_pag != NOPAG && PagInCred(cr) == NOPAG) {
  	/* re-install old pag if there's room. */
! 	code = __setpag(&cr, old_pag, &junk, 0);
      }
      crfree(cr);
      unlock_kernel();
***************
*** 342,348 ****
      cr = crref();
      if (old_pag != NOPAG && PagInCred(cr) == NOPAG) {
  	/* re-install old pag if there's room. */
! 	code = setpag(&cr, old_pag, &junk, 0);
      }
      crfree(cr);
      unlock_kernel();
--- 342,348 ----
      cr = crref();
      if (old_pag != NOPAG && PagInCred(cr) == NOPAG) {
  	/* re-install old pag if there's room. */
! 	code = __setpag(&cr, old_pag, &junk, 0);
      }
      crfree(cr);
      unlock_kernel();
***************
*** 376,382 ****
      cr = crref();
      if (old_pag != NOPAG && PagInCred(cr) == NOPAG) {
  	/* re-install old pag if there's room. */
! 	code = setpag(&cr, old_pag, &junk, 0);
      }
      crfree(cr);
      unlock_kernel();
--- 376,382 ----
      cr = crref();
      if (old_pag != NOPAG && PagInCred(cr) == NOPAG) {
  	/* re-install old pag if there's room. */
! 	code = __setpag(&cr, old_pag, &junk, 0);
      }
      crfree(cr);
      unlock_kernel();
***************
*** 411,417 ****
      cr = crref();
      if (old_pag != NOPAG && PagInCred(cr) == NOPAG) {
  	/* re-install old pag if there's room. */
! 	code = setpag(&cr, old_pag, &junk, 0);
      }
      crfree(cr);
      unlock_kernel();
--- 411,417 ----
      cr = crref();
      if (old_pag != NOPAG && PagInCred(cr) == NOPAG) {
  	/* re-install old pag if there's room. */
! 	code = __setpag(&cr, old_pag, &junk, 0);
      }
      crfree(cr);
      unlock_kernel();
***************
*** 445,451 ****
      cr = crref();
      if (old_pag != NOPAG && PagInCred(cr) == NOPAG) {
  	/* re-install old pag if there's room. */
! 	code = setpag(&cr, old_pag, &junk, 0);
      }
      crfree(cr);
      unlock_kernel();
--- 445,451 ----
      cr = crref();
      if (old_pag != NOPAG && PagInCred(cr) == NOPAG) {
  	/* re-install old pag if there's room. */
! 	code = __setpag(&cr, old_pag, &junk, 0);
      }
      crfree(cr);
      unlock_kernel();
Index: openafs/src/afs/LINUX/osi_machdep.h
diff -c openafs/src/afs/LINUX/osi_machdep.h:1.34 openafs/src/afs/LINUX/osi_machdep.h:1.34.2.1
*** openafs/src/afs/LINUX/osi_machdep.h:1.34	Thu Mar  9 01:06:34 2006
--- openafs/src/afs/LINUX/osi_machdep.h	Fri Aug 11 17:40:56 2006
***************
*** 26,31 ****
--- 26,33 ----
  #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: openafs/src/afs/LINUX/osi_nfssrv.c
diff -c openafs/src/afs/LINUX/osi_nfssrv.c:1.1.2.2 openafs/src/afs/LINUX/osi_nfssrv.c:1.1.2.3
*** openafs/src/afs/LINUX/osi_nfssrv.c:1.1.2.2	Mon Jul 31 17:27:39 2006
--- openafs/src/afs/LINUX/osi_nfssrv.c	Fri Aug 11 17:40:56 2006
***************
*** 15,21 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_nfssrv.c,v 1.1.2.2 2006/07/31 21:27:39 shadow Exp $");
  
  #include <linux/module.h> /* early to avoid printf->printk mapping */
  #include "afs/sysincludes.h"
--- 15,21 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_nfssrv.c,v 1.1.2.3 2006/08/11 21:40:56 shadow Exp $");
  
  #include <linux/module.h> /* early to avoid printf->printk mapping */
  #include "afs/sysincludes.h"
***************
*** 26,32 ****
--- 26,36 ----
  #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: openafs/src/afs/LINUX/osi_pag_module.c
diff -c openafs/src/afs/LINUX/osi_pag_module.c:1.1.2.2 openafs/src/afs/LINUX/osi_pag_module.c:1.1.2.4
*** openafs/src/afs/LINUX/osi_pag_module.c:1.1.2.2	Mon Jul 31 17:27:39 2006
--- openafs/src/afs/LINUX/osi_pag_module.c	Sun Aug 13 00:53:27 2006
***************
*** 15,21 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_pag_module.c,v 1.1.2.2 2006/07/31 21:27:39 shadow Exp $");
  
  #include <linux/module.h> /* early to avoid printf->printk mapping */
  #include "afs/sysincludes.h"
--- 15,21 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_pag_module.c,v 1.1.2.4 2006/08/13 04:53:27 shadow Exp $");
  
  #include <linux/module.h> /* early to avoid printf->printk mapping */
  #include "afs/sysincludes.h"
***************
*** 39,49 ****
--- 39,57 ----
  #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(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: openafs/src/afs/LINUX/osi_probe.c
diff -c openafs/src/afs/LINUX/osi_probe.c:1.11 openafs/src/afs/LINUX/osi_probe.c:1.11.2.1
*** openafs/src/afs/LINUX/osi_probe.c:1.11	Wed Apr 26 11:40:43 2006
--- openafs/src/afs/LINUX/osi_probe.c	Sun Aug 13 12:48:13 2006
***************
*** 231,237 ****
--- 231,239 ----
  
  extern asmlinkage ssize_t sys_read(unsigned int fd, char __user * buf, size_t count) __attribute__((weak));
  extern asmlinkage long sys_close(unsigned int) __attribute__((weak));
+ #if defined(EXPORTED_SYS_CHDIR)
  extern asmlinkage long sys_chdir(const char *) __attribute__((weak));
+ #endif
  extern asmlinkage ssize_t sys_write(unsigned int, const char *, size_t) __attribute__((weak));
  #ifdef AFS_LINUX26_ENV
  extern asmlinkage long sys_wait4(pid_t, int *, int, struct rusage *) __attribute__((weak));
***************
*** 239,245 ****
--- 241,249 ----
  extern asmlinkage long sys_wait4(pid_t, unsigned int *, int, struct rusage *) __attribute__((weak));
  #endif
  extern asmlinkage long sys_exit (int) __attribute__((weak));
+ #if defined(EXPORTED_SYS_OPEN)
  extern asmlinkage long sys_open (const char *, int, int) __attribute__((weak));
+ #endif
  extern asmlinkage long sys_ioctl(unsigned int, unsigned int, unsigned long) __attribute__((weak));
  
  
***************
*** 300,313 ****
--- 304,323 ----
  /* On PPC64 and SPARC64, we need to omit the ones that might match both tables */
  static tryctl main_try[] = {
  #if !defined(AFS_PPC64_LINUX20_ENV) && !defined(AFS_SPARC64_LINUX20_ENV)
+ #if defined(EXPORTED_SYS_CHDIR)
      { "scan: close+chdir+write", __NR_close, &sys_close, __NR_chdir, &sys_chdir, __NR_write, &sys_write },
  #endif
+ #endif
      { "scan: close+wait4",       __NR_close, &sys_close, __NR_wait4, &sys_wait4, -1,         0          },
  #if !defined(AFS_PPC64_LINUX20_ENV) && !defined(AFS_SPARC64_LINUX20_ENV)
+ #if defined(EXPORTED_SYS_CHDIR)
      { "scan: close+chdir",       __NR_close, &sys_close, __NR_chdir, &sys_chdir, -1,         0          },
  #endif
+ #endif
      { "scan: close+ioctl",       __NR_close, &sys_close, __NR_ioctl, &sys_ioctl, -1,         0          },
+ #if defined(EXPORTED_SYS_OPEN)
      { "scan: exit+open",         __NR_exit,  &sys_exit,  __NR_open,  &sys_open,  -1,         0          },
+ #endif
      { 0 }
  };
  
***************
*** 590,597 ****
--- 600,609 ----
  
  /* syscall pairs/triplets to probe */
  static tryctl ia32_try[] = {
+ #if defined(EXPORTED_SYS_CHDIR)
      { "scan: close+chdir+write", __NR_ia32_close, &sys_close, __NR_ia32_chdir, &sys_chdir,        __NR_ia32_write, &sys_write },
      { "scan: close+chdir",       __NR_ia32_close, &sys_close, __NR_ia32_chdir, &sys_chdir,        -1,              0          },
+ #endif
      { 0 }
  };
  
Index: openafs/src/afs/LINUX/osi_prototypes.h
diff -c openafs/src/afs/LINUX/osi_prototypes.h:1.13.4.4 openafs/src/afs/LINUX/osi_prototypes.h:1.13.4.5
*** openafs/src/afs/LINUX/osi_prototypes.h:1.13.4.4	Fri Aug  4 11:57:54 2006
--- openafs/src/afs/LINUX/osi_prototypes.h	Thu Aug 17 09:57:29 2006
***************
*** 91,97 ****
  extern void osi_keyring_init(void);
  extern void osi_keyring_shutdown(void);
  extern int __setpag(cred_t **cr, afs_uint32 pagvalue, afs_uint32 *newpag,
! 		     int change_parent);
  #ifdef LINUX_KEYRING_SUPPORT
  extern struct key_type key_type_afs_pag;
  #endif /* LINUX_KEYRING_SUPPORT */
--- 91,97 ----
  extern void osi_keyring_init(void);
  extern void osi_keyring_shutdown(void);
  extern int __setpag(cred_t **cr, afs_uint32 pagvalue, afs_uint32 *newpag,
! 		    int change_parent);
  #ifdef LINUX_KEYRING_SUPPORT
  extern struct key_type key_type_afs_pag;
  #endif /* LINUX_KEYRING_SUPPORT */
Index: openafs/src/afs/LINUX/osi_vfsops.c
diff -c openafs/src/afs/LINUX/osi_vfsops.c:1.42.4.5 openafs/src/afs/LINUX/osi_vfsops.c:1.42.4.7
*** openafs/src/afs/LINUX/osi_vfsops.c:1.42.4.5	Fri Aug  4 11:56:34 2006
--- openafs/src/afs/LINUX/osi_vfsops.c	Sun Aug 13 12:54:51 2006
***************
*** 16,22 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_vfsops.c,v 1.42.4.5 2006/08/04 15:56:34 shadow Exp $");
  
  #define __NO_VERSION__		/* don't define kernel_version in module.h */
  #include <linux/module.h> /* early to avoid printf->printk mapping */
--- 16,22 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_vfsops.c,v 1.42.4.7 2006/08/13 16:54:51 shadow Exp $");
  
  #define __NO_VERSION__		/* don't define kernel_version in module.h */
  #include <linux/module.h> /* early to avoid printf->printk mapping */
***************
*** 350,372 ****
  #endif
  }
  
- /* afs_put_inode
-  * Linux version of inactive.  When refcount == 2, we are about to
-  * decrement to 1 and the only reference remaining should be for
-  * the VLRU
-  */
- 
- static void
- afs_put_inode(struct inode *ip)
- {
-     struct vcache *vcp = VTOAFS(ip);
- 
-     AFS_GLOCK();
-     if (VREFCOUNT(vcp) == 2) 
- 	afs_InactiveVCache(vcp, NULL);
-     AFS_GUNLOCK();
- }
- 
  /* afs_put_super
   * Called from unmount to release super_block. */
  static void
--- 350,355 ----
***************
*** 452,458 ****
    .destroy_inode =	afs_destroy_inode,
  #endif
    .clear_inode =	afs_clear_inode,
-   .put_inode =		afs_put_inode,
    .put_super =		afs_put_super,
    .statfs =		afs_statfs,
  #if !defined(AFS_LINUX24_ENV)
--- 435,440 ----
***************
*** 512,518 ****
--- 494,502 ----
      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: openafs/src/afs/LINUX/osi_vnodeops.c
diff -c openafs/src/afs/LINUX/osi_vnodeops.c:1.126.2.3 openafs/src/afs/LINUX/osi_vnodeops.c:1.126.2.4
*** openafs/src/afs/LINUX/osi_vnodeops.c:1.126.2.3	Mon Jul 31 17:27:39 2006
--- openafs/src/afs/LINUX/osi_vnodeops.c	Sun Aug 13 12:54:51 2006
***************
*** 22,28 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.126.2.3 2006/07/31 21:27:39 shadow Exp $");
  
  #include "afs/sysincludes.h"
  #include "afsincludes.h"
--- 22,28 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.126.2.4 2006/08/13 16:54:51 shadow Exp $");
  
  #include "afs/sysincludes.h"
  #include "afsincludes.h"
***************
*** 825,832 ****
      struct vcache *vcp = VTOAFS(ip);
  
      AFS_GLOCK();
!     if (vcp->states & CUnlinked)
! 	(void) afs_InactiveVCache(vcp, NULL);
      AFS_GUNLOCK();
  
      iput(ip);
--- 825,833 ----
      struct vcache *vcp = VTOAFS(ip);
  
      AFS_GLOCK();
!     ObtainWriteLock(&vcp->lock, 537);
!     (void) afs_InactiveVCache(vcp, NULL);
!     ReleaseWriteLock(&vcp->lock);
      AFS_GUNLOCK();
  
      iput(ip);
Index: openafs/src/bozo/bnode.c
diff -c openafs/src/bozo/bnode.c:1.19 openafs/src/bozo/bnode.c:1.19.2.1
*** openafs/src/bozo/bnode.c:1.19	Wed Feb  1 11:20:10 2006
--- openafs/src/bozo/bnode.c	Sun Aug 13 16:18:17 2006
***************
*** 11,17 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bozo/bnode.c,v 1.19 2006/02/01 16:20:10 shadow Exp $");
  
  #include <stddef.h>
  #include <stdlib.h>
--- 11,17 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/bozo/bnode.c,v 1.19.2.1 2006/08/13 20:18:17 shadow Exp $");
  
  #include <stddef.h>
  #include <stdlib.h>
***************
*** 738,744 ****
  
  #if defined(AFS_HPUX_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_SGI51_ENV)
  	ec = setsid();
! #elif defined(AFS_LINUX20_ENV) || defined(AFS_AIX_ENV)
  	ec = setpgrp();
  #else
  	ec = setpgrp(0, 0);
--- 738,746 ----
  
  #if defined(AFS_HPUX_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_SGI51_ENV)
  	ec = setsid();
! #elif defined(AFS_DARWIN90_ENV)
! 	ec = setpgid(0, 0);
! #elif defined(AFS_LINUX20_ENV) || defined(AFS_AIX_ENV) 
  	ec = setpgrp();
  #else
  	ec = setpgrp(0, 0);
Index: openafs/src/cf/linux-test1.m4
diff -c openafs/src/cf/linux-test1.m4:1.6.4.1 openafs/src/cf/linux-test1.m4:1.6.4.2
*** openafs/src/cf/linux-test1.m4:1.6.4.1	Fri Aug  4 11:45:33 2006
--- openafs/src/cf/linux-test1.m4	Sun Aug 13 12:48:13 2006
***************
*** 11,22 ****
--- 11,25 ----
  obj-m += conftest.o
  _ACEOF
      cat >conftest.c <<\_ACEOF
+ #include <linux/module.h>
  $1
  
  void conftest(void)
  { 
  $2
  } 
+ 
+ MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
  _ACEOF
      cd ..
    fi
Index: openafs/src/cf/linux-test4.m4
diff -c openafs/src/cf/linux-test4.m4:1.29.2.3 openafs/src/cf/linux-test4.m4:1.29.2.5
*** openafs/src/cf/linux-test4.m4:1.29.2.3	Fri Aug  4 11:57:54 2006
--- openafs/src/cf/linux-test4.m4	Sun Aug 13 12:48:13 2006
***************
*** 107,116 ****
    AC_MSG_CHECKING([for exported sys_chdir])
    AC_CACHE_VAL([ac_cv_linux_exports_sys_chdir], [
      AC_TRY_KBUILD(
! [#include <linux/modversions.h>],
! [#ifndef __ver_sys_chdir
! #error sys_chdir not exported
! #endif],
        ac_cv_linux_exports_sys_chdir=yes,
        ac_cv_linux_exports_sys_chdir=no)])
    AC_MSG_RESULT($ac_cv_linux_exports_sys_chdir)])
--- 107,115 ----
    AC_MSG_CHECKING([for exported sys_chdir])
    AC_CACHE_VAL([ac_cv_linux_exports_sys_chdir], [
      AC_TRY_KBUILD(
! [extern asmlinkage long sys_chdir(void) __attribute__((weak));],
! [void *address = &sys_chdir;
! printk("%p\n", address);],
        ac_cv_linux_exports_sys_chdir=yes,
        ac_cv_linux_exports_sys_chdir=no)])
    AC_MSG_RESULT($ac_cv_linux_exports_sys_chdir)])
***************
*** 120,147 ****
    AC_MSG_CHECKING([for exported sys_close])
    AC_CACHE_VAL([ac_cv_linux_exports_sys_close], [
      AC_TRY_KBUILD(
! [#include <linux/modversions.h>],
! [#ifndef __ver_sys_close
! #error sys_close not exported
! #endif],
        ac_cv_linux_exports_sys_close=yes,
        ac_cv_linux_exports_sys_close=no)])
    AC_MSG_RESULT($ac_cv_linux_exports_sys_close)])
  
  
  AC_DEFUN([LINUX_EXPORTS_SYS_WAIT4], [
    AC_MSG_CHECKING([for exported sys_wait4])
    AC_CACHE_VAL([ac_cv_linux_exports_sys_wait4], [
      AC_TRY_KBUILD(
! [#include <linux/modversions.h>],
! [#ifndef __ver_sys_wait4
! #error sys_wait4 not exported
! #endif],
        ac_cv_linux_exports_sys_wait4=yes,
        ac_cv_linux_exports_sys_wait4=no)])
    AC_MSG_RESULT($ac_cv_linux_exports_sys_wait4)])
  
  
  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], [
--- 119,167 ----
    AC_MSG_CHECKING([for exported sys_close])
    AC_CACHE_VAL([ac_cv_linux_exports_sys_close], [
      AC_TRY_KBUILD(
! [extern asmlinkage long sys_close(void) __attribute__((weak));],
! [void *address = &sys_close;
! printk("%p\n", address);],
        ac_cv_linux_exports_sys_close=yes,
        ac_cv_linux_exports_sys_close=no)])
    AC_MSG_RESULT($ac_cv_linux_exports_sys_close)])
  
  
+ AC_DEFUN([LINUX_EXPORTS_SYS_OPEN], [
+   AC_MSG_CHECKING([for exported sys_open])
+   AC_CACHE_VAL([ac_cv_linux_exports_sys_open], [
+     AC_TRY_KBUILD(
+ [extern asmlinkage long sys_open(void) __attribute__((weak));],
+ [void *address = &sys_open;
+ printk("%p\n", address);],
+       ac_cv_linux_exports_sys_open=yes,
+       ac_cv_linux_exports_sys_open=no)])
+   AC_MSG_RESULT($ac_cv_linux_exports_sys_open)])
+ 
+ 
  AC_DEFUN([LINUX_EXPORTS_SYS_WAIT4], [
    AC_MSG_CHECKING([for exported sys_wait4])
    AC_CACHE_VAL([ac_cv_linux_exports_sys_wait4], [
      AC_TRY_KBUILD(
! [extern asmlinkage long sys_wait4(void) __attribute__((weak));],
! [void *address = &sys_wait4;
! printk("%p\n", address);],
        ac_cv_linux_exports_sys_wait4=yes,
        ac_cv_linux_exports_sys_wait4=no)])
    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], [
Index: openafs/src/libafs/afs.ppc_darwin_70.plist.in
diff -c openafs/src/libafs/afs.ppc_darwin_70.plist.in:1.2.10.4 openafs/src/libafs/afs.ppc_darwin_70.plist.in:1.2.10.5
*** openafs/src/libafs/afs.ppc_darwin_70.plist.in:1.2.10.4	Thu Aug 10 13:00:33 2006
--- openafs/src/libafs/afs.ppc_darwin_70.plist.in	Thu Aug 17 09:21:24 2006
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.6</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.6</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kernel.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.7</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.7</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kernel.bsd</key>
Index: openafs/src/libafs/afs.ppc_darwin_80.plist.in
diff -c openafs/src/libafs/afs.ppc_darwin_80.plist.in:1.2.4.4 openafs/src/libafs/afs.ppc_darwin_80.plist.in:1.2.4.5
*** openafs/src/libafs/afs.ppc_darwin_80.plist.in:1.2.4.4	Thu Aug 10 13:00:33 2006
--- openafs/src/libafs/afs.ppc_darwin_80.plist.in	Thu Aug 17 09:21:24 2006
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.6</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.6</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.7</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.7</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
Index: openafs/src/libafs/afs.ppc_darwin_90.plist.in
diff -c openafs/src/libafs/afs.ppc_darwin_90.plist.in:1.1.6.4 openafs/src/libafs/afs.ppc_darwin_90.plist.in:1.1.6.5
*** openafs/src/libafs/afs.ppc_darwin_90.plist.in:1.1.6.4	Thu Aug 10 13:00:33 2006
--- openafs/src/libafs/afs.ppc_darwin_90.plist.in	Thu Aug 17 09:21:24 2006
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.6</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.6</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.7</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.7</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
Index: openafs/src/libafs/afs.x86_darwin_80.plist.in
diff -c openafs/src/libafs/afs.x86_darwin_80.plist.in:1.1.6.4 openafs/src/libafs/afs.x86_darwin_80.plist.in:1.1.6.5
*** openafs/src/libafs/afs.x86_darwin_80.plist.in:1.1.6.4	Thu Aug 10 13:00:34 2006
--- openafs/src/libafs/afs.x86_darwin_80.plist.in	Thu Aug 17 09:21:24 2006
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.6</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.6</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.7</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.7</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
Index: openafs/src/libafs/afs.x86_darwin_90.plist.in
diff -c openafs/src/libafs/afs.x86_darwin_90.plist.in:1.1.6.4 openafs/src/libafs/afs.x86_darwin_90.plist.in:1.1.6.5
*** openafs/src/libafs/afs.x86_darwin_90.plist.in:1.1.6.4	Thu Aug 10 13:00:34 2006
--- openafs/src/libafs/afs.x86_darwin_90.plist.in	Thu Aug 17 09:21:24 2006
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.6</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.6</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.7</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.5.7</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
Index: openafs/src/packaging/MacOS/OpenAFS.Info.plist
diff -c openafs/src/packaging/MacOS/OpenAFS.Info.plist:1.2.10.5 openafs/src/packaging/MacOS/OpenAFS.Info.plist:1.2.10.6
*** openafs/src/packaging/MacOS/OpenAFS.Info.plist:1.2.10.5	Thu Aug 10 13:00:34 2006
--- openafs/src/packaging/MacOS/OpenAFS.Info.plist	Thu Aug 17 09:21:26 2006
***************
*** 3,15 ****
  <plist version="1.0">
  <dict>
  	<key>CFBundleGetInfoString</key>
! 	<string>OpenAFS 1.5.6</string>
  	<key>CFBundleIdentifier</key>
  	<string>org.openafs.OpenAFS.pkg</string>
  	<key>CFBundleName</key>
  	<string>OpenAFS</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.6</string>
  	<key>IFMajorVersion</key>
  	<integer>1</integer>
  	<key>IFMinorVersion</key>
--- 3,15 ----
  <plist version="1.0">
  <dict>
  	<key>CFBundleGetInfoString</key>
! 	<string>OpenAFS 1.5.7</string>
  	<key>CFBundleIdentifier</key>
  	<string>org.openafs.OpenAFS.pkg</string>
  	<key>CFBundleName</key>
  	<string>OpenAFS</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.5.7</string>
  	<key>IFMajorVersion</key>
  	<integer>1</integer>
  	<key>IFMinorVersion</key>
Index: openafs/src/packaging/MacOS/OpenAFS.info
diff -c openafs/src/packaging/MacOS/OpenAFS.info:1.1.12.4 openafs/src/packaging/MacOS/OpenAFS.info:1.1.12.5
*** openafs/src/packaging/MacOS/OpenAFS.info:1.1.12.4	Thu Aug 10 13:00:34 2006
--- openafs/src/packaging/MacOS/OpenAFS.info	Thu Aug 17 09:21:26 2006
***************
*** 1,5 ****
  Title OpenAFS
! Version 1.5.6
  Description The OpenAFS distributed filesystem. This package installs an almost-ready-to-run client for OpenAFS. see http://www.openafs.org for more information.
  DefaultLocation /
  Diskname (null)
--- 1,5 ----
  Title OpenAFS
! Version 1.5.7
  Description The OpenAFS distributed filesystem. This package installs an almost-ready-to-run client for OpenAFS. see http://www.openafs.org for more information.
  DefaultLocation /
  Diskname (null)
Index: openafs/src/rx/rx.c
diff -c openafs/src/rx/rx.c:1.97.2.3 openafs/src/rx/rx.c:1.97.2.4
*** openafs/src/rx/rx.c:1.97.2.3	Sun Jul  2 21:06:45 2006
--- openafs/src/rx/rx.c	Sun Aug 13 12:43:28 2006
***************
*** 17,23 ****
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx.c,v 1.97.2.3 2006/07/03 01:06:45 jaltman Exp $");
  
  #ifdef KERNEL
  #include "afs/sysincludes.h"
--- 17,23 ----
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx.c,v 1.97.2.4 2006/08/13 16:43:28 shadow Exp $");
  
  #ifdef KERNEL
  #include "afs/sysincludes.h"
***************
*** 3771,3780 ****
  	 * be unable to accept packets of the size that prior AFS versions would
  	 * send without asking.  */
  	if (peer->maxMTU != tSize) {
  	    peer->maxMTU = tSize;
  	    peer->MTU = MIN(tSize, peer->MTU);
  	    call->MTU = MIN(call->MTU, tSize);
- 	    peer->congestSeq++;
  	}
  
  	if (np->length == rx_AckDataSize(ap->nAcks) + 3 * sizeof(afs_int32)) {
--- 3771,3781 ----
  	 * be unable to accept packets of the size that prior AFS versions would
  	 * send without asking.  */
  	if (peer->maxMTU != tSize) {
+ 	    if (peer->maxMTU > tSize) /* possible cong., maxMTU decreased */
+ 		peer->congestSeq++;
  	    peer->maxMTU = tSize;
  	    peer->MTU = MIN(tSize, peer->MTU);
  	    call->MTU = MIN(call->MTU, tSize);
  	}
  
  	if (np->length == rx_AckDataSize(ap->nAcks) + 3 * sizeof(afs_int32)) {
Index: openafs/src/rx/xdr_array.c
diff -c openafs/src/rx/xdr_array.c:1.12 openafs/src/rx/xdr_array.c:1.12.4.1
*** openafs/src/rx/xdr_array.c:1.12	Thu Dec 15 10:15:30 2005
--- openafs/src/rx/xdr_array.c	Sun Aug 13 16:18:17 2006
***************
*** 31,37 ****
  #include "rx.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/xdr_array.c,v 1.12 2005/12/15 15:15:30 jaltman Exp $");
  
  #ifndef	NeXT
  
--- 31,37 ----
  #include "rx.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/xdr_array.c,v 1.12.4.1 2006/08/13 20:18:17 shadow Exp $");
  
  #ifndef	NeXT
  
***************
*** 52,58 ****
--- 52,60 ----
  #define bzero(A,C) memset((A), 0, (C))
  #endif
  #else
+ #ifndef AFS_DARWIN90_ENV
  #include <sys/systm.h>
+ #endif
  #endif /* AFS_LINUX20_ENV */
  #else
  #include <stdio.h>
