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