Skip to content
Snippets Groups Projects
Commit a7aa2d73 authored by Danny Auble's avatar Danny Auble
Browse files

BLUEGENE - fix to make a block resume from error state before freeing

the block
parent 4de53ad8
No related branches found
No related tags found
No related merge requests found
...@@ -2049,13 +2049,15 @@ extern int select_p_update_block(update_block_msg_t *block_desc_ptr) ...@@ -2049,13 +2049,15 @@ extern int select_p_update_block(update_block_msg_t *block_desc_ptr)
list_destroy(delete_list); list_destroy(delete_list);
put_block_in_error_state(bg_record, reason); put_block_in_error_state(bg_record, reason);
} else if (block_desc_ptr->state == BG_BLOCK_FREE) { } else if (block_desc_ptr->state == BG_BLOCK_FREE) {
/* Resume the block first and then free the block */
resume_block(bg_record);
/* Increment free_cnt to make sure we don't loose this /* Increment free_cnt to make sure we don't loose this
* block since bg_free_block will unlock block_state_mutex. * block since bg_free_block will unlock block_state_mutex.
*/ */
bg_record->free_cnt++; bg_record->free_cnt++;
bg_free_block(bg_record, 0, 1); bg_free_block(bg_record, 0, 1);
bg_record->free_cnt--; bg_record->free_cnt--;
resume_block(bg_record);
slurm_mutex_unlock(&block_state_mutex); slurm_mutex_unlock(&block_state_mutex);
} else if (block_desc_ptr->state == BG_BLOCK_TERM) { } else if (block_desc_ptr->state == BG_BLOCK_TERM) {
/* This can't be RM_PARTITION_READY since the enum /* This can't be RM_PARTITION_READY since the enum
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment