[4467] in Athena Bugs

home help back first fref pref prev next nref lref last post

re: NFS server panic: protection fault

daemon@ATHENA.MIT.EDU (John T Kohl)
Thu Mar 8 09:15:37 1990

Date: Thu, 8 Mar 90 09:15:11 -0500
From: John T Kohl <jtkohl@ATHENA.MIT.EDU>
To: bugs@ATHENA.MIT.EDU, dkk@ATHENA.MIT.EDU, jfc@ATHENA.MIT.EDU
In-Reply-To: [4460]
I looked a bit at the code John Carr pointed to in his earlier message.

I think what is happening is a race between two processes/nfsd's trying
to get the same inode.  If I can get access to a crashdump I can
probably confirm this guess:

process 1 runs through the code, and gets as far as NULLing the freelist
pointers in the inode.

process 2 runs through the code, and gets a protection fault.

This seems to happen because the locking protocol is race-prone here:
the lock is checked before removing the inode from the freelist, but the
lock is not obtained until AFTER removing it from the freelist; a
process switch can happen in the interim.

John

home help back first fref pref prev next nref lref last post