On Apr 6, 2005 3:01 AM, Jeff Mahoney <[EMAIL PROTECTED]> wrote:
> Kathy KN wrote:
> > Good day all,
> >
> > How do I access/read the content of the files via using inodes
> > or blocks that belong to the inode, at sys_link and vfs_link layer?
> > I used bmap to access the blocks that belongs to the inodes, but
> > getting access to the buffer_head's b_data doesn't seem to help.
> 
> Hi Kathy -
> 
> What you're trying to do is possible, but you need to go about it in a
> different way. Ignore the buffer cache completely and use the page
> cache; it's more appropriate for file contents.
> 
> You have two options:
> 
> If performance isn't critical, a simple approach would be to use your
> old_dentry pointer to dentry_open a file and then vfs_read from it to a
> buffer you allocate. Make sure you use get_fs/set_fs, since vfs_read
> won't accept a kernel pointer otherwise.
> 
> If performance is more important or you really do only have access to an
> inode, you can read from the page cache directly using inode->i_mapping
> and read_cache_page. This has the advantage that you don't need to copy
> the data to access it, but the disadvantage that it is more complex and
> can be tricky to get right.

Hi Jeff,

Is it possible to modify the cached page, and invalidate it back
to update the page cache of the new page? I did a recursive grep 
and could only find functions that let you read or grab pages in the
cache.

Kathy
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to