MySQL InnoDB redo log block size is 512 bytes (maybe a sector in the disk). I read Are disk sector writes atomic?. It looks like it depends on the underlying hardware to decide if a sector writing is atomic. So if it's not atomic, how can InnoDB redo log guarantees that it won't be corrupted?
Say the last log block was not full in the disk, then the InnoDB engine wrote more log records to this block and flushed it to the disk. Sudden power loss caused only part of the block had been written into disk. By that the checksum of this block is mismatched. Other previous committed transactions would be lost after the server restarts.