[hfs-user] map node linkage

Pierre Duhem Pierre Duhem <pierre@duhem.com>
Tue, 5 Oct 2004 16:55:09 +0200


Still plagued with this "bad map node linkage" (E_MapLk in SVerify2.c)

The BTMapChk pseudocode is:

Calculate mapsize ((totalNodes + 7) / 8)
Walk the map node forward links
     Do some formal checks
     Calculate the size of the map in the current node
     Substract this size from mapsize
     If no more forward links, break
If mapsize is not null (the node number being not null is not a
problem in my case), rise the E_MapLk error.

That means that it is an error to have several correctly linked map
nodes to manage the beginning of the catalog, but not enough (yet) to
manage the whole catalog.

On the other hand, it is not an error to build an empty catalog with
no map nodes.

That means also that, when you build the first map node outside of the
B-Tree header, you have to allocate and link all the nodes.

Am I on the spot, or totally wrong?

Thanks for your comments.

Pierre Duhem