Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Jul 2006 12:19:22 +0900
From:      SANETO Takanori <sanewo@ba2.so-net.ne.jp>
To:        John Baldwin <jhb@freebsd.org>
Cc:        bp@freebsd.org, freebsd-current@freebsd.org, Jiawei Ye <leafy7382@gmail.com>
Subject:   Re: lockmgr: thread 0xc21e2780 unlocking unheld lock
Message-ID:  <44B85EBA.3080207@ba2.so-net.ne.jp>
In-Reply-To: <200607111101.47747.jhb@freebsd.org>
References:  <c21e92e20607110629t490a7abv1cd6f4eb84f19e66@mail.gmail.com> <200607111101.47747.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
I think that "==" should be "!=" in the patched code.

John Baldwin wrote:
> On Tuesday 11 July 2006 09:29, Jiawei Ye wrote:
>> I was doing "sudo mount_smbfs //user@server/share /mnt" when the
>> following msg appeared. smbfs.ko was not loaded.
> 
> Does building with INVARIANTS fix it?  If so, try this patch (it looks
> like it has been broken since 1.1 of the smbfs code):
> 
> Index: smb_conn.c
> ===================================================================
> RCS file: /usr/cvs/src/sys/netsmb/smb_conn.c,v
> retrieving revision 1.16
> diff -u -r1.16 smb_conn.c
> --- smb_conn.c	31 Oct 2005 15:41:27 -0000	1.16
> +++ smb_conn.c	11 Jul 2006 15:01:10 -0000
> @@ -233,7 +233,8 @@
>  	lockinit(&cp->co_lock, PZERO, objname, 0, 0);
>  	cp->co_level = level;
>  	cp->co_usecount = 1;
> -	KASSERT(smb_co_lock(cp, LK_EXCLUSIVE, td) == 0, ("smb_co_init: lock 
> failed"));
> +	if (smb_co_lock(cp, LK_EXCLUSIVE, td) == 0)
> +	    panic("smb_co_init: lock failed"));
>  }
>  
>  static void
> 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44B85EBA.3080207>