Date: Tue, 28 Nov 2006 19:55:09 +0200 From: Nikolay Pavlov <quetzal@zone3000.net> To: freebsd-hackers@FreeBSD.ORG, rwatson@FreeBSD.ORG Subject: Re: vn_fullpath question. Message-ID: <20061128175509.GA24329@zone3000.net> In-Reply-To: <200611281546.kASFkKFj009715@lurza.secnetix.de> References: <20061128122407.B27930@fledge.watson.org> <200611281546.kASFkKFj009715@lurza.secnetix.de>
next in thread | previous in thread | raw e-mail | index | archive | help
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. <<<----------------------------------- ======================================================================
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061128175509.GA24329>