On Tue, Jan 14, 2003 at 10:24:19AM -0800, Seth Arnold wrote: > On Tue, Jan 14, 2003 at 05:17:57PM +0100, Jan Hudec wrote: > > Generaly, maping inode to filename is not unique, since inode (except > > directory inodes) can have zero to many names. Each inode has a list of > > dentries. These can be converted. > > Jan, it is actually worse than that -- directory inodes can have > multiple names too, now, with multiple mounting and bind mounting. But they can't have more than one dentry, at least. (How I wish they could - invalidating them in shared filesystem would be hell simpler). > And, since each process can have its own version of a namespace, there > aren't ontologically canonical filenames any longer. They are, kind of. If you specify them by device:path rather than path from actual root, you should get canonical names at least for dentries, because mountpoint's would not come to play now. Virtual filesystems are FS_SINGLE so there it's fstype:path and only thing that remains is per-export-point mounted network filesystems (network filesystems with unified namespace should not be problem, because the path starts with server name there). > To the original poster: a vfsmnt combined with dentry can be used with > d_path to give 'the' filename. Best of luck. :) ------------------------------------------------------------------------------- Jan 'Bulb' Hudec <bulb@ucw.cz> -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/