question: private void cleanupAnyBackupSnapshots ( final StorageSystem storage , final Volume volume ) throws Exception { _log . info ( String . format ( "cleanupAnyBackupSnapshots for volume [%s](%s)..." , volume . getLabel ( ) , volume . getId ( ) ) ) ; CIMObjectPath volumePath = _cimPath . getBlockObjectPath ( storage , volume ) ; if ( _helper . checkExists ( storage , volumePath , false , false ) == null ) { _log . info ( String . format ( "cleanupAnyBackupSnapshots(%s, %s) -- volumePath does not exist, perhaps it has already been deleted?" , storage . getSerialNumber ( ) , volume . getLabel ( ) ) ) ; return ; } CloseableIterator < CIMObjectPath > settingsIterator = null ; try { settingsIterator = _helper . getReference ( storage , volumePath , SmisConstants . CIM_SETTINGS_DEFINE_STATE , null ) ; if ( settingsIterator != null ) { while ( settingsIterator . hasNext ( ) ) { CIMObjectPath settingsPath = settingsIterator . next ( ) ; CIMArgument [ ] outArgs = new CIMArgument [ 5 ] ; _helper . callModifySettingsDefineState ( storage , _helper . getDeleteSettingsForSnapshotInputArguments ( settingsPath , true ) , outArgs ) ; } } } finally { if ( settingsIterator != null ) { settingsIterator . close ( ) ; } } }
target:  Method will make synchronous SMI-S calls to clean up any backup snapshots that may exist for the volume. Typically, on VNX arrays, if there's a restore operation against an 'advanced' snap, there will be backup snapshot created. There isn't any easy way to get to this backup using the SMI-S API, so we'll have to clean them all up when we go to delete the volume.