Hi, well you're assumption is right ufs will allocate a large files into contiguous datablock and, of course, in contiguous fragments into another datablock if is needed. AS an example imagine we have a 11264 Bytes file, ufs will store it into one datablock plus 3 fragments of the next datablock.
What happend with the remaining space in the datablock? well it will be share for another file storage.
hope it helps