When T commits we store the cpt on stable storage as the new spt. Output the disk address of the cpt to the fixed location in stable storage referring to the spt. Thus the cpt becomes the spt and the transaction is completely committed. Disadvantages Locality is destroyed since every transaction that writes to a page changes the location on disk of that page. There is a single disk buffer shared by all transactions and a single log.
Recovery depends greatly on the concurrency-control scheme.
A failed transaction T0 must be rolled back - that is, all its upates undone. But suppose a transaction T1 updates item A after T0's update. Two phase locking with exclusive locks held until the end of the transaction prevents cascading rollback. The checkpoint record must include a list of all transactions executing at the time the checkpoint was taken so that appropriate redos and undos can be done for all the log records of such transactions. Buffer Management Immediate output of log records very costly.