diff --git a/ompi/mca/common/ompio/common_ompio_aggregators.c b/ompi/mca/common/ompio/common_ompio_aggregators.c index 90082253c5..aa751cd4a1 100644 --- a/ompi/mca/common/ompio/common_ompio_aggregators.c +++ b/ompi/mca/common/ompio/common_ompio_aggregators.c @@ -650,14 +650,17 @@ int mca_common_ompio_create_groups(ompio_file_t *fh, opal_output(1,"mca_common_ompio_create_groups: could not allocate memory\n"); goto exit; } - + + int found; for ( i=0, j=0; if_num_aggrs; i++ ) { - for ( ; jf_size; j++ ) { + found = 0; + do { if ( 1 == tmp_final_aggrs[j] ) { - break; + fh->f_aggr_list[i] = j; + found=1; } - fh->f_aggr_list[i] = tmp_final_aggrs[j]; - } + j++; + } while ( !found && j < fh->f_size); } exit: diff --git a/ompi/mca/fcoll/base/fcoll_base_file_select.c b/ompi/mca/fcoll/base/fcoll_base_file_select.c index 874c765dc4..e21c2fe84b 100644 --- a/ompi/mca/fcoll/base/fcoll_base_file_select.c +++ b/ompi/mca/fcoll/base/fcoll_base_file_select.c @@ -268,6 +268,11 @@ int mca_fcoll_base_query_table (struct ompio_file_t *file, char *name) return 1; } } + if (!strcmp (name, "vulcan")) { + if ( (LUSTRE != file->f_fstype)) { + return 1; + } + } if (!strcmp (name, "dynamic")) { if ((int)file->f_cc_size < file->f_bytes_per_agg && file->f_cc_size >= file->f_stripe_size) { diff --git a/ompi/mca/fcoll/two_phase/fcoll_two_phase_module.c b/ompi/mca/fcoll/two_phase/fcoll_two_phase_module.c index 53fbb363b7..b5d0b41544 100644 --- a/ompi/mca/fcoll/two_phase/fcoll_two_phase_module.c +++ b/ompi/mca/fcoll/two_phase/fcoll_two_phase_module.c @@ -63,8 +63,8 @@ mca_fcoll_two_phase_component_file_query (ompio_file_t *fh, int *priority) } if (mca_fcoll_base_query_table (fh, "two_phase")) { - if (*priority < 50) { - *priority = 50; + if (*priority < 35) { + *priority = 35; } }