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