2002-08-13 13:43:45

by Roy Sigurd Karlsbakk

[permalink] [raw]
Subject: O_DIRECT support in ext3?

hi all

playing around with O_DIRECT, I really _can't_ make it work on ext3?

why is this?

roy
--
Roy Sigurd Karlsbakk, Datavaktmester

Computers are like air conditioners.
They stop working when you open Windows.


2002-08-13 17:27:04

by Andreas Dilger

[permalink] [raw]
Subject: Re: O_DIRECT support in ext3?

On Aug 13, 2002 15:48 +0200, Roy Sigurd Karlsbakk wrote:
> playing around with O_DIRECT, I really _can't_ make it work on ext3?
>
> why is this?

Because O_DIRECT needs a specific o_direct I/O method that has not yet
been written for ext3. I believe only ext2 and reiserfs support it
right now. I will eventually need to add support for this, but it is
not yet high on my list of priorities. Maybe someone else will beat
me to it.

Cheers, Andreas
--
Andreas Dilger
http://www-mddsp.enel.ucalgary.ca/People/adilger/
http://sourceforge.net/projects/ext2resize/

2002-08-13 20:58:54

by Andrew Morton

[permalink] [raw]
Subject: Re: O_DIRECT support in ext3?

Andreas Dilger wrote:
>
> On Aug 13, 2002 15:48 +0200, Roy Sigurd Karlsbakk wrote:
> > playing around with O_DIRECT, I really _can't_ make it work on ext3?
> >
> > why is this?
>
> Because O_DIRECT needs a specific o_direct I/O method that has not yet
> been written for ext3. I believe only ext2 and reiserfs support it
> right now. I will eventually need to add support for this, but it is
> not yet high on my list of priorities. Maybe someone else will beat
> me to it.

Yes, we need to get it up and running for 2.5. It should be relatively
straightforward. It'll need an ext3_get_blocks_for_o_direct() which
does a journal_start/stop if create=1.

And maybe some fancy footwork around invalidating existing pagecache in
ext3_file_write(), but the current code looks to be OK actually.

It shouldn't be a big deal; mainly testing.