Re: [PATCH] barrier patch set

From: Jens Axboe
Date: Sun Mar 21 2004 - 04:45:06 EST


On Sat, Mar 20 2004, Bartlomiej Zolnierkiewicz wrote:
> On Saturday 20 of March 2004 18:10, Chris Mason wrote:
> > On Sat, 2004-03-20 at 12:05, Bartlomiej Zolnierkiewicz wrote:
> > > On Saturday 20 of March 2004 17:32, Chris Mason wrote:
> > > > On Sat, 2004-03-20 at 11:23, Bartlomiej Zolnierkiewicz wrote:
> > > > > > > - why are we doing pre-flush?
> > > >
> > > > The journaled filesystems need this. We need to make sure that before
> > > > we write the commit block for a transaction, all the previous log
> > > > blocks we're written are safely on media. Then we also need to make
> > > > sure the commit block is on media.
> > >
> > > For low-level driver it shouldn't really matter whether sectors to be
> > > written are the commit block for a transaction or the previous log blocks
> > > and in the current implementation it does matter.
> >
> > As Jens said, it depends on how you define barrier ;-) I define it as
> > this io will be written after all the previous io and before any later
> > io. It was originally written with scsi tags in mind as well, the FS
> > side was the same for both.
>
> Yes, thanks for explaining this.
>
> I took a quick look at fs/jbd/ and now I think I understand the way barriers
> currently work. I assume that SCSI handles barriers by ordered tags, right?

That's the idea, yes. Needs some SCSI error handling work though, to
always ensure correct ordering.

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