viced_syscall(afs_uint32 a3, afs_uint32 a4, void *a5)
{
afs_uint32 rcode;
+#ifndef AFS_LINUX20_ENV
void (*old) (int);
-#ifndef AFS_LINUX20_ENV
old = (void (*)(int))signal(SIGSYS, SIG_IGN);
#endif
rcode = syscall(AFS_SYSCALL, 28 /* AFSCALL_CALL */ , a3, a4, a5);
("With %d directory buffers; %d reads resulted in %d read I/Os\n",
dirbuff, dircall, dirio));
rx_PrintStats(stderr);
+ audit_PrintStats(stderr);
h_PrintStats();
PrintCallBackStats();
#ifdef AFS_NT40_ENV
fputs("Usage: fileserver ", stdout);
fputs("[-auditlog <log path>] ", stdout);
+ fputs("[-audit-interface <file|sysvmq> (default is file)] ", stdout);
fputs("[-d <debug level>] ", stdout);
fputs("[-p <number of processes>] ", stdout);
fputs("[-spare <number of spare blocks>] ", stdout);
int Sawbusy = 0;
int i;
int bufSize = 0; /* temp variable to read in udp socket buf size */
+ char *auditFileName = NULL;
for (i = 1; i < argc; i++) {
if (!strcmp(argv[i], "-d")) {
rx_enableProcessRPCStats();
}
else if (strcmp(argv[i], "-auditlog") == 0) {
- char *fileName = argv[++i];
+ auditFileName = argv[++i];
+ }
+ else if (strcmp(argv[i], "-audit-interface") == 0) {
+ char *interface = argv[++i];
- osi_audit_file(fileName);
+ if (osi_audit_interface(interface)) {
+ printf("Invalid audit interface '%s'\n", interface);
+ return -1;
+ }
}
#ifndef AFS_NT40_ENV
else if (strcmp(argv[i], "-syslog") == 0) {
}
if (!Sawbusy)
busy_threshold = 3 * rxpackets / 2;
+ if (auditFileName)
+ osi_audit_file(auditFileName);
return (0);