'Try post sub clone resize in a transactional manner.'

def _post_sub_clone_resize(self, path):

    (st_tm_mv, st_nw_mv, st_del_old) = (None, None, None)
    seg = path.split('/')
    LOG.info('Post    clone    resize    LUN    %s', seg[(-1)])
    new_lun = ('new-%s' % seg[(-1)])
    tmp_lun = ('tmp-%s' % seg[(-1)])
    tmp_path = ('/vol/%s/%s' % (seg[2], tmp_lun))
    new_path = ('/vol/%s/%s' % (seg[2], new_lun))
    try:
        st_tm_mv = self.zapi_client.move_lun(path, tmp_path)
        st_nw_mv = self.zapi_client.move_lun(new_path, path)
        st_del_old = self.zapi_client.destroy_lun(tmp_path)
    except Exception as e:
        if (st_tm_mv is None):
            msg = _('Failure    staging    LUN    %s    to    tmp.')
            raise exception.VolumeBackendAPIException(data=(msg % seg[(-1)]))
        elif (st_nw_mv is None):
            self.zapi_client.move_lun(tmp_path, path)
            msg = _('Failure    moving    new    cloned    LUN    to    %s.')
            raise exception.VolumeBackendAPIException(data=(msg % seg[(-1)]))
        elif (st_del_old is None):
            LOG.error('Failure    deleting    staged    tmp    LUN    %s.', tmp_lun)
        else:
            LOG.error('Unknown    exception    in    post    clone    resize    LUN    %s.', seg[(-1)])
            LOG.error('Exception    details:    %s', e)
