Coda File System

Re: Why does venus need the process group id ?

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Mon, 15 May 2006 18:28:10 -0400
On Mon, May 15, 2006 at 05:37:01PM -0400, Christer Bernérus wrote:
> The open and close upcalls from the kernel to venus seems to want the  
> process group ID to be given from the kernel.
> Why does venus want the process group of the calling process ?

That is for the application specific resolver mechanism (ASR).

The idea is that when the client detects a conflict it starts a helper
process which tries to resolve the conflict. In the mean time it blocks
the original (and any other requests) to the volume that is being
repaired.

So venus uses the process group id to identify which upcalls are related
to the ASR process and which are not, so that it can block normal users
while letting the ASR fork off helper processes and such to assist in
resolving the conflict.

If the conflict is successfully repaired by the ASR, the original
request that discovered the conflict is allowed to complete. So ideally
the user never even notices that there was a problem (except for the
obvious delay).

Jan
Received on 2006-05-15 18:29:13