Commit e6962c16 authored by Rob Latham's avatar Rob Latham Committed by Pavan Balaji
Browse files

resized wasn't setting max_contig_count



Not much in MPICH consults the max_contig_count field of the datatypes,
except ROMIO.  Resized types were reporting "huge negative number" for
the count of contiguous blocks because datatype code wasn't setting the
max_contig_count member.  Why 3?  The lower bound and upper bound parts
of the datatype, while not actually data or blocks, are effectively
blocks for the purposes of the one client of this code -- the ROMIO
datatype flattening code.
Signed-off-by: Pavan Balaji's avatarPavan Balaji <balaji@mcs.anl.gov>
parent d4e6334c
......@@ -60,6 +60,7 @@ int MPID_Type_create_resized(MPI_Datatype oldtype,
new_dtp->element_size = oldsize;
new_dtp->is_contig = (extent == oldsize) ? 1 : 0;
new_dtp->eltype = oldtype;
new_dtp->max_contig_blocks = 3; /* lb, data, ub */
}
else
{
......@@ -84,6 +85,7 @@ int MPID_Type_create_resized(MPI_Datatype oldtype,
new_dtp->is_contig =
(extent == old_dtp->size) ? old_dtp->is_contig : 0;
new_dtp->max_contig_blocks = old_dtp->max_contig_blocks;
}
*newtype_p = new_dtp->handle;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment