RX: Avoid timing out non-kernel busy channels
[openafs.git] / src / afs / afs_pag_call.c
index cdb4c45..1a11ebf 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Copyright 2000, International Business Machines Corporation and others.
  * All Rights Reserved.
- * 
+ *
  * This software has been released under the terms of the IBM Public
  * License.  For details, see the LICENSE file in the top-level source
  * directory or online at http://www.openafs.org/dl/license10.html
@@ -21,7 +21,7 @@
 #ifdef AFS_SGI62_ENV
 #include "h/hashing.h"
 #endif
-#if !defined(AFS_HPUX110_ENV) && !defined(AFS_DARWIN60_ENV)
+#if !defined(AFS_HPUX110_ENV) && !defined(AFS_DARWIN_ENV)
 #include "netinet/in_var.h"
 #endif
 #endif /* !defined(UKERNEL) */
@@ -52,7 +52,8 @@ int afs_sysnamegen = 0;
 afs_int32 afs_showflags = GAGUSER | GAGCONSOLE; /* show all messages */
 
 
-void afs_Daemon(void)
+void
+afs_Daemon(void)
 {
     afs_int32 now, last10MinCheck, last60MinCheck;
 
@@ -87,7 +88,8 @@ void afs_Daemon(void)
 }
 
 
-void afspag_Init(afs_int32 nfs_server_addr)
+void
+afspag_Init(afs_int32 nfs_server_addr)
 {
     struct clientcred ccred;
     struct rmtbulk idata, odata;
@@ -99,6 +101,7 @@ void afspag_Init(afs_int32 nfs_server_addr)
     AFS_GLOCK();
 
     afs_InitStats();
+    rx_SetBusyChannelError(RX_CALL_TIMEOUT);
     rx_Init(htons(7001));
 
     AFS_STATCNT(afs_ResourceInit);
@@ -106,15 +109,13 @@ void afspag_Init(afs_int32 nfs_server_addr)
     AFS_RWLOCK_INIT(&afs_xpagcell, "afs_xpagcell");
     AFS_RWLOCK_INIT(&afs_xpagsys, "afs_xpagsys");
     AFS_RWLOCK_INIT(&afs_icl_lock, "afs_icl_lock");
-#ifndef AFS_FBSD_ENV
-    LOCK_INIT(&osi_fsplock, "osi_fsplock");
-    LOCK_INIT(&osi_flplock, "osi_flplock");
-#endif
 
     afs_resourceinit_flag = 1;
     afs_nfs_server_addr = nfs_server_addr;
-    for (i = 0; i < MAXNUMSYSNAMES; i++)
+    for (i = 0; i < MAXNUMSYSNAMES; i++) {
        afs_sysnamelist[i] = afs_osi_Alloc(MAXSYSNAME);
+        osi_Assert(afs_sysnamelist[i] != NULL);
+    }
     afs_sysname = afs_sysnamelist[0];
     strcpy(afs_sysname, SYS_NAME);
     afs_sysnamecount = 1;
@@ -158,7 +159,8 @@ void afspag_Init(afs_int32 nfs_server_addr)
 
 
 /* called with the GLOCK held */
-void afspag_Shutdown(void)
+void
+afspag_Shutdown(void)
 {
     if (afs_shuttingdown)
        return;
@@ -190,7 +192,8 @@ void afspag_Shutdown(void)
 #endif
 }
 
-static void token_conversion(char *buffer, int buf_size, int in)
+static void
+token_conversion(char *buffer, int buf_size, int in)
 {
     struct ClearToken *ticket;
     afs_int32 *lptr, n;
@@ -248,7 +251,8 @@ static void token_conversion(char *buffer, int buf_size, int in)
     return;
 }
 
-static void FetchVolumeStatus_conversion(char *buffer, int buf_size, int in)
+static void
+FetchVolumeStatus_conversion(char *buffer, int buf_size, int in)
 {
     AFSFetchVolumeStatus *status = (AFSFetchVolumeStatus *)buffer;
 
@@ -275,7 +279,8 @@ static void FetchVolumeStatus_conversion(char *buffer, int buf_size, int in)
     }
 }
 
-static void inparam_conversion(int cmd, char *buffer, int buf_size, int in)
+static void
+inparam_conversion(int cmd, char *buffer, int buf_size, int in)
 {
     afs_int32 *lptr = (afs_int32 *)buffer;
 
@@ -318,7 +323,8 @@ static void inparam_conversion(int cmd, char *buffer, int buf_size, int in)
     }
 }
 
-static void outparam_conversion(int cmd, char *buffer, int buf_size, int in)
+static void
+outparam_conversion(int cmd, char *buffer, int buf_size, int in)
 {
     afs_int32 *lptr = (afs_int32 *)buffer;
     int i;