1. A method for performing storage writes in a mirrored virtual machine system, the method comprising: receiving, a state of a primary virtual machine at a secondary virtual machine during execution of an application, wherein the primary virtual machine runs on a first physical machine and the secondary virtual machine runs on a second physical machine, wherein the state of the primary virtual machine is captured by checkpointing, and wherein the primary virtual machine is configured to write data to a first block of disk storage and concurrently write the data to a write buffer on the secondary virtual machine; storing a copy of data within a second block to a rollback buffer for the secondary virtual machine; in response to identifying a checkpoint in the application, merging the rollback buffer with the write buffer; in response to detecting a failover, writing a copy of the rollback buffer to the disk storage; and continuing execution of the application on the secondary virtual machine from the last checkpoint.