On Wednesday 01 Jul 2015 22:45:00 Liu Bo wrote: > On Mon, Jun 01, 2015 at 08:52:44PM +0530, Chandan Rajendra wrote: > > The direct I/O read's endio and corresponding repair functions work on > > page sized blocks. Fix this. > > > > Signed-off-by: Chandan Rajendra <chan...@linux.vnet.ibm.com> > > --- > > try_again: > > @@ -7810,10 +7853,10 @@ try_again: > > done.start = start; > > init_completion(&done.done); > > > > - ret = dio_read_error(inode, &io_bio->bio, bvec->bv_page, start, > > - start + bvec->bv_len - 1, > > - io_bio->mirror_num, > > - btrfs_retry_endio, &done); > > + ret = dio_read_error(inode, &io_bio->bio, bvec->bv_page, > > + pgoff, start, start + sectorsize - 1, > > + io_bio->mirror_num, > > + btrfs_retry_endio, &done); > > > > if (ret) { > > > > err = ret; > > goto next; > > > > @@ -7826,8 +7869,13 @@ try_again: > > goto try_again; > > > > } > > > > next: > > - offset += bvec->bv_len; > > - start += bvec->bv_len; > > + offset += sectorsize; > > + start += sectorsize; > > + > > It'd better to put a ASSERT(nr_sectors) in case some crazy things > happen. >
Yes, I will add that statement in the future versions of the patchset. > > > + if (--nr_sectors) { > > + pgoff += sectorsize; > > + goto next_block; > > + } > > > > } > > > > return err; -- chandan -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html