Re: [RFC] problem with grow_dev_page()/readpage()

From: Alexander Viro (viro@math.psu.edu)
Date: Mon Nov 19 2001 - 15:39:01 EST


On Mon, 19 Nov 2001, Linus Torvalds wrote:

>
> On Mon, 19 Nov 2001, Alexander Viro wrote:
> >
> > That breaks if you do bread() on something less than hardware sector size,
> > though. Then all following attempts to read that page (until ->buffers
> > is evicted) will keep trying to submit IO on too small buffers.
>
> I don't think that can happen - you can only bread with i_blksize, and the
> set_blocksize() stuff refuses to set to smaller than the hardware sector
> size.

Then we'd better check that in bread() (getblk(), actually). Works for
me - that's even better than grow_dev_page().

Notice that 2.4.15-pre6 _does_ have at least two bugs of that kind - aic7xxx
(both old and new drivers). They have an ioctl() that tries to guess the
BIOS geometry. It blindly does bread() on 1Kb buffer, which leaves MO
disks very unhappy. So check looks like a good idea...

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



This archive was generated by hypermail 2b29 : Fri Nov 23 2001 - 21:00:21 EST