If we fail in the middle of reading from the source, the destination page may have already been dirtied. For example, the source may cross a page boundary, and the second page is inaccessible. Conservatively mark the destination page as dirty, even on errors.
Reported by: Claude (Opus 5.5)