[OpenAFS-devel] Breaking callbacks on unlink

chas williams - CONTRACTOR chas@cmf.nrl.navy.mil
Tue, 28 Feb 2012 10:05:38 -0500


i would do it slightly differently.  on the first unlink the file would
be silly renamed by the fileserver (and break callbacks on the parent
directory so clients can't easily get a new reference).  put the file
in the unlink queue.  if a callback comes in for the file, reset the
unlink timer for this file each time.

this should get posix-like behavior without too much extra effort.
yes, the posix behavior does have the potential of using space without
being easily noticed.  it is a trade off.

On Sun, 26 Feb 2012 18:59:54 -0600
Troy Benjegerdes <hozer@hozed.org> wrote:

> I have in mind now a modification to the fileserver to add an
> 'unlink queue' that has some sort of sane default limits on number
> of entries and time in the queue that would give a 15 minute to 
> 1 hour residence time on an average fileserver.
> 
> This gives the following benefits:
> 
> 1) performance improvements by defering unlink vicep updates, and
> allow many updates to be batched at once
> 
> 2) an 'omg I deleted all my files by accident' recovery mechanism
> for users (I suppose this could be implemented by allowing the user
> to request that all files still in the unlink queue be moved into
> the .backup volume)
> 
> 3) predictable behavior for clients, which could choose to cache
> the entire file once they notice an unlink.
> 
> 
> Does this require any new RPCs for functional correctness? (I
> can see the potential for at least 1 new one for performance)
> 
> On Sat, Feb 25, 2012 at 08:36:53PM -0500, Matt W. Benjamin wrote:
> > Hi,
> > 
> > I missed this on first reading.  Obviously, the semantics of a promise to callback cannot be interpreted as a license to poll.  I did not imply it.
> > 
> > Regards,
> > 
> > Matt
> > 
> > ----- "Simon Wilkinson" <simonxwilkinson@gmail.com> wrote:
> > > You'd also require that a client
> > > constantly refresh callbacks for any files which it has open, which
> > > has potential fileserver performance implications.
> > > 
> > 
> _______________________________________________
> OpenAFS-devel mailing list
> OpenAFS-devel@openafs.org
> https://lists.openafs.org/mailman/listinfo/openafs-devel
>