On Tue, 2005-09-27 at 13:11 -0400, Charles P. Wright wrote:

> Shaya,
> 
> I've entered this as BUG418.
> 
> The putmaps map the branch number for a past generation to the current
> generation.  This is required so that we can accurately keep track of
> which branches are in use (so that we can put them, hence the name
> putmap).
> 
> How the code is structured is that on entry to every function that
> updates the generation number, a new putmap is created.  It initially
> maps the branches using an identity function (i.e. 1 is 1, 2 is 2 etc.).
> 
> While updating the branch configuration, we update this most recent
> putmap (e.g., shifting it in either direction for insertions and
> removals).  After updating this putmap, we then fix up the remaining
> putmaps using the new one as a guide, so that they all map what branch N
> was during their generation to what it is now.
> 
> Once a putmap's counts reach zero (i.e., there are no more branchget's
> surviving from that generation) it can be freed.

basically, it seems that the putmap[0] is being freed before its
supposed to

from instrumentation of branchput_gen

SHAYA: generation (1) - stopd(sb)->usi_firstputmap (1) = 0
SHAYA: putmap->count = 1
SHAYA: freeing putmap 0
....
SHAYA: generation (1) - stopd(sb)->usi_firstputmap (1) = 0


_______________________________________________
unionfs mailing list
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs

Reply via email to