viced: fix typo in help for option -unsafe-nosalvage
[openafs.git] / src / viced / viced.c
index 03bf032..e301eb9 100644 (file)
@@ -312,7 +312,18 @@ fs_IsLocalRealmMatch(void *rock, char *name, char *inst, char *cell)
     return islocal;
 }
 
-#ifndef AFS_NT40_ENV
+#if defined(AFS_NT40_ENV)
+/* no viced_syscall */
+#elif defined(AFS_DARWIN160_ENV)
+/* no viced_syscall */
+#elif !defined(AFS_SYSCALL)
+int
+viced_syscall(afs_uint32 a3, afs_uint32 a4, void *a5)
+{
+    errno = ENOSYS;
+    return -1;
+}
+#else
 int
 viced_syscall(afs_uint32 a3, afs_uint32 a4, void *a5)
 {
@@ -429,8 +440,10 @@ FiveMinuteCheckLWP(void *unused)
     opr_cv_broadcast(&fs_state.worker_done_cv);
     FS_UNLOCK;
     FS_STATE_UNLOCK;
-#endif
     return NULL;
+#else
+    AFS_UNREACHED(return(NULL));
+#endif
 }                              /*FiveMinuteCheckLWP */
 
 
@@ -477,8 +490,10 @@ HostCheckLWP(void *unused)
     opr_cv_broadcast(&fs_state.worker_done_cv);
     FS_UNLOCK;
     FS_STATE_UNLOCK;
-#endif
     return NULL;
+#else
+    AFS_UNREACHED(return(NULL));
+#endif
 }                              /*HostCheckLWP */
 
 /* This LWP does fsync checks every 5 minutes:  it should not be used for
@@ -536,8 +551,10 @@ FsyncCheckLWP(void *unused)
     opr_cv_broadcast(&fs_state.worker_done_cv);
     FS_UNLOCK;
     FS_STATE_UNLOCK;
-#endif /* AFS_DEMAND_ATTACH_FS */
     return NULL;
+#else
+    AFS_UNREACHED(return(NULL));
+#endif /* !AFS_DEMAND_ATTACH_FS */
 }
 
 /*------------------------------------------------------------------------
@@ -847,7 +864,6 @@ ParseRights(char *arights)
  * AIX:         sysconf() limit is real
  * HP-UX:       sysconf() limit is real
  * IRIX:        sysconf() limit is apparently NOT real -- too small
- * DUX:         sysconf() limit is apparently NOT real -- too big
  * Linux:       sysconf() limit is apparently NOT real -- too big
  * Solaris:     no sysconf() limit
  */
@@ -927,7 +943,8 @@ enum optionsList {
     OPT_udpsize,
     OPT_dotted,
     OPT_realm,
-    OPT_sync
+    OPT_sync,
+    OPT_transarc_logs
 };
 
 static int
@@ -1022,6 +1039,9 @@ ParseArgs(int argc, char *argv[])
     cmd_AddParmAtOffset(opts, OPT_vhandle_initial_cachesize,
                        "-vhandle-initial-cachesize", CMD_SINGLE,
                        CMD_OPTIONAL, "# fds reserved for cache IO");
+    cmd_AddParmAtOffset(opts, OPT_vhashsize, "-vhashsize",
+                       CMD_SINGLE, CMD_OPTIONAL,
+                       "log(2) of # of volume hash buckets");
 
 #ifdef AFS_DEMAND_ATTACH_FS
     /* dafs options */
@@ -1033,27 +1053,24 @@ ParseArgs(int argc, char *argv[])
                        "disable state restore during startup");
     cmd_AddParmAtOffset(opts, OPT_fs_state_verify, "-fs-state-verify",
                        CMD_SINGLE, CMD_OPTIONAL, "none|save|restore|both");
