vn_fullpath question.
Nikolay Pavlov
quetzal at zone3000.net
Tue Nov 28 17:55:40 UTC 2006
On Tuesday, 28 November 2006 at 16:46:20 +0100, Oliver Fromme wrote:
> Robert Watson wrote:
> > Nikolay Pavlov wrote:
> >
> > > Hi. I am trying to extend fstat utility, so that it can use name cache to
> > > recreate full path at least for text. I have found vn_fullpath function
> > > usefull in this case. I am newbe in C, so it could be stupid question, but
> > > could someone explaine what is "struct thread *td" in argument list of this
> > > function. Is this the thread which opened the vnode initially or it is the
> > > thread which searches for the vnode? i.e. fstat thread. In any case how i
> > > can get this *td structure?
> >
> > vn_fullpath(9) is a kernel API, not a user API, so can only be invoked from
> > kernel space. There are unimplemented, undocumented prototypes in the system
> > call table for __getpath_fromfd() and __getpath_fromaddr(), which are
> > presumably intended (with adequate permissions) to allow converting file
> > descriptor indexes into paths, etc. I think Peter dropped them in, but I'm
> > not sure if he's posted patches.
>
> Nikolay, you might want to have a look at the source code
> of the "lsof" utility (ports/sysutils/lsof). It is able
> to display path names for file descriptors. Maybe you can
> borrow an idea from it.
That's iteresting. The lsof utility is able to display original file
path for me even for text vnodes.
>
> It might also be worth mentioning that our friends from the
> DragonFly BSD project (derived from FreeBSD 4) have added
> the ability to display path names to their version of the
> fstat utility. You can look at their cvsweb here:
> http://www.dragonflybsd.org/cvsweb/src/usr.bin/fstat/
>
> However, I suspect that they have also made modifications
> to the kernel interfaces in order to support the fstat
> utility, so their improvements to that utility might not
> be applicable to FreeBSD.
Yes. They namecache API was totaly rewritten.
>
> Best regards
> Oliver
>
> --
> Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
> Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd
> Any opinions expressed in this message may be personal to the author
> and may not necessarily reflect the opinions of secnetix in any way.
>
> "That's what I love about GUIs: They make simple tasks easier,
> and complex tasks impossible."
> -- John William Chambless
--
======================================================================
- Best regards, Nikolay Pavlov. <<<-----------------------------------
======================================================================
More information about the freebsd-hackers
mailing list