public synchronized void saveDigestAndRenameCheckpointImage ( long txid , MD5Hash digest ) throws IOException { for ( ImageManager im : imageManagers ) { if ( im . saveDigestAndRenameCheckpointImage ( txid , digest ) ) { // restore enabled state im . setImageDisabled ( false ) ; } else { // failed image im . setImageDisabled ( true ) ; } } checkImageManagers ( ) ; }
Save digest in all underlying image managers and rename the checkpoint file . This will throw an exception if all image managers fail .