On Saturday 06 February 2016 16:09:53 Johan Huldtgren wrote:
> > Not sure. Perhaps these drives don't have good meta data due to the
> > crash?
> > Can you set sr_debug = SR_D_STATE | SR_D_META and see if that prints
> > anything informative?
> 
> well we now get lots more:
> 
> softraid0 at root
> scsibus5 at softraid0: 256 targets
> softraid0: sr_boot_assembly
> softraid0: sr_meta_native_bootprobe
[snip]
> softraid0: assembling volume 05a4f9a1-e533-4e6b-ad0c-7051a541c881 volid
> 0 with 8 chunks
> softraid0: using ondisk metadata version 64 for chunk 0
> softraid0: using ondisk metadata version 64 for chunk 1
> softraid0: using ondisk metadata version 63 for chunk 2
> softraid0: using ondisk metadata version 63 for chunk 3
> softraid0: using ondisk metadata version 63 for chunk 4
> softraid0: using ondisk metadata version 63 for chunk 5
> softraid0: using ondisk metadata version 63 for chunk 6
> softraid0: using ondisk metadata version 63 for chunk 7

This is the reason that the volume will not reassemble - two of your chunks 
have metadata with version 64, while the rest have version 63. As such, only 
chunks 0 and 1 are considered to be online - all others have old metadata and 
are marked offline.

This most likely occurred due to the original panic (from another mail in the 
same thread):

panic: Non dma-reachable buffer at curaddr 0xffffffff81115888(raw)
Stopped at Debugger+0x9: leave
TID PID UID PRFLAGS PFLAGS CPU COMMAND
*25637 25637 0 0x14000 0x200 1 srdis
Debugger() at Debugger+0x9
panic() at panic+0xfe
_bus_dmamap_load_buffer() at _bus_dmamap_load_buffer+0x1b6
_bus_dmamap_load() at _bus_dmamap_load+0x7f
ahci_load_prdt() at ahci_load_prdt+0x97
ahci_ata_cmd() at ahci_ata_cmd+0x69
atascsi_disk_cmd() at atascsis_disk_cmd+0x1b1
scsi_xs_exec() scsi_xs_exec+0x35
sdstart() at sdstart+0x16f
scsi_iopool_run() at scsi_iopool_run+0x5d
scsi_xsh_runqueue() at scsi_xsh_runqueue+0x13d
scsi_xsh_add() at scsi_xsh_add+0x98
sdstrategy() at sdstrategy+0x10f
spec_strategy() at spec_strategy+0x53

My guess is that it was in the process of writing out new metadata (version 
64) when it paniced due to the AHCI driver being passed a non dma-reachable 
buffer. This is most likely due to a bug in the softraid code - we're likely 
using a malloc'd buffer in a place where we need to use a dma_alloc'd one.

Reply via email to