Index: openafs/src/WINNT/afsd/cm_utils.c
diff -c openafs/src/WINNT/afsd/cm_utils.c:1.5.14.7 openafs/src/WINNT/afsd/cm_utils.c:1.5.14.8
*** openafs/src/WINNT/afsd/cm_utils.c:1.5.14.7	Sat Jun  3 13:57:12 2006
--- openafs/src/WINNT/afsd/cm_utils.c	Thu Feb 15 01:00:32 2007
***************
*** 288,293 ****
--- 288,295 ----
          return error;
      }
  
+     error = et_to_sys_error(error);
+ 
      if (error < 0) 
          error = CM_ERROR_TIMEDOUT;
      else if (error == 30) 
***************
*** 308,331 ****
  
  long cm_MapVLRPCError(long error, cm_req_t *reqp)
  {
! 	if (error == 0) return 0;
  
! 	/* If we had to stop retrying, report our saved error code. */
! 	if (reqp && error == CM_ERROR_TIMEDOUT) {
! 		if (reqp->accessError)
! 			return reqp->accessError;
! 		if (reqp->volumeError)
! 			return reqp->volumeError;
! 		if (reqp->rpcError)
! 			return reqp->rpcError;
! 		return error;
! 	}
! 
! 	if (error < 0) 
!             error = CM_ERROR_TIMEDOUT;
! 	else if (error == VL_NOENT) 
!             error = CM_ERROR_NOSUCHVOLUME;
  	return error;
  }
  
  cm_space_t *cm_GetSpace(void)
--- 310,335 ----
  
  long cm_MapVLRPCError(long error, cm_req_t *reqp)
  {
!     if (error == 0) return 0;
  
!     /* If we had to stop retrying, report our saved error code. */
!     if (reqp && error == CM_ERROR_TIMEDOUT) {
! 	if (reqp->accessError)
! 	    return reqp->accessError;
! 	if (reqp->volumeError)
! 	    return reqp->volumeError;
! 	if (reqp->rpcError)
! 	    return reqp->rpcError;
  	return error;
+     }
+ 
+     error = et_to_sys_error(error);
+ 
+     if (error < 0) 
+ 	error = CM_ERROR_TIMEDOUT;
+     else if (error == VL_NOENT) 
+ 	error = CM_ERROR_NOSUCHVOLUME;
+     return error;
  }
  
  cm_space_t *cm_GetSpace(void)
Index: openafs/src/WINNT/afsd/lanahelper.cpp
diff -c openafs/src/WINNT/afsd/lanahelper.cpp:1.8.2.3 openafs/src/WINNT/afsd/lanahelper.cpp:1.8.2.6
*** openafs/src/WINNT/afsd/lanahelper.cpp:1.8.2.3	Fri Mar 11 13:17:34 2005
--- openafs/src/WINNT/afsd/lanahelper.cpp	Tue Feb 27 19:39:55 2007
***************
*** 59,65 ****
--- 59,67 ----
  static const char *szNetbiosNameValue = "NetbiosName";
  static const char *szIsGatewayValue = "IsGateway";
  static const char *szLanAdapterValue = "LanAdapter";
+ #ifdef USE_FINDLANABYNAME
  static const char *szNoFindLanaByName = "NoFindLanaByName";
+ #endif
  static const char *szForceLanaLoopback = "ForceLanaLoopback";
  
  // Use the IShellFolder API to get the connection name for the given Guid.
