An intent log is similar to how I'll end up preventing bad parity after a crash. That's the part I'm still hacking on.
If we're doing a full stripe write that came from a COW operation, we don't need the extra logging because none of the blocks in the stripe are fully allocated until after the IO is complete.