Boaz Harrosh aa9fffbe2c [SCSI] libosd: Error handling revamped
Administer some love to the osd_req_decode_sense function

* Fix a bad bug with osd_req_decode_sense(). If there was no scsi
  residual, .i.e the request never reached the target, then all the
  osd_sense_info members where garbage.

* Add grossly missing in/out_resid to osd_sense_info and fill them in
  properly.

* Define an osd_err_priority enum which divides the possible errors into
  7 categories in ascending severity. Each category is also assigned a
  Linux return code translation.

  Analyze the different osd/scsi/block returned errors and set the
  proper osd_err_priority and Linux return code accordingly.

* extra check a few situations so not to get stuck with inconsistent
  error view. Example an empty residual with an error code, and other
  places ...

Lots of libosd's osd_req_decode_sense clients had this logic in some
form or another. Consolidate all these into one place that should
actually know about osd returns. Thous translating it to a more
abstract error.

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
2009-12-04 12:01:47 -06:00
..
2009-12-04 12:01:05 -06:00
2009-03-12 12:58:06 -05:00
2009-03-12 12:58:06 -05:00
2009-06-12 14:20:05 -05:00
2007-10-12 14:51:56 -04:00
2006-04-14 15:47:45 -05:00
2007-10-12 14:37:50 -04:00
2005-04-16 15:20:36 -07:00
2008-07-12 08:22:32 -05:00
2006-06-17 20:37:38 -07:00