***************
*** 515,621 ****
  //      LANA_NETBIOS_NAME_FULL : Return full netbios name
  extern "C" long lana_GetUncServerNameEx(char *buffer, lana_number_t * pLana, int * pIsGateway, int flags) {
      HKEY hkConfig;
! 	DWORD dummyLen;
! 	LONG rv;
! 	int regLana;
! 	int regGateway, regNoFindLanaByName;
! 	TCHAR regNbName[MAX_NB_NAME_LENGTH];
! 	TCHAR nbName[MAX_NB_NAME_LENGTH];
! 	TCHAR hostname[MAX_COMPUTERNAME_LENGTH+1];
! 
! 	rv = RegOpenKeyEx(HKEY_LOCAL_MACHINE,AFSREG_CLT_SVC_PARAM_SUBKEY,0,KEY_READ,&hkConfig);
! 	if(rv == ERROR_SUCCESS) {
! 		if(!(flags & LANA_NETBIOS_NAME_IN) || !pLana) {
! 			dummyLen = sizeof(regLana);
! 			rv = RegQueryValueEx(hkConfig, szLanAdapterValue, NULL, NULL, (LPBYTE) &regLana, &dummyLen);
! 			if(rv != ERROR_SUCCESS) regLana = -1;
! 		} else
! 			regLana = *pLana;
! 
! 		if(!(flags & LANA_NETBIOS_NAME_IN) || !pIsGateway) {
! 			dummyLen = sizeof(regGateway);
! 			rv = RegQueryValueEx(hkConfig, szIsGatewayValue, NULL, NULL, (LPBYTE) &regGateway, &dummyLen);
! 			if(rv != ERROR_SUCCESS) regGateway = 0;
! 		} else
! 			regGateway = *pIsGateway;
! 
! 		dummyLen = sizeof(regNoFindLanaByName);
! 		rv = RegQueryValueEx(hkConfig, szNoFindLanaByName, NULL, NULL, (LPBYTE) &regNoFindLanaByName, &dummyLen);
! 		if(rv != ERROR_SUCCESS) regNoFindLanaByName = 0;
! 
! 		// Do not care if the call fails for insufficient buffer size.  We are not interested
! 		// in netbios names over 15 chars.
! 		dummyLen = sizeof(regNbName);
! 		rv = RegQueryValueEx(hkConfig, szNetbiosNameValue, NULL, NULL, (LPBYTE) &regNbName, &dummyLen);
! 		if(rv != ERROR_SUCCESS) regNbName[0] = 0;
! 		else regNbName[15] = 0;
  
! 		RegCloseKey(hkConfig);
  	} else {
! 		if(flags & LANA_NETBIOS_NAME_IN) {
! 			regLana = (pLana)? *pLana: -1;
! 			regGateway = (pIsGateway)? *pIsGateway: 0;
! 		} else {
! 			regLana = -1;
! 			regGateway = 0;
! 		}
!         regNoFindLanaByName = 0;
! 		regNbName[0] = 0;
  	}
  
      if(regLana < 0 || regLana > MAX_LANA) 
          regLana = -1;
  
! 	if(regLana == -1) {
! 		LANAINFO *lanaInfo = NULL;
          int nLana = LANA_INVALID;
  
          if (!regNoFindLanaByName)
              lanaInfo = lana_FindLanaByName("AFS");
! 		if(lanaInfo != NULL) {
              nLana = lanaInfo[0].lana_number;
! 			free(lanaInfo);
! 		} else
! 			nLana = LANA_INVALID;
! 
! 		if(nLana == LANA_INVALID && !regGateway) {
! 			nLana = lana_FindLoopback();
! 		}
! 		if(nLana != LANA_INVALID) 
!             regLana = nLana;
  	}
  
! 	if(regNbName[0] &&
!        (regLana >=0 && lana_IsLoopback((lana_number_t) regLana))) {
          strncpy(nbName,regNbName,15);
          nbName[16] = 0;
          strupr(nbName);
! 	} else {
! 		char * dot;
  
! 		if(flags & LANA_NETBIOS_NAME_SUFFIX) {
! 			strcpy(nbName,"-AFS");
! 		} else {
! 			dummyLen = sizeof(hostname);
! 			// assume we are not a cluster.
! 			rv = GetComputerName(hostname, &dummyLen);
! 			if(!SUCCEEDED(rv)) { // should not happen, but...
! 				return rv;
! 			}
! 			strncpy(nbName, hostname, 11);
! 			nbName[11] = 0;
! 			if(dot = strchr(nbName,'.'))
! 				*dot = 0;
! 			strcat(nbName,"-AFS");
! 		}
  	}
  
! 	if(pLana) *pLana = regLana;
! 	if(pIsGateway) *pIsGateway = regGateway;
  
! 	strcpy(buffer, nbName);
  
! 	return ERROR_SUCCESS;
  }
  
  extern "C" void lana_GetUncServerNameDynamic(int lanaNumber, BOOL isGateway, TCHAR *name, int type) {
--- 517,639 ----
  //      LANA_NETBIOS_NAME_FULL : Return full netbios name
  extern "C" long lana_GetUncServerNameEx(char *buffer, lana_number_t * pLana, int * pIsGateway, int flags) {
      HKEY hkConfig;
!     DWORD dummyLen;
!     LONG rv;
!     int regLana;
!     int regGateway;
! #ifdef USE_FINDLANABYNAME
!     int regNoFindLanaByName;
! #endif
!     TCHAR regNbName[MAX_NB_NAME_LENGTH] = "AFS";
!     TCHAR nbName[MAX_NB_NAME_LENGTH];
!     TCHAR hostname[MAX_COMPUTERNAME_LENGTH+1];
! 
!     rv = RegOpenKeyEx(HKEY_LOCAL_MACHINE,AFSREG_CLT_SVC_PARAM_SUBKEY,0,KEY_READ,&hkConfig);
!     if(rv == ERROR_SUCCESS) {
! 	if(!(flags & LANA_NETBIOS_NAME_IN) || !pLana) {
! 	    dummyLen = sizeof(regLana);
! 	    rv = RegQueryValueEx(hkConfig, szLanAdapterValue, NULL, NULL, (LPBYTE) &regLana, &dummyLen);
! 	    if(rv != ERROR_SUCCESS) 
! 		regLana = -1;
! 	} else
! 	    regLana = *pLana;
  
! 	if(!(flags & LANA_NETBIOS_NAME_IN) || !pIsGateway) {
! 	    dummyLen = sizeof(regGateway);
! 	    rv = RegQueryValueEx(hkConfig, szIsGatewayValue, NULL, NULL, (LPBYTE) &regGateway, &dummyLen);
! 	    if(rv != ERROR_SUCCESS)
! 		regGateway = 0;
! 	} else
! 	    regGateway = *pIsGateway;
! 
! #ifdef USE_FINDLANABYNAME
! 	dummyLen = sizeof(regNoFindLanaByName);
! 	rv = RegQueryValueEx(hkConfig, szNoFindLanaByName, NULL, NULL, (LPBYTE) &regNoFindLanaByName, &dummyLen);
! 	if(rv != ERROR_SUCCESS) 
! 	    regNoFindLanaByName = 0;
! #endif
! 	// Do not care if the call fails for insufficient buffer size.  We are not interested
! 	// in netbios names over 15 chars.
! 	dummyLen = sizeof(regNbName);
! 	rv = RegQueryValueEx(hkConfig, szNetbiosNameValue, NULL, NULL, (LPBYTE) &regNbName, &dummyLen);
! 	if(rv != ERROR_SUCCESS)
! 	    strcpy(regNbName, "AFS");
! 	else 
! 	    regNbName[15] = 0;
! 
! 	RegCloseKey(hkConfig);
!     } else {
! 	if(flags & LANA_NETBIOS_NAME_IN) {
! 	    regLana = (pLana)? *pLana: -1;
! 	    regGateway = (pIsGateway)? *pIsGateway: 0;
  	} else {
! 	    regLana = -1;
! 	    regGateway = 0;
  	}
+ #ifdef USE_FINDLANABYNAME
+         regNoFindLanaByName = 0;
+ #endif
+ 	strcpy(regNbName, "AFS");
+     }
  
      if(regLana < 0 || regLana > MAX_LANA) 
          regLana = -1;
  
!     if(regLana == -1) {
! 	LANAINFO *lanaInfo = NULL;
          int nLana = LANA_INVALID;
  
+ #ifdef USE_FINDLANABYNAME
          if (!regNoFindLanaByName)
              lanaInfo = lana_FindLanaByName("AFS");
! #endif
! 	if(lanaInfo != NULL) {
              nLana = lanaInfo[0].lana_number;
! 	    free(lanaInfo);
! 	} else
! 	    nLana = LANA_INVALID;
! 
! 	if(nLana == LANA_INVALID && !regGateway) {
! 	    nLana = lana_FindLoopback();
  	}
+ 	if(nLana != LANA_INVALID) 
+             regLana = nLana;
+ 	}	
  
!     if(regNbName[0] &&
! 	(regLana >=0 && lana_IsLoopback((lana_number_t) regLana))) 
!     {
          strncpy(nbName,regNbName,15);
          nbName[16] = 0;
          strupr(nbName);
!     } else {
! 	char * dot;
  
! 	if(flags & LANA_NETBIOS_NAME_SUFFIX) {
! 	    strcpy(nbName,"-AFS");
! 	} else {
! 	    dummyLen = sizeof(hostname);
! 	    // assume we are not a cluster.
! 	    rv = GetComputerName(hostname, &dummyLen);
! 	    if(!SUCCEEDED(rv)) { // should not happen, but...
! 		return rv;
! 	    }
! 	    strncpy(nbName, hostname, 11);
! 	    nbName[11] = 0;
! 	    if(dot = strchr(nbName,'.'))
! 		*dot = 0;
! 	    strcat(nbName,"-AFS");
  	}
+     }
  
!     if(pLana) 
! 	*pLana = regLana;
!     if(pIsGateway)
! 	*pIsGateway = regGateway;
  
!     strcpy(buffer, nbName);
  
!     return ERROR_SUCCESS;
  }
  
  extern "C" void lana_GetUncServerNameDynamic(int lanaNumber, BOOL isGateway, TCHAR *name, int type) {
***************
*** 656,664 ****
  
  extern "C" void lana_GetNetbiosName(LPTSTR pszName, int type)
  {
! 	HKEY hkCfg;
      TCHAR name[MAX_NB_NAME_LENGTH];
! 	DWORD dummyLen;
  
      memset(name, 0, sizeof(name));
      if (GetVersion() >= 0x80000000) // not WindowsNT
--- 674,682 ----
  
  extern "C" void lana_GetNetbiosName(LPTSTR pszName, int type)
  {
!     HKEY hkCfg;
      TCHAR name[MAX_NB_NAME_LENGTH];
!     DWORD dummyLen;
  
      memset(name, 0, sizeof(name));
      if (GetVersion() >= 0x80000000) // not WindowsNT
***************
*** 669,680 ****
              return;
          }
  
! 		if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,AFSREG_CLT_SVC_PARAM_SUBKEY,0,KEY_READ,&hkCfg) == ERROR_SUCCESS) {
! 			dummyLen = sizeof(name);
! 			if(RegQueryValueEx(hkCfg,TEXT("Gateway"),NULL,NULL,(LPBYTE) name,&dummyLen) == ERROR_SUCCESS)
! 				name[0] = _T('\0');
! 			RegCloseKey(hkCfg);
! 		}
  
          if (_tcslen(name) == 0)
          {
--- 687,698 ----
              return;
          }
  
! 	if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,AFSREG_CLT_SVC_PARAM_SUBKEY,0,KEY_READ,&hkCfg) == ERROR_SUCCESS) {
! 	    dummyLen = sizeof(name);
! 	    if(RegQueryValueEx(hkCfg,TEXT("Gateway"),NULL,NULL,(LPBYTE) name,&dummyLen) == ERROR_SUCCESS)
! 		name[0] = _T('\0');
! 	    RegCloseKey(hkCfg);
! 	}
  
          if (_tcslen(name) == 0)
          {
***************
*** 682,694 ****
              return;
          }
  
