Am Donnerstag, 2. Januar 2003 10:44 schrieb Tim Robbins: > On Mon, Dec 30, 2002 at 10:51:20PM +0100, Michael Ranner wrote: > > After mounting the portalfs, > > > > # cat /p/tcp > > > > portalfs hangs instead of expected "cat: /p/telnet: No such file or > > directory"
Ok, I have to correct this. The first access to a file within /p works as expected, but the second access locks the portalfs. e.x. # cat /p/tcp/1.2.3.4/110 works as expected for the first time an returns what you expect from an pop3 server. and # cat /p/xyz returns "cat: /p/xyz: No such file or directory" for the first time. But if you try once again to access portalfs with /cat/tcp/1.2.3.4/110 or cat /p/xyz the portalfs hangs. > I tried but failed to fix this. I think that the vnode locking in > portalfs is hosed. From memory, I think that portal_lookup() was > part of the problem. Try building a kernel with DEBUG_VFS_LOCKS and > watch for the warnings from portalfs. Attached the dmesg output from my kernel with DEBUG_VFS_LOCKS -- /\/\ichael Ranner [EMAIL PROTECTED] - [EMAIL PROTECTED] - [EMAIL PROTECTED] ---------------------------------------------------------------------- JAWA Management Software GmbH - http://www.jawa.at/ Liebenauer Hauptstrasse 2oo - A-8041 Graz Tel +43 316 403274 21 - Fax +43 316 403274 10 ---------------------------------------------------------------------- Mariazell Online - http://www.mariazell.at/ ---------------------------------------------------------------------- -----BEGIN GEEK CODE BLOCK----- GIT/CS/AT dx(-) s+:(++:) a- C++ UBLVS++++$ P++>+++$ L-(+)$ E--- W+++$ N+(++) o-- K- w--()$ O-(--) M@ V-(--) PS+>++ PE(-) Y+ PGP(-) t+ 5+ X+++(++++) R* tv++ b+(++) DI++ D-(--) G- e h--(*) r++ y? ------END GEEK CODE BLOCK------
VOP_LOOKUP (dvp): 0xc4482ce4 is locked but should not be Debugger("Lock violation. ") called. lookup: 0xc4482960 is not locked but should be Debugger("Lock violation. ") called. VOP_CREATEVOBJECT: 0xc4482960 is not locked but should be Debugger("Lock violation. ") called. VOP_GETATTR: 0xc4482960 is not locked but should be Debugger("Lock violation. ") called. VOP_GETATTR: 0xc4482960 is not locked but should be Debugger("Lock violation. ") called. vnode_pager_alloc: 0xc4482960 is not locked but should be Debugger("Lock violation. ") called. VOP_CREATEVOBJECT: 0xc4482960 is not locked but should be Debugger("Lock violation. ") called. VOP_ACCESS: 0xc4482960 is not locked but should be Debugger("Lock violation. ") called. VOP_ACCESS: 0xc4482960 is not locked but should be Debugger("Lock violation. ") called. VOP_GETATTR: 0xc4482960 is not locked but should be Debugger("Lock violation. ") called. VOP_GETATTR: 0xc4482960 is not locked but should be Debugger("Lock violation. ") called. VOP_OPEN: 0xc4482960 is not locked but should be Debugger("Lock violation. ") called. VOP_OPEN: 0xc4482960 is not locked but should be Debugger("Lock violation. ") called. VOP_INACTIVE: 0xc4482960 is not locked but should be Debugger("Lock violation. ") called. VOP_UNLOCK: 0xc4482960 is not locked but should be Debugger("Lock violation. ") called.