Coda File System

venus problem?

From: Greg Troxel <gdt_at_ir.bbn.com>
Date: Sat, 28 Oct 2000 09:40:30 -0400
With venus sources from yesterday (I think), I found venus wedged in
an apparent tight loop (R, with tons of cpu time).  gdb showed it to
be in KillMgrps; it seemed that mgrpents had both prev and next 0.  I
really don't know what I'm doing here, but I put in the following and
I'll see what happens.  Perhaps some more asserts are needed.

This seems to have something to with tokens
expiring - it happened on my coda server, through whose venus I backup
stuff using amanda/gnutar after amanda acquires tokens.

Index: venusvol.cc
===================================================================
RCS file: /coda-src/coda/coda-src/venus/venusvol.cc,v
retrieving revision 4.60
diff -u -r4.60 venusvol.cc
--- venusvol.cc	2000/10/25 11:57:46	4.60
+++ venusvol.cc	2000/10/28 13:36:56
@@ -1808,6 +1808,10 @@
     LOG(10, ("repvol::KillMgrps volume = %x\n", vid));
 
     for (p = mgrpents.next; p != &mgrpents;) {
+      if ( p == NULL ) {
+	LOG(0, ("repvol::KillMgrps null pointer"));
+	break;
+      }
         mgrpent *m = list_entry(p, mgrpent, volhandle);
         p = m->volhandle.next;
         m->Suicide(1);
Received on 2000-10-28 09:56:52