! 		_tcscpy(pszName, name);
          _tcscat(pszName, TEXT("-afs"));
          return;
      }
  
      lana_GetUncServerName(name,type);
! 	_tcslwr(name);
      _tcscpy(pszName, name);
      return;
  }
--- 700,712 ----
              return;
          }
  
! 	_tcscpy(pszName, name);
          _tcscat(pszName, TEXT("-afs"));
          return;
      }
  
      lana_GetUncServerName(name,type);
!     _tcslwr(name);
      _tcscpy(pszName, name);
      return;
  }
Index: openafs/src/afs/afs_conn.c
diff -c openafs/src/afs/afs_conn.c:1.13.2.1 openafs/src/afs/afs_conn.c:1.13.2.2
*** openafs/src/afs/afs_conn.c:1.13.2.1	Tue Dec  7 01:12:11 2004
--- openafs/src/afs/afs_conn.c	Mon Feb 26 17:18:28 2007
***************
*** 14,20 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_conn.c,v 1.13.2.1 2004/12/07 06:12:11 shadow Exp $");
  
  #include "afs/stds.h"
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
--- 14,20 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/afs_conn.c,v 1.13.2.2 2007/02/26 22:18:28 shadow Exp $");
  
  #include "afs/stds.h"
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
***************
*** 339,352 ****
      if (!sap)
  	return;			/* defensive check */
  
