Re: How to locate struct file * from a bio?



On Wed, Jan 31, 2007 at 02:44:23PM +0000, Al Viro wrote:
On Wed, Jan 31, 2007 at 09:34:54AM -0500, Eddie Pettis wrote:
Short question: Is it possible to locate the struct file * associated
with a bio? If so, how?

Obviously impossible. For one thing, there might very well be no inode,
let alone struct file, associated with bio in question (e.g. for any
filesystem metadata). Moreover, the same on-disk object may get IO
without any stuct file at all (e.g. a directory) or with many struct
file (e.g. any file independently opened by several processes; no matter
how many of them do reads, we'll get stuff pulled into page cache the
same way (and once, not once per struct file).

BTW, here's a good testcase for you: /etc/ld.so.cache; it's accessed at
practically any execve(), so it should be very close to top of the
popularity list (right there with /lib/libc.so.6)...
-
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/



Relevant Pages