When the find_fit returns a pointer to a free block that is big enough, it should be usually be split into the size requested and the rest should be a smaller free block.
The size of the part allocated should be adjusted up if smaller than some minimum size, and rounded so that the 8 byte boundary alignment is satisfied.