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
