From: Al Viro <viro@ftp.linux.org.uk>
To: Ashish Khurange <ashishk@it.iitb.ac.in>
Cc: linux-fsdevel@vger.kernel.org
Subject: Re: get vfsmount from dentry
Date: Sun, 12 Mar 2006 17:41:49 +0000 [thread overview]
Message-ID: <20060312174149.GC27946@ftp.linux.org.uk> (raw)
In-Reply-To: <44145873.6010802@it.iitb.ac.in>
On Sun, Mar 12, 2006 at 10:50:51PM +0530, Ashish Khurange wrote:
> Yes thats it, the pathname that is used by a process to access a file, I
> want to that pathname.
Which process?
> >So what are you really trying to achieve?
>
> To get that pathname along with dentry of the file I need the vfsmount
> of that file also.
> Is there any way to get vfsmount of a file, when you have its dentry
> with you.
No. Simply because there may be many pathnames giving the same dentry.
mkdir /tmp/1
mkdir /tmp/2
mkdir /tmp/3
mount -t ramfs none /tmp/1
mount --bind /tmp/1 /tmp/2
mount --bind /tmp/1 /tmp/3
touch /tmp/1/foo
umount /tmp/1
Now /tmp/2/foo and /tmp/3/foo have exact same dentry. They do have different
vfsmounts. In other words, dentry alone is simply not enough to find the
pathname. Moreover, if you do
mkdir /tmp/1
mount -t ramfs none /tmp/1
exec >/tmp/1/foo
umount -l /tmp/1
echo a
you will have a written into file that has no pathname. I.e. there is no
such pathname that opening it at that point would result in that file. At all.
It's the same situation as with getting pathname by inode - there may be many
(hardlinks), there may be none (unlinked but still open).
In other words, the answer to your question above is "no, there is no way
to find vfsmount by dentry and that is in principle impossible". So unless
you can give higher-level description of what you want to get, you are
out of luck.
next prev parent reply other threads:[~2006-03-12 17:41 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-12 13:44 get vfsmount from dentry Ashish Khurange
2006-03-12 13:55 ` Al Viro
2006-03-12 17:20 ` Ashish Khurange
2006-03-12 17:41 ` Al Viro [this message]
2006-03-12 18:00 ` Ashish Khurange
2006-03-12 18:23 ` Shaya Potter
2006-03-12 18:54 ` Ashish Khurange
2006-03-12 19:13 ` Al Viro
2006-03-12 20:34 ` Ashish Khurange
2006-03-12 20:45 ` Shaya Potter
2006-03-13 7:24 ` Jan Hudec
2006-03-12 18:24 ` Al Viro
2006-03-12 19:10 ` Jamie Lokier
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=20060312174149.GC27946@ftp.linux.org.uk \
--to=viro@ftp.linux.org.uk \
--cc=ashishk@it.iitb.ac.in \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).