Bug 206008

Summary: Cannot detect hot-swapped SATA drives on camcontrol rescan/reset
Product: Base System Reporter: Kevin <kburetta>
Component: miscAssignee: freebsd-bugs (Nobody) <bugs>
Status: New ---    
Severity: Affects Many People CC: amd64
Priority: ---    
Version: 10.1-STABLE   
Hardware: amd64   
OS: Any   

Description Kevin 2016-01-07 17:37:49 UTC
Using this hardware:
•	Dell PowerEdge R530
    o	Intel Dual Port 82599EB 10-Gigabit SFP+ Network
    o	Intel Quad Port I350 Gigabit Network Connection
    o	LSI 9201-16e SAS HBA (6 Gbit/s)
    o	8x 16GB DDR4 RAM
•	SuperMicro SC847E16-RJBOD1 disk shelf
    o	Supermicro PWS-1K41P-1R 1400W power supply
•	SFF-8088  to SFF-8088 external SAS cables

•	HDDs
    o   Seagate ST6000NM024 6TB SATA enterprise HDD
•	SSDs
    o   Samsung 850 Pro MZ-7KE1T0BW 1TB SATA SSD


When I have a drive failure and replace said drive (hotswap). The device is not detected in FreeBSD while the system is hot. Camcontrol rescan/reset all does not result in drive detection of the newly attached drive.
However, restarting the server does cause the drive to be detected after boot.


This is what /var/log/messages looks like at the time of drive failure::

Jan  4 22:15:40 sea-zed-01 kernel: (da75:mps0:0:99:0): WRITE(16). CDB: 8a 00 00 00 00 01 5c 72 9e 08 00 00 00 10 00 00 length 8192 SMID 628 command timeout cm 0xfffffe0000b8f840 ccb 0xfffff8005d759800
Jan  4 22:15:44 sea-zed-01 kernel: (noperiph:mps0:0:4294967295:0): SMID 1 Aborting command 0xfffffe0000b8f840
Jan  4 22:15:44 sea-zed-01 kernel: (da75:mps0:0:99:0): WRITE(16). CDB: 8a 00 00 00 00 01 5c 72 9e 08 00 00 00 10 00 00
Jan  4 22:15:44 sea-zed-01 kernel: mps0: (da75:mps0:0:99:0): CAM status: Command timeout
Jan  4 22:15:44 sea-zed-01 kernel: IOCStatus = 0x4b while resetting device 0x20
Jan  4 22:15:44 sea-zed-01 kernel: (da75:mps0:0:99:0): Retrying command
Jan  4 22:15:44 sea-zed-01 kernel: da75 at mps0 bus 0 scbus0 target 99 lun 0
Jan  4 22:15:44 sea-zed-01 kernel: da75: <ATA ST6000NM0024-1HT SN02> s/n             Z4D1AEAN detached
Jan  4 22:15:44 sea-zed-01 kernel: GEOM_ELI: Crypto WRITE request failed (error=6). gpt/b15.eli[WRITE(offset=2993143136256, length=8192)]
Jan  4 22:15:44 sea-zed-01 kernel: GEOM_ELI: g_eli_read_done() failed gpt/b15.eli[READ(offset=270336, length=8192)]
Jan  4 22:15:44 sea-zed-01 kernel: GEOM_ELI: g_eli_read_done() failed gpt/b15.eli[READ(offset=5999999328256, length=8192)]
Jan  4 22:15:44 sea-zed-01 kernel: GEOM_ELI: g_eli_read_done() failed gpt/b15.eli[READ(offset=5999999590400, length=8192)]
Jan  4 22:15:44 sea-zed-01 kernel: GEOM_ELI: Crypto WRITE request failed (error=6). gpt/b15.eli[WRITE(offset=2993143144448, length=131072)]
Jan  4 22:15:44 sea-zed-01 kernel: GEOM_ELI: Device gpt/b15.eli destroyed.
Jan  4 22:15:44 sea-zed-01 kernel: GEOM_ELI: Detached gpt/b15.eli on last close.
Jan  4 22:15:44 sea-zed-01 kernel: (da75:mps0:0:99:0): Periph destroyed
Jan  5 07:17:12 sea-zed-01 [sssd[krb5_child[66189]]]: Preauthentication failed
Jan  5 07:17:12 sea-zed-01 [sssd[krb5_child[66189]]]: Preauthentication failed
Jan  5 07:17:12 sea-zed-01 sshd[66188]: in openpam_check_error_code(): pam_sm_authenticate(): unexpected return value 16
Jan  5 07:17:12 sea-zed-01 sshd[66185]: error: PAM: authentication error for kburetta from helpdesk0941.brivmrc.org


/var/log/messages shows no new entries at the time of drive insertion.

To reiterate, restarting the machine will detect the drive. But rescanning or resetting the bus does not.