-     /* if client is not multihomed, do nothing */
-     ObtainReadLock(&afs_xinterface);
-     if (afs_cb_interface.numberOfInterfaces <= 1) {
- 	ReleaseReadLock(&afs_xinterface);
- 	return;
-     }
-     ReleaseReadLock(&afs_xinterface);
- 
      ObtainWriteLock(&afs_xconn, 413);
      for (tc = sap->conns; tc; tc = tc->next)
  	tc->forceConnectFS = 1;
--- 339,344 ----
Index: openafs/src/afs/DARWIN/osi_vnodeops.c
diff -c openafs/src/afs/DARWIN/osi_vnodeops.c:1.18.2.20 openafs/src/afs/DARWIN/osi_vnodeops.c:1.18.2.21
*** openafs/src/afs/DARWIN/osi_vnodeops.c:1.18.2.20	Thu Mar  2 01:36:33 2006
--- openafs/src/afs/DARWIN/osi_vnodeops.c	Wed Feb 14 19:29:51 2007
***************
*** 5,11 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/DARWIN/osi_vnodeops.c,v 1.18.2.20 2006/03/02 06:36:33 shadow Exp $");
  
  #include <afs/sysincludes.h>	/* Standard vendor system headers */
  #include <afsincludes.h>	/* Afs-based standard headers */
--- 5,11 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/DARWIN/osi_vnodeops.c,v 1.18.2.21 2007/02/15 00:29:51 shadow Exp $");
  
  #include <afs/sysincludes.h>	/* Standard vendor system headers */
  #include <afsincludes.h>	/* Afs-based standard headers */
***************
*** 354,359 ****
--- 354,360 ----
      }
  #ifdef AFS_DARWIN80_ENV
      if ((error=afs_darwin_finalizevnode(vcp, ap->a_dvp, ap->a_cnp, 0))) {
+ 	DROPNAME();
  	*ap->a_vpp = 0;
  	return error;
      }
