[OpenAFS-devel] oops on trying to unmount /afs [i386_linux24, SMP]
Daniel Jacobowitz
dmj+afs@andrew.cmu.edu
Sun, 26 Nov 2000 17:09:56 -0500
On Mon, Nov 20, 2000 at 05:58:18PM -0500, Chas Williams wrote:
> >The best guess I have is that afsd tried to generate traffic and the afs
> >module tries to process it while we're shutting down - perhaps something is
> >not being done atomically? I've never successfully unmounted AFS on this
> >configuration, while I know that it works on 2.2 UP systems.
>
> i saw this problem while debugging the linux 2.4 version of afs.
> the sock_release() in LINUX/rx_knet.c is the 'culprit'. the socket
> is freed, but its looks like someone is still using it at the time.
> i 'fixed' the problem by commenting sock_release() and printk'ing
> a reminder. perhaps a lock_kernel()/unlock_kernel() around the
> sock_release()?
>
> >>>EIP; c0123c4a <remove_wait_queue+6/24> <=====
> >Trace; c0216fd6 <wait_for_packet+e6/12c>
> >Trace; c02170ec <skb_recv_datagram+d0/f0>
> >Trace; c023b805 <udp_recvmsg+55/230>
> >Trace; c0240ee0 <inet_recvmsg+58/70>
> >Trace; c02137a1 <sock_recvmsg+3d/ac>
> >Trace; ca958c7d <[openafs.mp]osi_NetReceive+bd/f8>
Well, do you mean the sock_release in rxk_NewSocket or in
osi_StopListener? I can't see how the one in rxk_NewSocket could be
the problem, but I see that it's commented out.
I'm about to try with a lock_kernel() around the other and see if it
helps any.
Dan
/--------------------------------\ /--------------------------------\
| Daniel Jacobowitz |__| SCS Class of 2002 |
| Debian GNU/Linux Developer __ Carnegie Mellon University |
| dan@debian.org | | dmj+@andrew.cmu.edu |
\--------------------------------/ \--------------------------------/