1
1

Fix orte-ps which George broke in r10718 by extending the orte_session_dir_get_name()

so that it does not return an error when no universe is passed to it.

Also put back in the 'Slots In Use' column as it is now working properly
per Ralphs recent ras commits. Still not sure what 'Slots Alloc' is meant
to represent, so left that as #if 0'd out for the moment.

This commit was SVN r10739.

The following SVN revision numbers were found above:
  r10718 --> open-mpi/ompi@47eef2e002
Этот коммит содержится в:
Josh Hursey 2006-07-11 16:54:07 +00:00
родитель a08f087447
Коммит 5a812c8211
2 изменённых файлов: 32 добавлений и 10 удалений

Просмотреть файл

@ -621,7 +621,11 @@ static int pretty_print_nodes(opal_list_t *nodes) {
len_state = (int) strlen("State"); len_state = (int) strlen("State");
len_slots = (int) strlen("Slots"); len_slots = (int) strlen("Slots");
len_slots_i = (int) strlen("Slots In Use"); len_slots_i = (int) strlen("Slots In Use");
#if 0
len_slots_a = (int) strlen("Slots Alloc"); len_slots_a = (int) strlen("Slots Alloc");
#else
len_slots_a = -3;
#endif
len_slots_m = (int) strlen("Slots Max"); len_slots_m = (int) strlen("Slots Max");
for(node_item = opal_list_get_first(nodes); for(node_item = opal_list_get_first(nodes);
node_item != opal_list_get_end(nodes); node_item != opal_list_get_end(nodes);
@ -650,10 +654,8 @@ static int pretty_print_nodes(opal_list_t *nodes) {
len_cell + 3 + len_cell + 3 +
len_state + 3 + len_state + 3 +
len_slots + 3 + len_slots + 3 +
#if 0
len_slots_i + 3 + len_slots_i + 3 +
len_slots_a + 3 + len_slots_a + 3 +
#endif
len_slots_m + 3); len_slots_m + 3);
/* /*
@ -665,8 +667,8 @@ static int pretty_print_nodes(opal_list_t *nodes) {
printf("%*s | ", len_state, "State"); printf("%*s | ", len_state, "State");
printf("%*s | ", len_slots, "Slots"); printf("%*s | ", len_slots, "Slots");
printf("%*s | ", len_slots_m, "Slots Max"); printf("%*s | ", len_slots_m, "Slots Max");
#if 0
printf("%*s | ", len_slots_i, "Slots In Use"); printf("%*s | ", len_slots_i, "Slots In Use");
#if 0
printf("%*s | ", len_slots_a, "Slots Alloc"); printf("%*s | ", len_slots_a, "Slots Alloc");
#endif #endif
printf("\n"); printf("\n");
@ -693,10 +695,11 @@ static int pretty_print_nodes(opal_list_t *nodes) {
printf("%*s | ", len_state, pretty_node_state(node->node_state)); printf("%*s | ", len_state, pretty_node_state(node->node_state));
printf("%*d | ", len_slots, (uint)node->node_slots); printf("%*d | ", len_slots, (uint)node->node_slots);
printf("%*d | ", len_slots_m, (uint)node->node_slots_max); printf("%*d | ", len_slots_m, (uint)node->node_slots_max);
#if 0
printf("%*d | ", len_slots_i, (uint)node->node_slots_inuse); printf("%*d | ", len_slots_i, (uint)node->node_slots_inuse);
#if 0
printf("%*d | ", len_slots_a, (uint)node->node_slots_alloc); printf("%*d | ", len_slots_a, (uint)node->node_slots_alloc);
#endif #endif
printf("\n"); printf("\n");
} }

Просмотреть файл

@ -171,17 +171,26 @@ orte_session_dir_get_name(char **fulldirpath,
universe = strdup(univ); universe = strdup(univ);
} }
else { /* check if it is set elsewhere */ else { /* check if it is set elsewhere */
if( NULL != orte_universe_info.name) if( NULL != orte_universe_info.name) {
universe = strdup(orte_universe_info.name); universe = strdup(orte_universe_info.name);
}
else { else {
/* Couldn't find it, so fail */ ;/* Couldn't find it, so continue with caution */
exit_status = ORTE_ERROR;
goto cleanup;
} }
} }
/* /*
* Check: Can't give a proc without a job * Check: Can't give proc or job without universe
*/
if( NULL == universe &&
(NULL != proc ||
NULL != job) ) {
exit_status = ORTE_ERROR;
goto cleanup;
}
/*
* Check: Can't give a proc without a job and universe
*/ */
if( NULL == job && if( NULL == job &&
NULL != proc) { NULL != proc) {
@ -235,7 +244,7 @@ orte_session_dir_get_name(char **fulldirpath,
/* If we were given neither then we can construct it partially into: /* If we were given neither then we can construct it partially into:
* openmpi-sessions-USERNAME@HOSTNAME_BATCHID/UNIVERSE * openmpi-sessions-USERNAME@HOSTNAME_BATCHID/UNIVERSE
*/ */
else { else if(NULL != universe) {
if (0 > asprintf(&sessions, "%s%s%s", if (0 > asprintf(&sessions, "%s%s%s",
*frontend, *frontend,
orte_system_info.path_sep, universe )) { orte_system_info.path_sep, universe )) {
@ -243,6 +252,16 @@ orte_session_dir_get_name(char **fulldirpath,
goto cleanup; goto cleanup;
} }
} }
/* If we were not given 'universe' then we can construct it into:
* openmpi-sessions-USERNAME@HOSTNAME_BATCHID
*/
else {
if (0 > asprintf(&sessions, "%s",
*frontend) ) {
exit_status = ORTE_ERROR;
goto cleanup;
}
}
/* /*
* If the user specified an invalid prefix, or no prefix at all * If the user specified an invalid prefix, or no prefix at all