***************
*** 438,445 ****
      if (vcp) {
  #ifdef AFS_DARWIN80_ENV
          if ((error=afs_darwin_finalizevnode(vcp, ap->a_dvp, ap->a_cnp, 0))) {
!              *ap->a_vpp=0;
!              return error;
          }
  #endif
  	*ap->a_vpp = AFSTOV(vcp);
--- 439,447 ----
      if (vcp) {
  #ifdef AFS_DARWIN80_ENV
          if ((error=afs_darwin_finalizevnode(vcp, ap->a_dvp, ap->a_cnp, 0))) {
! 	    DROPNAME();
! 	    *ap->a_vpp=0;
! 	    return error;
          }
  #endif
  	*ap->a_vpp = AFSTOV(vcp);
Index: openafs/src/afs/LINUX/osi_sysctl.c
diff -c openafs/src/afs/LINUX/osi_sysctl.c:1.7.2.3 openafs/src/afs/LINUX/osi_sysctl.c:1.7.2.4
*** openafs/src/afs/LINUX/osi_sysctl.c:1.7.2.3	Thu Nov  9 18:14:29 2006
--- openafs/src/afs/LINUX/osi_sysctl.c	Thu Feb 22 16:49:01 2007
***************
*** 1,7 ****
  /*
   * osi_sysctl.c: Linux sysctl interface to OpenAFS
   *
!  * $Id: osi_sysctl.c,v 1.7.2.3 2006/11/09 23:14:29 shadow Exp $
   *
   * Written Jan 30, 2002 by Kris Van Hees (Sine Nomine Associates)
   */
--- 1,7 ----
  /*
   * osi_sysctl.c: Linux sysctl interface to OpenAFS
   *
!  * $Id: osi_sysctl.c,v 1.7.2.4 2007/02/22 21:49:01 shadow Exp $
   *
   * Written Jan 30, 2002 by Kris Van Hees (Sine Nomine Associates)
   */
***************
*** 62,68 ****
--- 62,72 ----
  int
  osi_sysctl_init()
  {
+ #if defined(REGISTER_SYSCTL_TABLE_NOFLAG)
+     afs_sysctl = register_sysctl_table(fs_sysctl_table);
+ #else
      afs_sysctl = register_sysctl_table(fs_sysctl_table, 0);
+ #endif
      if (!afs_sysctl)
  	return -1;
  
Index: openafs/src/afs/LINUX/osi_vnodeops.c
diff -c openafs/src/afs/LINUX/osi_vnodeops.c:1.81.2.50 openafs/src/afs/LINUX/osi_vnodeops.c:1.81.2.51
*** openafs/src/afs/LINUX/osi_vnodeops.c:1.81.2.50	Thu Feb  8 20:38:17 2007
--- openafs/src/afs/LINUX/osi_vnodeops.c	Tue Feb 20 13:06:24 2007
***************
*** 22,28 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.81.2.50 2007/02/09 01:38:17 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.81.2.51 2007/02/20 18:06:24 shadow Exp $");
  
  #include "afs/sysincludes.h"
  #include "afsincludes.h"
***************
*** 998,1003 ****
--- 998,1004 ----
  #if defined(AFS_LINUX26_ENV)
  		unlock_kernel();
  #endif
+ 		crfree(credp);
  		return alias;
  	    }
  	}
Index: openafs/src/afs/VNOPS/afs_vnop_flock.c
diff -c openafs/src/afs/VNOPS/afs_vnop_flock.c:1.24.2.8 openafs/src/afs/VNOPS/afs_vnop_flock.c:1.24.2.9
*** openafs/src/afs/VNOPS/afs_vnop_flock.c:1.24.2.8	Mon Feb 12 20:36:11 2007
--- openafs/src/afs/VNOPS/afs_vnop_flock.c	Wed Feb 14 19:36:32 2007
***************
*** 16,22 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_flock.c,v 1.24.2.8 2007/02/13 01:36:11 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
--- 16,22 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_flock.c,v 1.24.2.9 2007/02/15 00:36:32 shadow Exp $");
  
  #include "afs/sysincludes.h"	/* Standard vendor system headers */
  #include "afsincludes.h"	/* Afs-based standard headers */
***************
*** 26,31 ****
--- 26,35 ----
  #include "afs/afs_osidnlc.h"
  #include "afs/unified_afs.h"
  
+ #ifndef OFFSET_MAX
+ #define OFFSET_MAX 0x7fffffffffffffff
+ #endif
+ 
  /* Static prototypes */
  static int HandleGetLock(register struct vcache *avc,
  			 register struct AFS_FLOCK *af,
***************
*** 549,555 ****
  #endif
      /* Java VMs ask for l_len=(long)-1 regardless of OS/CPU; bottom 32 bits
       * sometimes get masked off by OS */
!     if ((af->l_len >> 32) == 0x7fffffff)
  	af->l_len = 0;
      /* next line makes byte range locks always succeed,
       * even when they should block */
--- 553,559 ----
  #endif
      /* Java VMs ask for l_len=(long)-1 regardless of OS/CPU; bottom 32 bits
       * sometimes get masked off by OS */
!     if (af->l_len == OFFSET_MAX-1)
  	af->l_len = 0;
      /* next line makes byte range locks always succeed,
       * even when they should block */
Index: openafs/src/cf/linux-test4.m4
diff -c openafs/src/cf/linux-test4.m4:1.20.2.27 openafs/src/cf/linux-test4.m4:1.20.2.29
*** openafs/src/cf/linux-test4.m4:1.20.2.27	Thu Feb  8 20:30:33 2007
--- openafs/src/cf/linux-test4.m4	Mon Feb 26 12:53:33 2007
***************
*** 6,11 ****
--- 6,12 ----
  #include <linux/sched.h>],
  [
  extern rwlock_t tasklist_lock __attribute__((weak)); 
+ read_lock(&tasklist_lock);
  ],
        ac_cv_linux_exports_tasklist_lock=yes,
        ac_cv_linux_exports_tasklist_lock=no)])
***************
*** 798,800 ****
--- 799,813 ----
        ac_cv_linux_fs_struct_fop_has_flock=yes,
        ac_cv_linux_fs_struct_fop_has_flock=no)])
    AC_MSG_RESULT($ac_cv_linux_fs_struct_fop_has_flock)])
