Coda File System

Re: Venus Protocol

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Wed, 24 Oct 2001 16:30:27 -0400
On Wed, Oct 24, 2001 at 10:35:39AM -0700, Ayal Spitz wrote:
> Is there a document that describes the protocol used
> by Venus to communicate with Vice server? If so, could
> some on point it out. I am very interested in learning
> more about CODA and it inner workings.

My gues the closest would be Kistler's PhD Thesis

    Disconnected Operation in a Distributed File System

A link to which should be somewhere around the end of,

http://www-2.cs.cmu.edu/afs/cs/project/coda-www/ResearchWebPages/docs-coda.html

> would be very cool, if it existed, was a technical
> document that went step by step and described what
> happens from the point of a call by the OS for a file
> until the file is returned to the OS.

:) The only readable step-by-step document that describes that is the
actual sourcecode.

Roughly, the between the system call and the Coda kernel module it's all
handled by the OS's VFS layer. The Coda kernel module passed the call to
venus, which picks it up in worker.cc, from there is passes through
vproc_vfscalls.cc, which grabs the objects by using functions in
venusvol.cc and fsoX.cc, When any affected object is not cached, or
stale, they are refetched from the server here. Then the requested
operation on the objects is performed using functions that can be found
in fso_cfscallsX.cc.

Most of the other code in venus is for dealing with users/server
connections, managing the state of cached object/hoard walks,
local-global repair sessions, and keeping track of/optimizing the
reintegration logs.

Jan
Received on 2001-10-24 16:30:30