RE: 7.0-BETA4 - witness_warn on boot

From: <mikej_at_paymentallianceintl.com>
Date: Sun, 16 Dec 2007 07:58:09 -0500 (EST)
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
_at__at_ -3862,6 +3862,7 _at__at_
                                                    &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
Received on Sun Dec 16 2007 - 11:58:21 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:24 UTC