Coda File System

Re: Behaviour of coda with large files

From: Martin Ginkel <martin_ginkel_at_web.de>
Date: Sun, 05 Mar 2006 21:12:00 +0100
Dear Jan,

I found the place, where my server hangs in Lock (???)
for the problem I described in the last problem report.
All packets sent by client and server get through without
problem. (I flood-pinged the link for 30min with no loss)

IMHO the symptom comes from srvproc2.cc:615

    SLog(1, "ViceGetTime for user %s at %s:%d on conn %d.",
         client->UserName, inet_ntoa(client->VenusId->host),
         ntohs(client->VenusId->port), RPCid);
    
    if (!errorCode && client) {
      SLog(1, "ViceGetTime before lock");
      /* we need a lock, because we cannot do concurrent RPC2 calls on
       * the same connection */
      ObtainWriteLock(&client->VenusId->lock);
      SLog(1, "ViceGetTime after lock");

As long as my vice/venus are playing reintegration with backfetch,
the ViceGetTime call from venus via cfs cs will not get through this
point. Venus will beleave in a disconnected server then.
Do you have any clue for me, what puts the long duration
WriteLock during reintegrate?

    CU
    Martin
Received on 2006-03-05 15:15:46