With regards to caching the .mlb files for the basis and the like, I would say that it is probably a bit scary to not re-lookup the inode number and device on each run. I'm thinking that a copy (to another machine for instance) will change them. Re the redundant names, it does look a bit bad to me. What about (tounge only slightly in cheek) t.mlb as the name of the file? (Or maybe m.mlb.)