-    cmd_AddParmAtOffset(opts, OPT_vhashsize, "-vhashsize",
-                       CMD_SINGLE, CMD_OPTIONAL,
-                       "log(2) of # of volume hash buckets");
     cmd_AddParmAtOffset(opts, OPT_vlrudisable, "-vlrudisable",
                        CMD_FLAG, CMD_OPTIONAL, "disable VLRU functionality");
     cmd_AddParmAtOffset(opts, OPT_vlruthresh, "-vlruthresh",
-                       CMD_FLAG, CMD_OPTIONAL,
+                       CMD_SINGLE, CMD_OPTIONAL,
                        "mins before unused vols become eligible for detach");
     cmd_AddParmAtOffset(opts, OPT_vlruinterval, "-vlruinterval",
-                       CMD_FLAG, CMD_OPTIONAL, "secs between VLRU scans");
-    cmd_AddParmAtOffset(opts, OPT_vlrumax, "-vlrumax", CMD_FLAG, CMD_OPTIONAL,
+                       CMD_SINGLE, CMD_OPTIONAL, "secs between VLRU scans");
+    cmd_AddParmAtOffset(opts, OPT_vlrumax, "-vlrumax", CMD_SINGLE, CMD_OPTIONAL,
                        "max volumes to detach in one scan");
     cmd_AddParmAtOffset(opts, OPT_unsafe_nosalvage, "-unsafe-nosalvage",
                        CMD_FLAG, CMD_OPTIONAL,
-                       "bybass safety checks on volume attach");
+                       "bypass safety checks on volume attach");
 #endif
 
     /* unrecommend options - should perhaps be CMD_HIDE */
     cmd_AddParmAtOffset(opts, OPT_cbwait, "-w", CMD_SINGLE, CMD_OPTIONAL,
                        "callback wait interval");
-    cmd_AddParmAtOffset(opts, OPT_novbc, "-novbc", CMD_SINGLE, CMD_FLAG,
+    cmd_AddParmAtOffset(opts, OPT_novbc, "-novbc", CMD_FLAG, CMD_OPTIONAL,
                        "disable callback breaks on reattach");
 
     /* general options */
@@ -1065,6 +1082,8 @@ ParseArgs(int argc, char *argv[])
                        "debug level");
     cmd_AddParmAtOffset(opts, OPT_mrafslogs, "-mrafslogs", CMD_FLAG,
                        CMD_OPTIONAL, "enable MRAFS style logging");
+    cmd_AddParmAtOffset(opts, OPT_transarc_logs, "-transarc-logs", CMD_FLAG,
+                       CMD_OPTIONAL, "enable Transarc style logging");
     cmd_AddParmAtOffset(opts, OPT_threads, "-p", CMD_SINGLE, CMD_OPTIONAL,
                        "number of threads");
 #ifdef HAVE_SYSLOG
@@ -1248,6 +1267,13 @@ ParseArgs(int argc, char *argv[])
            return -1;
        }
     }
+    if (cmd_OptionAsInt(opts, OPT_vhashsize, &optval) == 0) {
+       if (VSetVolHashSize(optval)) {
+           fprintf(stderr, "specified -vhashsize (%d) is invalid or out "
+                           "of range\n", optval);
+           return -1;
+       }
+    }
 
 #ifdef AFS_DEMAND_ATTACH_FS
     if (cmd_OptionPresent(opts, OPT_fs_state_dont_save))
@@ -1269,13 +1295,6 @@ ParseArgs(int argc, char *argv[])
            return -1;
        }
     }
-    if (cmd_OptionAsInt(opts, OPT_vhashsize, &optval) == 0) {
-       if (VSetVolHashSize(optval)) {
-           fprintf(stderr, "specified -vhashsize (%d) is invalid or out "
-                           "of range\n", optval);
-           return -1;
-       }
-    }
     if (cmd_OptionPresent(opts, OPT_vlrudisable))
        VLRU_SetOptions(VLRU_SET_ENABLED, 0);
     if (cmd_OptionAsInt(opts, OPT_vlruthresh, &optval) == 0)
@@ -1317,6 +1336,10 @@ ParseArgs(int argc, char *argv[])
            fprintf(stderr, "Invalid options: -syslog and -logfile are exclusive.\n");
            return -1;
        }
