Coda File System

Re: more race conditions (in venus 5.3.15) ?

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Wed, 28 Nov 2001 13:26:38 -0500
On Sun, Nov 25, 2001 at 07:22:16PM +0100, Ivan Popov wrote:
> I see that tar makes the following:
> 
> open("name", O_CREAT|O_WRONLY...., 0)
> unlink("name")
> symlink("....","name")

Is there no 'close' for the open filedescriptor? Coda has some special
case handling for so-called 'virgin files' i.e. open files that haven't
been closed (only create, but no store operation has been done). Also
I'm not sure how we handle unlinking files that still have an open file
reference in all cases. My guess is that only some 'delete_me' flag is
set, but the directory entry might still exist on the server or
something.

> A 486 client seems to be a good testbed for race condition testing.
> Or should I rather shut up and upgrade my hardware?
> I am afraid the race will show up anyway, once in a million... when you
> are running your life's most important application... :)

Slow machine, it could very well be a slight difference in semantics
between connected and write-disconnected operation. 

Jan
Received on 2001-11-28 13:26:41