Re: [PATCH] PAGE_SIZE IO for RAW (RAW VARY)

Andrea Arcangeli
2002-01-10T11:10:23Z

On Thu, Jan 10, 2002 at 11:51:51AM +0100, Jens Axboe wrote:
> On Thu, Jan 10 2002, Andrea Arcangeli wrote:
> > On Thu, Jan 10, 2002 at 11:22:25AM +0100, Jens Axboe wrote:
> > > On Thu, Jan 10 2002, Andrea Arcangeli wrote:
> > > > On Wed, Jan 09, 2002 at 11:28:39AM -0800, Badari Pulavarty wrote:
> > > > > Ben,
> > > > >
> > > > > By any chance do you have a list of drivers that assume this ?
> > > > > What does it take to fix them ?
> > > > >
> > > > > I think Jens BIO changes for 2.5 will fix this problem. But 2.4
> > > > > needs a solution in this area too. This patch showed significant
> > > > > improvement for database workloads.
> > > >
> > > > I didn't checked the implementation but as far as the blkdev is
> > > > concerned the b_size changes without notification as soon as you
> > > > 'mkfs -b somethingelse' and then mount the fs. So it cannot break
> > > > as far I can tell. The only important thing is that b_size stays
> > > > between 512 and 4k.
> > >
> > > The concern is/was differently sized buffer_heads in the same
> > > request, ie b_size changing as you iterate through the chunks of one
> > > request.
> >
> > ok, I don't expect problems there. It can happen for example if you
> > create a snapshot with 4k and then you switch back the original volume
> > to 1k. the physical volume will get mixed b_size colaesced into the
> > same request.
>
> Well I don't expect problems either, however Jeff Merkey did report them
> but see my previous mail on that (validity of that report is
> questionable).
>
> I still wouldn't feel to good doing this, and just because snapshotting
> opens the possibility for this to happen doesn't mean it a) ever
> triggered in real life, and b) works on all devices.

fair enough. one way to do it certainly safely is to add a bitflag to
the struct blkkdev.

Andrea