]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
fstrace-linux-proc-20050113
authorChas Williams <chas@cmf.nrl.navy.mil>
Fri, 14 Jan 2005 17:31:31 +0000 (17:31 +0000)
committerDerrick Brashear <shadow@dementia.org>
Fri, 14 Jan 2005 17:31:31 +0000 (17:31 +0000)
FIXES 17240

support /proc interface

src/venus/fstrace.c

index 4af380100ba2d12c2f28918e0e1390ee9da019c9..4d95081b743194cb7f98b0b67e0141a5e8e9b31f 100644 (file)
@@ -2115,7 +2115,7 @@ icl_TailKernel(outFilep, logname, waitTime)
 afs_syscall(call, parm0, parm1, parm2, parm3, parm4, parm5, parm6)
      long call, parm0, parm1, parm2, parm3, parm4, parm5, parm6;
 {
-    int code;
+    int code, rval;
 #ifdef AFS_LINUX20_ENV
 #if defined AFS_LINUX_64BIT_KERNEL
     long long eparm[4];
@@ -2133,9 +2133,13 @@ afs_syscall(call, parm0, parm1, parm2, parm3, parm4, parm5, parm6)
 #endif
     /* Linux can only handle 5 arguments in the actual syscall. */
     if (call == AFSCALL_ICL) {
-       code = syscall(AFS_SYSCALL, call, parm0, parm1, parm2, eparm);
+       rval = proc_afs_syscall(call, parm0, parm1, parm2, eparm, &code);
+       if (rval)
+           code = syscall(AFS_SYSCALL, call, parm0, parm1, parm2, eparm);
     } else {
-       code = syscall(AFS_SYSCALL, call, parm0, parm1, parm2, parm3);
+       rval = proc_afs_syscall(call, parm0, parm1, parm2, parm3, &code);
+       if (rval)
+           code = syscall(AFS_SYSCALL, call, parm0, parm1, parm2, parm3);
     }
 #if defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_SPARC_LINUX20_ENV)
     /* on sparc this function returns none value, so do it myself */