+ 
+ AC_DEFUN([LINUX_REGISTER_SYSCTL_TABLE_NOFLAG], [
+   AC_MSG_CHECKING([whether register_sysctl_table has an insert_at_head flag argument])
+   AC_CACHE_VAL([ac_cv_linux_register_sysctl_table_noflag], [
+     AC_TRY_KBUILD(
+ [#include <linux/sysctl.h>],
+ [ctl_table *t;
+ register_sysctl_table (t);],
+       ac_cv_linux_register_sysctl_table_noflag=yes,
+       ac_cv_linux_register_sysctl_table_noflag=no)])
+   AC_MSG_RESULT($ac_cv_linux_register_sysctl_table_noflag)])
+ 
Index: openafs/src/config/NTMakefile.amd64_w2k
diff -c openafs/src/config/NTMakefile.amd64_w2k:1.1.2.46 openafs/src/config/NTMakefile.amd64_w2k:1.1.2.47
*** openafs/src/config/NTMakefile.amd64_w2k:1.1.2.46	Tue Feb 13 13:23:48 2007
--- openafs/src/config/NTMakefile.amd64_w2k	Mon Feb 26 13:29:01 2007
***************
*** 80,86 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=4
! AFSPRODUCT_VER_PATCH=301
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
--- 80,86 ----
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=4
! AFSPRODUCT_VER_PATCH=302
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
Index: openafs/src/config/NTMakefile.i386_nt40
diff -c openafs/src/config/NTMakefile.i386_nt40:1.46.2.61 openafs/src/config/NTMakefile.i386_nt40:1.46.2.62
*** openafs/src/config/NTMakefile.i386_nt40:1.46.2.61	Tue Feb 13 13:23:48 2007
--- openafs/src/config/NTMakefile.i386_nt40	Mon Feb 26 13:29:01 2007
***************
*** 80,86 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=4
! AFSPRODUCT_VER_PATCH=301
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
--- 80,86 ----
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=4
! AFSPRODUCT_VER_PATCH=302
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
Index: openafs/src/config/NTMakefile.i386_w2k
diff -c openafs/src/config/NTMakefile.i386_w2k:1.1.2.48 openafs/src/config/NTMakefile.i386_w2k:1.1.2.49
*** openafs/src/config/NTMakefile.i386_w2k:1.1.2.48	Tue Feb 13 13:23:48 2007
--- openafs/src/config/NTMakefile.i386_w2k	Mon Feb 26 13:29:01 2007
***************
*** 80,86 ****
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=4
! AFSPRODUCT_VER_PATCH=301
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
--- 80,86 ----
  #define used in WinNT/2000 installation and program version display
  AFSPRODUCT_VER_MAJOR=1
  AFSPRODUCT_VER_MINOR=4
! AFSPRODUCT_VER_PATCH=302
  AFSPRODUCT_VER_BUILD=0
  
  AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH)
Index: openafs/src/config/libafsdep
diff -c openafs/src/config/libafsdep:1.1.2.1 openafs/src/config/libafsdep:1.1.2.2
*** openafs/src/config/libafsdep:1.1.2.1	Mon Dec 18 23:21:47 2006
--- openafs/src/config/libafsdep	Wed Feb 14 18:58:04 2007
***************
*** 1,4 ****
  make_vnode.pl
  Makefile.config.in
! Makefile.version.in
  afsconfig.h.in
--- 1,4 ----
  make_vnode.pl
  Makefile.config.in
! Makefile.version-NOCML.in
  afsconfig.h.in
Index: openafs/src/libafs/afs.ppc_darwin_70.plist.in
diff -c openafs/src/libafs/afs.ppc_darwin_70.plist.in:1.2.2.18 openafs/src/libafs/afs.ppc_darwin_70.plist.in:1.2.2.19
*** openafs/src/libafs/afs.ppc_darwin_70.plist.in:1.2.2.18	Mon Feb 12 20:49:35 2007
--- openafs/src/libafs/afs.ppc_darwin_70.plist.in	Mon Feb 26 13:28:57 2007
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.3fc2</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.3fc2</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kernel.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.3fc3</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.3fc3</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.1.2.13 openafs/src/libafs/afs.ppc_darwin_80.plist.in:1.1.2.14
*** openafs/src/libafs/afs.ppc_darwin_80.plist.in:1.1.2.13	Mon Feb 12 20:49:35 2007
--- openafs/src/libafs/afs.ppc_darwin_80.plist.in	Mon Feb 26 13:28:57 2007
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.3fc2</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.3fc2</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.3fc3</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.3fc3</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.2.12 openafs/src/libafs/afs.ppc_darwin_90.plist.in:1.1.2.13
*** openafs/src/libafs/afs.ppc_darwin_90.plist.in:1.1.2.12	Mon Feb 12 20:49:35 2007
--- openafs/src/libafs/afs.ppc_darwin_90.plist.in	Mon Feb 26 13:28:57 2007
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.3fc2</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.3fc2</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.3fc3</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.3fc3</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.2.12 openafs/src/libafs/afs.x86_darwin_80.plist.in:1.1.2.13
*** openafs/src/libafs/afs.x86_darwin_80.plist.in:1.1.2.12	Mon Feb 12 20:49:35 2007
--- openafs/src/libafs/afs.x86_darwin_80.plist.in	Mon Feb 26 13:28:57 2007
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.3fc2</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.3fc2</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.3fc3</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.3fc3</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.2.12 openafs/src/libafs/afs.x86_darwin_90.plist.in:1.1.2.13
*** openafs/src/libafs/afs.x86_darwin_90.plist.in:1.1.2.12	Mon Feb 12 20:49:35 2007
--- openafs/src/libafs/afs.x86_darwin_90.plist.in	Mon Feb 26 13:28:57 2007
***************
*** 15,25 ****
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.3fc2</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.3fc2</string>
  	<key>OSBundleLibraries</key>
  	<dict>
  		<key>com.apple.kpi.bsd</key>
