Messages in this thread |  | | Date | Fri, 14 Sep 2001 22:20:49 +0200 (CEST) | From | Urban Widmark <> | Subject | Re: [OOPS] at smbfs umount in linux-2.4.10-pre5 |
| |
On Mon, 10 Sep 2001, Xuan Baldauf wrote:
> this oops just happened now when trying to unmount an smbfs > mount entry
...
> >>EIP; c013033e <fput+6/c0> <===== > Trace; c529a140 <[smbfs]smb_sops+0/40> > Trace; c52970ea <[smbfs]smb_put_super+26/a8>
fput(server->sock_file), where sock_file is NULL ... ?
> Sep 10 13:09:52 router kernel: smb_dont_catch_keepalive: did > not get valid server!
This complaint is about 'server' or 'server->sock_file' being NULL, probably the sock_file.
I think what happens is that at umount it enters this code: if (server->sock_file) { smb_proc_disconnect(server); smb_dont_catch_keepalive(server); fput(server->sock_file); }
The problem here is that smb_proc_disconnect may run into trouble if the connection is gone. And by the messages smbfs is having connection problems. That will cause smbfs to close the socket and request a new from smbmount.
A fix would be to simply do the disconnect first, and then test sock_file again. Or simply make smb_proc_disconnect not do anything if the connection is bad.
I wonder why this doesn't always crash when the connection is bad. Can you repeat the oops?
> Trying to remount the same smb share at the same mount point > fails. Strace shows that the mount process is stuck in the > "mount" call. Also trying to mount the same samba share at > another mount point hangs.
Once it has crashed here, it holds locks preventing anyone from accessing it.
/Urban
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |