[mpich-discuss] ad_pvfs2_read bug in ADIOI_PVFS2_ReadStrided()

Wei-keng Liao wkliao at ece.northwestern.edu
Mon Jun 1 17:26:32 CDT 2009


I tested your patch against mpich2-1.1.rc1 and
ran a few tests just fine.

I can see you have added the calculation for updating the file pointer.
I wonder if it can be simplified by
    fd->fp_ind =  
file_offsets[file_list_count-1]+file_lengths[file_list_count-1];

as I used in the patch sent to Christina Patrick.
http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20090531/83b7a7c7/attachment.obj

Please forget about the problem of "if(i || k) {".
The real problem has been addressed in your patch as
    file_lengths[0] = ADIOI_MIN(st_fwr_size, bufsize);



Wei-keng



On Jun 1, 2009, at 2:33 PM, Rob Latham wrote:

> On Fri, May 29, 2009 at 07:01:31PM -0500, Wei-keng Liao wrote:
>> I suspect there is a bug at line 480, file ad_pvfds2_read.c.
>> Here is the test case. Each process defines a noncontiguous fileview
>> using MPI_Type_vector() and MPI_File_read_all() reads an amount
>> that is less than the size of first contiguous block in fileview.
>
> Hi Wei-keng.  Thanks for the test case.
>
> Could you take a look at the attached patch?  I tried to handle all
> the cases in the most straightforward way.    I'll follow up on the
> other part of your question after i get done with this meeting:
>
> With these changes I pass your test case with two processors, and the
> ROMIO test suite passes all tests.
>
> May I add vector-read to the suite?
>
> Thanks
> ==rob
>
> -- 
> Rob Latham
> Mathematics and Computer Science Division
> Argonne National Lab, IL USA
> <partial_pieces.diff>



More information about the mpich-discuss mailing list