Data structures were delivered with the product in form of a C header file and the documentation contains a bit of information about how fragmentation is kept small. IIRC it always allocates new files in the largest contiguous free area.
I was hoping for documentation, not data structure declarations
As with data structures, algorithms and the intentions behind them are often hard to fathom in file systems. You wouldn't know how the Amiga FFS, for example, does its job by looking at the source code. You have to read and understand the whole thing, look at what is written to the storage medium. It's better if the designer goes to some lengths to explain what is going on inside the code.
As for managing fragmentation, it's one of the toughest tasks in a file system. Using the largest free fragment by default is not necessarily a winning strategy, as there might be other free fragments which are shorter and might fit the size requirements better without wasting additional space. Also, one has to consider the distance between the end of the file and the place where the new data goes. XFS, for example, keeps track of both proximity of free space and size of free space in two separate b-tree data structures. Through this XFS can both find the smallest free space fragment that fits, and which is closest to the end of the file to be extended.