Messages in this thread | | | Date | Wed, 3 May 2006 06:03:36 +1000 | From | Nathan Scott <> | Subject | Re: O_DIRECT, ext3fs, kernel 2.4.32... again |
| |
On Tue, May 02, 2006 at 07:24:11PM +0200, DervishD wrote: > Hi Nathan :)
Hi there,
> * Nathan Scott <nathans@sgi.com> dixit: > > On Mon, May 01, 2006 at 01:23:03PM +0200, DervishD wrote: > > > * Marcelo Tosatti <marcelo@kvack.org> dixit: > > > > Your interpretation is correct. It would be nicer for open() to > > > > fail on fs'es which don't support O_DIRECT, but v2.4 makes such > > > > check later at read/write unfortunately ;( > > > > > > Oops :( > > > > Nothing else really make sense due to fcntl... > > fcntl(fd, F_SETFL, O_DIRECT); > > ...can happen at any time, to enable/disable direct I/O. > > I know, but that fcntl call should fail just like the open() one. > I mean, I don't find this very different, it's just another point > where the flag can be activated and so it should fail if the > underlying filesystem doesn't support it (and doesn't ignore it in > read()/write()).
Problem is there is no way to know whether the underlying fs supports direct IO or not here (fcntl is implemented outside the filesystem, entirely). Which is not unfixable in itself (could use a superblock flag or something similar) but it's way out of scope for the sort of change going into 2.4 these days.
cheers.
-- Nathan - 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/
| |