--- 15,25 ----
  	<key>CFBundlePackageType</key>
  	<string>KEXT</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.3fc3</string>
  	<key>CFBundleSignature</key>
  	<string>????</string>
  	<key>CFBundleVersion</key>
! 	<string>1.4.3fc3</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.2.28 openafs/src/packaging/MacOS/OpenAFS.Info.plist:1.2.2.29
*** openafs/src/packaging/MacOS/OpenAFS.Info.plist:1.2.2.28	Mon Feb 12 20:49:35 2007
--- openafs/src/packaging/MacOS/OpenAFS.Info.plist	Mon Feb 26 13:29:00 2007
***************
*** 3,15 ****
  <plist version="1.0">
  <dict>
  	<key>CFBundleGetInfoString</key>
! 	<string>OpenAFS 1.4.3fc2</string>
  	<key>CFBundleIdentifier</key>
  	<string>org.openafs.OpenAFS.pkg</string>
  	<key>CFBundleName</key>
  	<string>OpenAFS</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.3fc2</string>
  	<key>IFMajorVersion</key>
  	<integer>1</integer>
  	<key>IFMinorVersion</key>
--- 3,15 ----
  <plist version="1.0">
  <dict>
  	<key>CFBundleGetInfoString</key>
! 	<string>OpenAFS 1.4.3fc3</string>
  	<key>CFBundleIdentifier</key>
  	<string>org.openafs.OpenAFS.pkg</string>
  	<key>CFBundleName</key>
  	<string>OpenAFS</string>
  	<key>CFBundleShortVersionString</key>
! 	<string>1.4.3fc3</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.4.41 openafs/src/packaging/MacOS/OpenAFS.info:1.1.4.42
*** openafs/src/packaging/MacOS/OpenAFS.info:1.1.4.41	Mon Feb 12 20:49:35 2007
--- openafs/src/packaging/MacOS/OpenAFS.info	Mon Feb 26 13:29:00 2007
***************
*** 1,5 ****
  Title OpenAFS
! Version 1.4.3fc2
  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.4.3fc3
  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.58.2.35 openafs/src/rx/rx.c:1.58.2.36
*** openafs/src/rx/rx.c:1.58.2.35	Sun Aug 13 12:41:54 2006
--- openafs/src/rx/rx.c	Thu Feb 15 12:11:40 2007
***************
*** 17,23 ****
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx.c,v 1.58.2.35 2006/08/13 16:41:54 shadow Exp $");
  
  #ifdef KERNEL
  #include "afs/sysincludes.h"
--- 17,23 ----
  #endif
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/rx.c,v 1.58.2.36 2007/02/15 17:11:40 shadow Exp $");
  
  #ifdef KERNEL
  #include "afs/sysincludes.h"
***************
*** 6215,6231 ****
  	      void *outputData, size_t outputLength)
  {
      static afs_int32 counter = 100;
!     afs_int32 endTime;
      struct rx_header theader;
      char tbuffer[1500];
      register afs_int32 code;
!     struct timeval tv;
      struct sockaddr_in taddr, faddr;
      int faddrLen;
      fd_set imask;
      register char *tp;
  
!     endTime = time(0) + 20;	/* try for 20 seconds */
      LOCK_RX_DEBUG;
      counter++;
      UNLOCK_RX_DEBUG;
--- 6215,6234 ----
  	      void *outputData, size_t outputLength)
  {
      static afs_int32 counter = 100;
!     afs_int32 waitTime, waitCount;
!     afs_int32 startTime, endTime;
      struct rx_header theader;
      char tbuffer[1500];
      register afs_int32 code;
!     struct timeval tv_now, tv_wake, tv_delta;
      struct sockaddr_in taddr, faddr;
      int faddrLen;
      fd_set imask;
      register char *tp;
  
!     startTime = time(0);
!     waitTime = 1;
!     waitCount = 5;
      LOCK_RX_DEBUG;
      counter++;
      UNLOCK_RX_DEBUG;
***************
*** 6254,6282 ****
  		   (struct sockaddr *)&taddr, sizeof(struct sockaddr_in));
  
  	/* see if there's a packet available */
! 	FD_ZERO(&imask);
! 	FD_SET(socket, &imask);
! 	tv.tv_sec = 1;
! 	tv.tv_usec = 0;
! 	code = select(socket + 1, &imask, 0, 0, &tv);
! 	if (code == 1 && FD_ISSET(socket, &imask)) {
! 	    /* now receive a packet */
! 	    faddrLen = sizeof(struct sockaddr_in);
! 	    code =
! 		recvfrom(socket, tbuffer, sizeof(tbuffer), 0,
! 			 (struct sockaddr *)&faddr, &faddrLen);
! 
! 	    if (code > 0) {
! 		memcpy(&theader, tbuffer, sizeof(struct rx_header));
! 		if (counter == ntohl(theader.callNumber))
! 		    break;
  	    }
  	}
  
  	/* see if we've timed out */
! 	if (endTime < time(0))
  	    return -1;
      }
      code -= sizeof(struct rx_header);
      if (code > outputLength)
  	code = outputLength;
