>Number:         183406
>Category:       kern
>Synopsis:       gpart label not accessible after reseating disk
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Oct 28 15:50:02 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Michael Gmelin
>Release:        10.0-BETA2
>Organization:
Grem Equity GmbH
>Environment:
FreeBSD  10.0-BETA2 FreeBSD 10.0-BETA2 #0 r257166: Sat Oct 26 19:23:22 UTC 2013 
    r...@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
When pulling a drive and reseating it in another slot, gpart doesn't show the 
drive's partition table anymore. When returning the drive to its original slot, 
 it shows up again just fine.

Controller is LSI SAS 2008 based 9211i-IT (mps(4) driver), running all attached 
drives as JBODs.

After reseating the drive to the correct slot, resilvering ZFS works fine as 
well. When it remains in the other slot, all kinds of terrible things start 
happening (including gpart segfaulting at some point). A reboot fixes all those 
issues.
 
camcontrol rescan all etc. won't help.

I'm not certain if this is due to the mps(4) driver (the drive always shows up 
as the same lun target, regardless of which slot) or an issue in gpart/geom, 
therefore I didn't specify in the synopsis.

>How-To-Repeat:
Hotswap a drive to a new bay.

Example procedure:
Show partition table (disk da1 is a spare):

[root@ ~]# gpart show -l
=>       34  585937433  da0  GPT  (279G)
         34        128    1  (null)  (64K)
        162   67108864    2  swapbay0  (32G)
   67109026  518828441    3  databay0  (247G)

=>       34  585937433  da1  GPT  (279G)
         34        128    1  (null)  (64K)
        162   67108864    2  swapbay2  (32G)
   67109026  518828441    3  databay2  (247G)

=>       34  585937433  da2  GPT  (279G)
         34        128    1  (null)  (64K)
        162   67108864    2  swapbay1  (32G)
   67109026  518828441    3  databay1  (247G)

=>       34  585937433  diskid/DISK-6SJ4HSQR0000N23132VX  GPT  (279G)
         34        128                                 1  (null)  (64K)
        162   67108864                                 2  swapbay2  (32G)
   67109026  518828441                                 3  databay2  (247G)

Pull drive da2:
Oct 28 15:11:34  kernel: da2 at mps0 bus 0 scbus7 target 0 lun 0
Oct 28 15:11:34  kernel: da2: <SEAGATE ST3300657SS 0008> s/n 
6SJ2ZBP00000N2318ZSS detached
Oct 28 15:11:34  kernel: (da2:
Oct 28 15:11:34  kernel: mps0:0:0:
Oct 28 15:11:34  kernel: 0): Periph destroyed

Also disappeared from gpart (as expected):

[root@ ~]# gpart show -l
=>       34  585937433  da0  GPT  (279G)
         34        128    1  (null)  (64K)
        162   67108864    2  swapbay0  (32G)
   67109026  518828441    3  databay0  (247G)

=>       34  585937433  da1  GPT  (279G)
         34        128    1  (null)  (64K)
        162   67108864    2  swapbay2  (32G)
   67109026  518828441    3  databay2  (247G)

=>       34  585937433  diskid/DISK-6SJ4HSQR0000N23132VX  GPT  (279G)
         34        128                                 1  (null)  (64K)
        162   67108864                                 2  swapbay2  (32G)
   67109026  518828441                                 3  databay2  (247G)

Reseat drive in a different slot:
Oct 28 15:12:08  kernel: da2 at mps0 bus 0 scbus7 target 0 lun 0
Oct 28 15:12:08  kernel: da2: <SEAGATE ST3300657SS 0008> Fixed Direct Access 
SCSI-5 device 
Oct 28 15:12:08  kernel: da2: Serial Number 6SJ2ZBP00000N2318ZSS
Oct 28 15:12:08  kernel: da2: 600.000MB/s transfers
Oct 28 15:12:08  kernel: da2: Command Queueing enabled
Oct 28 15:12:08  kernel: da2: 286102MB (585937500 512 byte sectors: 255H 63S/T 
36472C)

And give it some time to spin up... still, it won't show up in gpart

[root@ ~]# gpart show -l
=>       34  585937433  da0  GPT  (279G)
         34        128    1  (null)  (64K)
        162   67108864    2  swapbay0  (32G)
   67109026  518828441    3  databay0  (247G)

=>       34  585937433  da1  GPT  (279G)
         34        128    1  (null)  (64K)
        162   67108864    2  swapbay2  (32G)
   67109026  518828441    3  databay2  (247G)

=>       34  585937433  diskid/DISK-6SJ4HSQR0000N23132VX  GPT  (279G)
         34        128                                 1  (null)  (64K)
        162   67108864                                 2  swapbay2  (32G)
   67109026  518828441                                 3  databay2  (247G)

[root@ ~]# gpart status
                              Name  Status  Components
                             da0p1      OK  da0
                             da0p2      OK  da0
                             da0p3      OK  da0
                             da1p1      OK  da1
                             da1p2      OK  da1
                             da1p3      OK  da1
diskid/DISK-6SJ4HSQR0000N23132VXp1      OK  diskid/DISK-6SJ4HSQR0000N23132VX
diskid/DISK-6SJ4HSQR0000N23132VXp2      OK  diskid/DISK-6SJ4HSQR0000N23132VX
diskid/DISK-6SJ4HSQR0000N23132VXp3      OK  diskid/DISK-6SJ4HSQR0000N23132VX

Remove the drive and reseat it in the original drive bay, wait a few seconds at 
it shows up in gpart just fine:

[root@ ~]# gpart show -l
=>       34  585937433  da0  GPT  (279G)
         34        128    1  (null)  (64K)
        162   67108864    2  swapbay0  (32G)
   67109026  518828441    3  databay0  (247G)

=>       34  585937433  da1  GPT  (279G)
         34        128    1  (null)  (64K)
        162   67108864    2  swapbay2  (32G)
   67109026  518828441    3  databay2  (247G)

=>       34  585937433  diskid/DISK-6SJ4HSQR0000N23132VX  GPT  (279G)
         34        128                                 1  (null)  (64K)
        162   67108864                                 2  swapbay2  (32G)
   67109026  518828441                                 3  databay2  (247G)

=>       34  585937433  da2  GPT  (279G)
         34        128    1  (null)  (64K)
        162   67108864    2  swapbay1  (32G)
   67109026  518828441    3  databay1  (247G)

>Fix:
na

>Release-Note:
>Audit-Trail:
>Unformatted:
_______________________________________________
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to