From: Jeff Mahoney <jeffm@suse.com>
To: "Kathy KN (HK)" <kathy.kn@gmail.com>
Cc: Bryan Henderson <hbryan@us.ibm.com>, linux-fsdevel@vger.kernel.org
Subject: Re: Access content of file via inodes
Date: Tue, 05 Apr 2005 21:53:16 -0400 [thread overview]
Message-ID: <4253410C.20405@suse.com> (raw)
In-Reply-To: <f8ad67b3050405182753206558@mail.gmail.com>
Kathy KN (HK) wrote:
> On Apr 6, 2005 1:53 AM, Bryan Henderson <hbryan@us.ibm.com> wrote:
>>>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?
>>This is tricky because many interfaces that one would expect to use an
>>inode as a file handle use a dentry instead. To read the contents of a
>>file via the VFS interface, you need a file pointer (struct file), and the
>>file pointer identifies the file by dentry. So you need to create a dummy
>>dentry, which you can do with d_alloc_root(), and then create the file
>>pointer with dentry_open(), then read the file with vfs_read().
>>
>>That's for "via inodes." I don't know what "via blocks" means.
>
> Bryan,
>
> Thanks for the description on how to read the contents of a file via
> the VFS interface. I got to try to see if I can write it in codes, and make
> sure that I can read the file via the vfs_read() routine. What I meant by
> via blocks is to gain knowledge of the physical blocks used by the inodes
> and retrieve the content from it directly, by accessing b_data.
The problem with that approach is that some filesystems may store part
of the file outside of a complete block. For example, reiserfs "tails"
will respond with -ENOENT on ->bmap. For files smaller than 16k, they
are quite common.
-Jeff
--
Jeff Mahoney
SuSE Labs
next prev parent reply other threads:[~2005-04-06 1:53 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-05 1:23 Access content of file via inodes Kathy KN
2005-04-05 7:22 ` Christoph Hellwig
2005-04-05 17:53 ` Bryan Henderson
2005-04-06 1:27 ` Kathy KN (HK)
2005-04-06 1:53 ` Jeff Mahoney [this message]
2005-04-06 17:57 ` Bryan Henderson
2005-04-06 7:54 ` Anton Altaparmakov
2005-04-06 11:33 ` Anton Altaparmakov
2005-04-06 13:09 ` Jeffrey Mahoney
2005-04-07 5:25 ` Kathy KN (HK)
2005-04-07 6:47 ` Jeffrey Mahoney
2005-04-07 8:09 ` Anton Altaparmakov
2005-04-05 19:01 ` Jeff Mahoney
2005-04-06 1:32 ` Kathy KN (HK)
2005-04-06 1:50 ` Jeff Mahoney
2005-04-08 6:01 ` Kathy KN (HK)
2005-04-08 8:17 ` Anton Altaparmakov
2005-05-27 19:13 ` Martin Jambor
2005-05-28 15:57 ` Anton Altaparmakov
2005-05-28 21:44 ` Martin Jambor
2005-05-29 7:26 ` Anton Altaparmakov
2005-05-30 21:51 ` Martin Jambor
2005-05-30 22:19 ` Anton Altaparmakov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4253410C.20405@suse.com \
--to=jeffm@suse.com \
--cc=hbryan@us.ibm.com \
--cc=kathy.kn@gmail.com \
--cc=linux-fsdevel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.