--- 6257,6310 ----
  		   (struct sockaddr *)&taddr, sizeof(struct sockaddr_in));
  
  	/* see if there's a packet available */
! 	gettimeofday(&tv_wake,0);
! 	tv_wake.tv_sec += waitTime;
! 	for (;;) {
! 	    FD_ZERO(&imask);
! 	    FD_SET(socket, &imask);
! 	    tv_delta.tv_sec = tv_wake.tv_sec;
! 	    tv_delta.tv_usec = tv_wake.tv_usec;
! 	    gettimeofday(&tv_now, 0);
! 
! 	    if (tv_delta.tv_usec < tv_now.tv_usec) {
! 		/* borrow */
! 		tv_delta.tv_usec += 1000000;
! 		tv_delta.tv_sec--;
! 	    }
! 	    tv_delta.tv_usec -= tv_now.tv_usec;
! 
! 	    if (tv_delta.tv_sec < tv_now.tv_sec) {
! 		/* time expired */
! 		break;
! 	    }
! 	    tv_delta.tv_sec -= tv_now.tv_sec;
! 
! 	    code = select(socket + 1, &imask, 0, 0, &tv_delta);
! 	    if (code == 1 && FD_ISSET(socket, &imask)) {
! 		/* now receive a packet */
! 		faddrLen = sizeof(struct sockaddr_in);
! 		code =
! 		    recvfrom(socket, tbuffer, sizeof(tbuffer), 0,
! 			     (struct sockaddr *)&faddr, &faddrLen);
! 
! 		if (code > 0) {
! 		    memcpy(&theader, tbuffer, sizeof(struct rx_header));
! 		    if (counter == ntohl(theader.callNumber))
! 			goto success;
! 		    continue;
! 		}
  	    }
+ 	    break;
  	}
  
  	/* see if we've timed out */
! 	if (!--waitCount) {
  	    return -1;
+ 	}
+ 	waitTime <<= 1;
      }
+ 
+ success:
      code -= sizeof(struct rx_header);
      if (code > outputLength)
  	code = outputLength;
Index: openafs/src/rx/LINUX/rx_knet.c
diff -c openafs/src/rx/LINUX/rx_knet.c:1.23.2.11 openafs/src/rx/LINUX/rx_knet.c:1.23.2.12
*** openafs/src/rx/LINUX/rx_knet.c:1.23.2.11	Thu Dec 28 16:32:09 2006
--- openafs/src/rx/LINUX/rx_knet.c	Mon Feb 26 12:59:21 2007
***************
*** 16,22 ****
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/LINUX/rx_knet.c,v 1.23.2.11 2006/12/28 21:32:09 shadow Exp $");
  
  #include <linux/version.h>
  #ifdef AFS_LINUX22_ENV
--- 16,22 ----
  #include "afs/param.h"
  
  RCSID
!     ("$Header: /cvs/openafs/src/rx/LINUX/rx_knet.c,v 1.23.2.12 2007/02/26 17:59:21 shadow Exp $");
  
  #include <linux/version.h>
  #ifdef AFS_LINUX22_ENV
***************
*** 204,227 ****
--- 204,237 ----
  
      return code;
  }
+ #ifdef EXPORTED_TASKLIST_LOCK
  extern rwlock_t tasklist_lock __attribute__((weak));
+ #endif
  void
  osi_StopListener(void)
  {
      struct task_struct *listener;
      extern int rxk_ListenerPid;
  
+ #ifdef EXPORTED_TASKLIST_LOCK
      if (&tasklist_lock)
        read_lock(&tasklist_lock);
+ #endif
  #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
+ #ifdef EXPORTED_TASKLIST_LOCK
      else
+ #endif
        rcu_read_lock();
  #endif
      listener = find_task_by_pid(rxk_ListenerPid);
+ #ifdef EXPORTED_TASKLIST_LOCK
      if (&tasklist_lock)
         read_unlock(&tasklist_lock);
+ #endif
  #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
+ #ifdef EXPORTED_TASKLIST_LOCK
      else
+ #endif
        rcu_read_unlock();
  #endif
      while (rxk_ListenerPid) {
Index: openafs/src/viced/afsfileprocs.c
diff -c openafs/src/viced/afsfileprocs.c:1.81.2.37 openafs/src/viced/afsfileprocs.c:1.81.2.39
*** openafs/src/viced/afsfileprocs.c:1.81.2.37	Mon Sep 25 22:13:17 2006
--- openafs/src/viced/afsfileprocs.c	Mon Feb 26 13:52:48 2007
***************
*** 29,35 ****
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.81.2.37 2006/09/26 02:13:17 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>
--- 29,35 ----
  #include <afs/param.h>
  
  RCSID
!     ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.81.2.39 2007/02/26 18:52:48 shadow Exp $");
  
  #include <stdio.h>
  #include <stdlib.h>
***************
*** 7481,7486 ****
--- 7481,7488 ----
      sys2et[EDQUOT] = UAEDQUOT;
      sys2et[ENOMEDIUM] = UAENOMEDIUM;
      sys2et[EMEDIUMTYPE] = UAEMEDIUMTYPE;
+ 
+     sys2et[EIO] = UAEIO;
  }
  
  /* NOTE:  2006-03-01
