Re: [PATCH] barrier patch set

From: Jens Axboe
Date: Sat Mar 20 2004 - 04:58:00 EST


On Sat, Mar 20 2004, Bartlomiej Zolnierkiewicz wrote:
> On Friday 19 of March 2004 17:34, Jeff Garzik wrote:
> > Jens Axboe wrote:
> > > Cosmetic stuff that will get ironed out. You can find the patches here:
> > >
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/axboe/patches/v2.6/2.6.5-rc1
> > >-mm2/
> > >
> > > ide-barrier-2.6.5-rc1-mm2-1
> > > ide/core part
>
> Jens, am I right that you didn't do any changes/cleanups I asked you to do?
> Here they are once again (probably some new items added as a bonus). ;-)

Probably, ide code was idle for some time :). As I said to Chris, there
are a bunch of things I want to do to the code over the weekend, I
wanted to get something out there before that though (raises the
incentive to finish it)

> - do not use hwgroup->wrq (die!) and do not add drive->special_buf,
> just do what PM code does and other special commands do - use taskfile
> (yes, dirty stack allocation)

Doesn't work for split flush, ie issue a bunch of flushes to devices,
then wait for them. I agree using ->wrq and special_buf is ugly as hell,
though.

> - SCSI -> IDE transform should die, please use something like REQ_FLUSH
> and let subsystems deal with it

That's what I wanted to avoid, adding more flags. However, if you see
the comment in there this is being changed to ->issue_flush() instead.
So it's dying, don't worry.

> - ide_get_error_location() is cool but clean other places doing same thing
> as you are duplicating existing code
> (please use u64 not sector_t - you are getting raw info from the disk)

Ok

> - why does blkdev_issue_flush() add REQ_BLOCK_PC to rq->flags?

Ehm, because it _is_ a REQ_BLOCK_PC? ;-)

> - why are we doing pre-flush?

To ensure previously written data is on platter first.

--
Jens Axboe

-
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/