From owner-freebsd-current@FreeBSD.ORG Sun Dec 16 12:58:21 2007 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CFAE516A417 for ; Sun, 16 Dec 2007 12:58:21 +0000 (UTC) (envelope-from mikej@paymentallianceintl.com) Received: from mx2.confluenttech.com (mx2.confluentasp.com [216.26.153.14]) by mx1.freebsd.org (Postfix) with ESMTP id 7592013C45A for ; Sun, 16 Dec 2007 12:58:21 +0000 (UTC) (envelope-from mikej@paymentallianceintl.com) Received: from mikej.com ([10.0.6.241]) by mx2.confluenttech.com (8.14.1/8.12.9) with SMTP id lBGCw9jX034062; Sun, 16 Dec 2007 07:58:46 -0500 (EST) (envelope-from mikej@paymentallianceintl.com) Date: Sun, 16 Dec 2007 07:58:09 -0500 (EST) From: mikej@paymentallianceintl.com Message-Id: <200712161258.lBGCw9jX034062@mx2.confluenttech.com> To: undisclosed-recipients:; X-Mailman-Approved-At: Sun, 16 Dec 2007 13:45:29 +0000 Subject: RE: 7.0-BETA4 - witness_warn on boot X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Dec 2007 12:58:21 -0000 This simple patch should fix it. This code path is pretty rare, though, I'm frankly shocked that you're running into it. --- cam_xpt.c 20 Oct 2007 23:23:12 -0000 1.191 +++ cam_xpt.c 16 Dec 2007 07:46:22 -0000 @@ -3862,6 +3862,7 @@ &work_ccb->ccb_h, xpt_links.stqe); + mtx_unlock(&xsoftc.xpt_lock); continue; } else { /* Scott The patch failed: Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |--- cam_xpt.c 20 Oct 2007 23:23:12 -0000 1.191 |+++ cam_xpt.c 16 Dec 2007 07:46:22 -0000 -------------------------- Patching file cam_xpt.c using Plan A... Hunk #1 failed at 3862. 1 out of 1 hunks failed--saving rejects to cam_xpt.c.rej Done (cam_xpt.c.reg) *************** *** 3862,3867 **** &work_ccb->ccb_h, xpt_links.stqe); continue; } else { /* --- 3862,3868 ---- &work_ccb->ccb_h, xpt_links.stqe); + mtx_unlock(&xsoftc.xpt_lock); continue; } else { /* However, I manually modified cam_xpt.c like this and now the kernel boots and all seems well! STAILQ_INSERT_TAIL(&xsoftc.highpowerq, &work_ccb->ccb_h, xpt_links.stqe); mtx_unlock(&xsoftc.xpt_lock); continue; } else { /* * Consume a high power slot while * this ccb runs. */ Thanks. --mikej