From owner-cvs-all Tue Nov 26 17:34: 6 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 67C5037B401; Tue, 26 Nov 2002 17:34:04 -0800 (PST) Received: from smtp01.iprimus.net.au (smtp01.iprimus.net.au [210.50.30.70]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8AA7C43EAF; Tue, 26 Nov 2002 17:34:02 -0800 (PST) (envelope-from tim@robbins.dropbear.id.au) Received: from dilbert.robbins.dropbear.id.au ([210.50.251.18]) by smtp01.iprimus.net.au with Microsoft SMTPSVC(5.0.2195.5600); Wed, 27 Nov 2002 12:33:58 +1100 Received: from dilbert.robbins.dropbear.id.au (ojycueby4edyojc8@localhost [127.0.0.1]) by dilbert.robbins.dropbear.id.au (8.12.6/8.12.6) with ESMTP id gAR1Xqf1012303; Wed, 27 Nov 2002 12:33:52 +1100 (EST) (envelope-from tim@dilbert.robbins.dropbear.id.au) Received: (from tim@localhost) by dilbert.robbins.dropbear.id.au (8.12.6/8.12.6/Submit) id gAR1XoUI012302; Wed, 27 Nov 2002 12:33:50 +1100 (EST) (envelope-from tim) Date: Wed, 27 Nov 2002 12:33:50 +1100 From: Tim Robbins To: Robert Watson Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/netsmb smb_trantcp.c Message-ID: <20021127123350.A11691@dilbert.robbins.dropbear.id.au> References: <200211262353.gAQNrSLi021861@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: ; from rwatson@FreeBSD.org on Tue, Nov 26, 2002 at 07:02:42PM -0500 X-OriginalArrivalTime: 27 Nov 2002 01:33:59.0351 (UTC) FILETIME=[0F06AC70:01C295B5] Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Tue, Nov 26, 2002 at 07:02:42PM -0500, Robert Watson wrote: > > On Tue, 26 Nov 2002, Tim J. Robbins wrote: > > > tjr 2002/11/26 15:53:28 PST > > > > Modified files: > > sys/netsmb smb_trantcp.c > > Log: > > Fix a fatal typo introduced in revision 1.13 that caused the mbuf chains to > > be created incorrectly for requests larger than NB_SORECEIVE_CHUNK bytes. > > > > Approved by: re > > Tim, thanks for working on this! Do we know what shape we're in now WRT > smbfs stability and functionality generally? Can I check off smbfs > entirely in our TODO list, or is this just a piece of the picture? A bug in m_getm() is still preventing it from working properly. I'll send the patch to re@ for approval shortly. After I commit that, smbfs should being working as well on -current as it does on -stable. I've seen these two panics in the past few days while stressing out the code. I think they exist in -stable too. "panic: mutex srslock not owned", coming from this in netsmb/smb_iod.c: /* * Invalidate all outstanding requests for this connection */ SMB_IOD_RQLOCK(iod); TAILQ_FOREACH(rqp, &iod->iod_rqlist, sr_link) { if (rqp->sr_flags & SMBR_INTERNAL) SMBRQ_SUNLOCK(rqp); ^^^^^^^^^^^^^^^^^^^ On uniprocessor 4.x kernels, SMBRQ_SUNLOCK expands to nothing at all, so trying to unlock something that isn't locked does not get detected. I still can't figure out why the unlock is here at all, but it's unsafe and will cause panics on -current and 4.x SMP kernels. "panic: getnewvnode: free vnode isn't", unknown cause. So, smbfs works fine as long as you are careful, don't use umount -f, and don't disconnect the client from the server without unmounting the share. Tim To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message