On Wed, 24 Jan 2007 00:11:47 +1100 Aboo Valappil wrote:

> Hi Stefan Richter,
> 
> Thanks everyone for their advice on this. As per your advice, I did the 
> following when the last user space target serving the scsi_host quits, 
> the queue command will do the following on the new commands coming through.
> 
>                 sc->result = DID_NO_CONNECT << 16;
>                 sc->resid = sc->request_bufflen;
>                 set_sensedata_commfailure(sc);  --------------------- 
> This sets the sense buffer with Device Not ready/Logical Unit 
> Commincation failure.
>                 done(sc);
> 
> The scsi_host will remain in the kernel. Let the EH thread handle the 
> queued commands (If any). If the user target wants to reconnects to the 
> same scsi_host, it can do so (Just re-run the user space target again 
> with same command line paramters).  This connection from newly started 
> target will make the HBA healthy again and start serving IO.
> 
> I implemented a new IOCTL to remove  this  scsi_host  if the user 
> process really needs to.  This removal  will first  finish all the SCSI 
> commands (With the above status results) queued on the scsi_host  (If at 
> all) and then remove the scsi_host.  Also the module unload will delete 
> all the scsi_hosts created after finishing all the commands queued with 
> the above status and sense information.
> 
> I also implemented passing of sense code information from user space to 
> sense_buffer. A little more work needs to be done on this.
> Also, I need to make sure that all the locking used inside is correctly 
> implemented to prevent dead locks and improve efficiency.
> 
> The new version is available http://vscsihba.aboo.org/vscsihbav204.gz

404: NOT FOUND

---
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to