[mpich-discuss] ad_pvfs2_read bug in ADIOI_PVFS2_ReadStrided()
Rob Latham
robl at mcs.anl.gov
Mon Jun 1 17:16:31 CDT 2009
On Fri, May 29, 2009 at 07:01:31PM -0500, Wei-keng Liao wrote:
> I don't know the if condition at line 480 is correct.
> if(i || k) {
>
> I think when i and k are both zero, the statements inside the if
> condition are still needed. There are other places having the same
> if condition.
PVFS listio will
describe the data in offset-length pairs, but limits these arrays to
64 pairs per call.
"i==0" means there were no complete write lists, either because the
entire request could be described in less than 64 pairs, or because we
are on the first iteration
"k==0" means the code is operating on the first node in the
offset-length list
If I and K are both zero, and we execute the code inside that if
condition, the code would set up the 0th node of the offset-length
list, but the 0th node of the offset-length list was set up just a few
lines earlier, in the "if !i" section.
I've been wrong about this code before. Maybe we can come up with a
test case to confirm?
==rob
--
Rob Latham
Mathematics and Computer Science Division
Argonne National Lab, IL USA
More information about the mpich-discuss
mailing list