Al, you write:
> If you have the pair (mnt, dentry) - p = d_path(mnt, dentry, buf, buflen);
> will put the path into buf and set p pointing to its beginning.
> 
> dentry alone is not enough - it simply doesn't describe a unique point
> in the namespace. It does describe the unique point in the filesystem
> tree, but that tree can occur in several places of the unified tree.
> Thus the need of pair (vfsmount, dentry).
> 
> If you ever need to do someting like "let's find any vfsmount that
> could go in pair with our dentry" - you are doing something wrong
> (or I had missed something last Spring). Table below gives the
> list of such pairs.
>               vfsmount        dentry
> file          ->f_vfsmnt      ->f_dentry
> nameidata     ->mnt           ->dentry
> swap component        ->swap_vfsmnt   ->swap_file
> knfsd export  ->exp_mnt       ->exp_dentry
> cwd           ->pwdmnt        ->pwd
> root          ->rootmnt       ->root
> emul.root     ->altrootmnt    ->altroot
> mountpoint    ->mnt_parent    ->mnt_mountpoint

What about if I want to know the mountpoint (inside the filesystem)
when it is mounted?  The comments in the code say sb->s_type->kern_mnt
is only valid for in-kernel filesystems (FS_SINGLE).

Would it be possible to put a valid vfsmnt pointer in kern_mnt for
non-FS_SINGLE filesystems?  Would only the vfsmnt information (maybe
d_path(kern_mnt, kern_mnt->mnt_mountpoint, buf, buflen)) be enough
to determine the pathname of the filesystem mount point?

Cheers, Andreas
-- 
Andreas Dilger  \ "If a man ate a pound of pasta and a pound of antipasto,
                 \  would they cancel out, leaving him still hungry?"
http://www-mddsp.enel.ucalgary.ca/People/adilger/               -- Dogbert
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to