+       if (cmd_OptionPresent(opts, OPT_transarc_logs)) {
+           fprintf(stderr, "Invalid options: -syslog and -transarc-logs are exclusive.\n");
+           return -1;
+       }
        if (cmd_OptionPresent(opts, OPT_mrafslogs)) {
            fprintf(stderr, "Invalid options: -syslog and -mrafslogs are exclusive.\n");
            return -1;
@@ -1330,18 +1353,26 @@ ParseArgs(int argc, char *argv[])
 #endif
     {
        logopts.lopt_dest = logDest_file;
-       logopts.lopt_rotateOnOpen = 1;
-       logopts.lopt_rotateStyle = logRotate_old;
+
+       if (cmd_OptionPresent(opts, OPT_transarc_logs)) {
+           if (cmd_OptionPresent(opts, OPT_mrafslogs)) {
+               fprintf(stderr,
+                       "Invalid options: -transarc-logs and -mrafslogs are exclusive.\n");
+               return -1;
+           }
+           logopts.lopt_rotateOnOpen = 1;
+           logopts.lopt_rotateStyle = logRotate_old;
+       } else if (cmd_OptionPresent(opts, OPT_mrafslogs)) {
+           logopts.lopt_rotateOnOpen = 1;
+           logopts.lopt_rotateOnReset = 1;
+           logopts.lopt_rotateStyle = logRotate_timestamp;
+       }
 
        if (cmd_OptionPresent(opts, OPT_logfile))
            cmd_OptionAsString(opts, OPT_logfile, (char**)&logopts.lopt_filename);
        else
            logopts.lopt_filename = AFSDIR_SERVER_FILELOG_FILEPATH;
 
-       if (cmd_OptionPresent(opts, OPT_mrafslogs)) {
-           logopts.lopt_rotateOnReset = 1;
-           logopts.lopt_rotateStyle = logRotate_timestamp;
-       }
     }
     cmd_OptionAsInt(opts, OPT_debug, &logopts.lopt_logLevel);
 
@@ -1805,6 +1836,7 @@ main(int argc, char *argv[])
     int curLimit;
     time_t t;
     struct tm tm;
+    char hoststr[16];
     afs_uint32 rx_bindhost;
     VolumePackageOptions opts;
 
@@ -1881,8 +1913,9 @@ main(int argc, char *argv[])
     if (SawLock)
        plock(PROCLOCK);
 #elif !defined(AFS_NT40_ENV)
-    if (nice(-5) < 0)
-       ; /* don't care */
+    if (nice(-5) < 0) {
+       /* don't care */
+    }
 #endif
     DInit(buffs);
 #ifdef AFS_DEMAND_ATTACH_FS
@@ -1948,7 +1981,7 @@ main(int argc, char *argv[])
     acl_Initialize(ACL_VERSION);
 
     /* initialize RX support */
-#ifndef AFS_NT40_ENV
+#if !defined(AFS_NT40_ENV) && !defined(AFS_DARWIN160_ENV)
     rxi_syscallp = viced_syscall;
 #endif
     rx_extraPackets = rxpackets;
@@ -1972,6 +2005,8 @@ main(int argc, char *argv[])
        rx_SetUdpBufSize(udpBufSize);   /* set the UDP buffer size for receive */
     rx_bindhost = SetupVL();
 
+    ViceLog(0, ("File server binding rx to %s:%d\n",
+            afs_inet_ntoa_r(rx_bindhost, hoststr), 7000));
     if (rx_InitHost(rx_bindhost, (int)htons(7000)) < 0) {
        ViceLog(0, ("Cannot initialize RX\n"));
        exit(1);
@@ -2170,7 +2205,6 @@ main(int argc, char *argv[])
     if (!he) {
        ViceLog(0, ("Can't find address for FileServer '%s'\n", FS_HostName));
     } else {
-       char hoststr[16];
        memcpy(&FS_HostAddr_NBO, he->h_addr, 4);
        (void)afs_inet_ntoa_r(FS_HostAddr_NBO, hoststr);
        FS_HostAddr_HBO = ntohl(FS_HostAddr_NBO);
@@ -2187,5 +2221,5 @@ main(int argc, char *argv[])
     while (1) {
        sleep(1000);            /* long time */
     }
-    return 0;
+    AFS_UNREACHED(return(0));
 }