cvmfs/cvmfs — pull request #29 by reneme (2012-11-15 16:36:18+00:00)
Title: Moved Hardlink group handling from the DirectoryEntry to the Sql backend

Hardlink relationships are represented as a combination of *hardlink group ID* and a *linkcount* in CVMFS. Additionally both the *group id* and the *linkcount* are saved in one 64bit integer field in the catalogs.

Since knowledge about this implementation details was spreading to several positions in the code, I've refactored this logic a bit. `DirectoryEntryBase` contains the *linkcount*, as this is file system specific data, while `DirectoryEntry` now holds the *hardlink group id*, which is CVMFS specific meta data. The storage details are now implemented in the Sql wrapper namely the `SqlDirent` class.

This nicely separates filesystem meta data from CVMFS intrinsics and both of them from the actual storage format in the catalogs.