Subject: Re: union fs changes
To: Kenneth Stailey <kstailey@leidecker.gsfc.nasa.gov>
From: Dennis Ferguson <dennis@mci.net>
List: tech-kern
Date: 12/30/1994 20:23:57
>>> You could have successive undelete(2) calls.  First one zaps the
>>> whiteout, the second restores the file.
>>
>>I'm not really knowledgable on this, but wouldn't the removal of
>>the whiteout imply the restoration of the file?  I was under the
>
> No, because the whiteout'd file can subsequently be unlinked(2) see
> below.

I agree more with the guy you are responding to.  Ignoring "whiteout"s
for a minute, I think a system call called undelete(2) should either
un-delete something or return an error.  Anything else seems broken.

> Lower layer is NFS, upper UFS.
> Whiteout the file on the client.
> Remove the file on the server.

At which point the whiteout(s) on the client should disappear (leaving aside
the fact that this might be hard or impossible to implement) since it is
whiting out nothing.  Otherwise you end up with an undelete(2) system call
which executes successfully (by deleting the whiteout) but doesn't un-delete
anything since there was nothing under the whiteout.

Dennis Ferguson