Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Jan 2012 03:36:04 GMT
From:      Garrett Cooper <yanegomi@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   kern/164132: "xptioctl: pass device not in the kernel" noise when hot swapping drives in 9.x
Message-ID:  <201201150336.q0F3a4g9055160@red.freebsd.org>
Resent-Message-ID: <201201150340.q0F3e4w1035356@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         164132
>Category:       kern
>Synopsis:       "xptioctl: pass device not in the kernel" noise when hot swapping drives in 9.x
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jan 15 03:40:03 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Garrett Cooper
>Release:        9.0-STABLE
>Organization:
n/a
>Environment:
FreeBSD bayonetta.local 9.0-STABLE FreeBSD 9.0-STABLE #1 r229323M: Mon Jan  2 14:32:54 PST 2012     gcooper@bayonetta.local:/usr/obj/store/freebsd/stable/9/sys/BAYONETTA  amd64
>Description:
Was doing hot swap drive testing with a mps-enabled chassis and SAS drives and when I pulled a SAS drive xpt(4) spit out a slew of errors from the following lines of code (from .../sys/cam/cam_xpt.c):

 766                         /*
 767                          * It is unfortunate that this is even necessary,
 768                          * but there are many, many clueless users out ther     e.
 769                          * If this is true, the user is looking for the
 770                          * passthrough driver, but doesn't have one in his
 771                          * kernel.
 772                          */
 773                         if (base_periph_found == 1) {
 774                                 printf("xptioctl: pass driver is not in the      "
 775                                        "kernel\n");
 776                                 printf("xptioctl: put \"device pass\" in "
 777                                        "your kernel config file\n");
 778                         }

Even though the pass device was in the kernel.

The check should probably be refined to check for pass devices.
>How-To-Repeat:
1. Take a Dell/Supermicro machine with an mps controller and at least 2 devices; setup something other than a RAID0 config with either UFS or ZFS (the issue was reproduced with ZFSv28 and the zfsd patches) so you have enough disks to toy with without accidentally taking down the box.
2. Install 9.0-RELEASE [with the zfsd patches if desired].
3. Add some devd rules to query/manipulate the drive enclosure state via getencstat/setencstat (see .../share/examples/ses/setencstat).
>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:



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