Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: 5.99.42/i386 crash (backtrace + core available)
On 9 Jan 2011, at 22:08, Adam Hamsik wrote:
>> Looks like we have
>>
>> vnode e15c2170, type nullfs with lower vnode df8295c8, type ffs
>>
>> so here we lookup the lower vnode, need a new one and hit the upper (nullfs)
>> vnode. Trying to lock it always has to lock the lower vnode. This is the
>> background of ad's comment in vclean
>>
>> /* XXXAD should not lock vnode under layer */
>> mutex_exit(&vp->v_interlock);
>> VOP_LOCK(vp, LK_EXCLUSIVE);
>
> Move locking to fs level from vnode level :) *shrugs*
I still like the AmigaOS model:
1.) Each file-system is owned by single AmigaOS process (same as a kernel
thread in NetBSD).
2.) Any kind of file-system operating is done by sending a message to the
file-system process.
3.) The file-system processes messages (usually in order) and sends a
reply to the originator once it has finished.
The advantages were:
1.) No locking is necessary because the file-system process owns all the
data-structures.
2.) Layered file-systems are easy. They just accept messages from
normal processes, create a new message and send it one layer down.
They wait for a reply afterwards and finally send a reply for
the original operation.
Kind regards
--
Matthias Scheler http://zhadum.org.uk/
Home |
Main Index |
Thread Index |
Old Index