Re: about ll_rw_blk.c of void generic_make_request(struct bio *bio)

From: Chris Caputo
Date: Fri Mar 31 2006 - 13:06:17 EST


On Fri, 31 Mar 2006, Chris Caputo wrote:
> On Thu, 30 Mar 2006, Jens Axboe wrote:
> > I can't really say, from my recollection of leafing over lkml emails, I
> > seem to recall someone saying he hit this with a newer kernel where as
> > the older one did not?
> >
> > What are the sectors exactly it complains about, eg the full line you
> > see?
>
> I see:
>
> attempt to access beyond end of device
> sdb1: rw=0, want=134744080, limit=128002016

I believe the "rw=0" means that was a simple read request, and not a
read-ahead.

128002016 equals about 62 gigs, which is the correct volume size:

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdb1 62995364 2832696 56962620 5% /xxx

/dev/sdb1 on /xxx type ext2 (rw,noatime)

I'm at a loss as to why ext2 would want to read 3+ gigs past the end of
the volume or why the arcmsr driver setting max_sectors to be 4096 instead
of 512 makes a difference.

Erich, while using 4096 as the max_sectors count, in your lab can you make
it so ll_rw_blk.c:handle_bad_sector() makes a call to dump_stack() after
the printk's? What does it show as the call trace?

Chris
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/