I'm working on LLDD for a SAS/SATA host adapter, and trying to understand how 
the system handles link loss and recovery.

Say I have a device that gets recognized and attached as sd 12:0:4:0, at 
/dev/sdb.
The drive goes offline temporarily, then comes back online.
When it does, it comes back as sd 12:0:5:0, and maybe /dev/sdb, maybe /dev/sdc.

I'm not sure how the Id gets assigned.  Since this is the same drive, is there 
some way my driver can tell libsas and/or SCSI core that it's the same drive 
coming back?
Or is there no way to control that?

I looked into /dev/disk/by-id, but that also didn't quite do what I expected.  
If I open /dev/disk/by-id/some_identifier, that's a symlink to, say, /dev/sdb.  
/dev/sdb goes away, comes back as /dev/sdc, but my process doesn't know that, 
it still has /dev/disk/by-id/some_identifier opened and so it will never 
recover without closing and reopening the file.

Thanks for any help or insight you can give.

Chris Moore

Reply via email to