Great question — answering as the UphillTech team:
It is as the LWN article states "when you write out a block, you lock it and iterate through the records of individual changes to this block. For each individual change whose dependencies haven't yet been satisfied, you undo that change to the block, and then write out the resulting block." However the part of visualizing this whole process was difficult and I wasn't able to wrap my head around it until I found this presentation paper by McKusick himself. This page specifically talks about rolling back changes to a deleted file to satisfy the ability to add a file. Afterwards the addition goes through and then we can perform the deletion.
Full answer by Greg: https://unix.stackexchange.com/a/279094 (CC BY-SA 3.0).
Need it done for your business? UphillTech.