[lkml]   [2002]   [Aug]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: block device/VM question
"A month of sundays ago Thunder from the hill wrote:"
> On Tue, 27 Aug 2002, Peter T. Breuer wrote:
> > Yes, I've noticed this in the 2.5.31 kernel. This is something
> > to be done on open by the overlying fs or userspace utility, or
> > should I set the flag on the inode->filp (or whatever) myself in
> > the drivers open function? And do I need to define
> > inode->mapping->a_ops->direct_IO()? (sorry - but I haven't had time to
> > experiment yet today!).
> Why so rough?

Rough? You mean "approximate"? I was working from my vague mamory of
what I read in the code on the train this morning.

> > It looks like the 2.5 kernel has this pathway, but what about the 2.4
> > kernel? Nothing.
> The manpage claims:
> This flag is supported on a number of Unix-like systems;
> support was added under Linux in kernel version 2.4.10.

My manpage for open(2) claims no such thing. It doesn't mention
O_DIRECT. Maybe your libc6 is newer.

In any case, it doesn't make it clear to me if I have to set the flag
in the driver. Well, anyway, I'll set it.

> Also:
> A semantically similar interface for block devices is
> described in raw(8).

That's nothing like, since it's a character device that they were
describing. But yes, reading drivers/char/raw.c led me to see the
pathway via direct_IO() in 2.5.31, but in the 2.4.19 kernel the path is
obscure. In 2.5.31 it's clear that mm/filemap.c does pay attention to the
flag, and YES, you are right, in 2.4.19, generic_file_read() does
look at the flag. However, I have not much idea where that filp
comes from or what it represents. Oh, well, thanks.I suppose
you won't give me a recipe saying "do this and your device won't be
cached", but I'll follow the lead.

Thanks again.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:28    [W:0.031 / U:0.572 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site