mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
[SCSI] Fix device not ready printk
Because scsi_print_sense_hdr prefixes with KERN_INFO, the output from scsi_io_completion looks like: sd 0:0:0:0: [sdb] Device not ready: <6>: Sense Key : 0x2 [current] : ASC=0x4 ASCQ=0x3 By using scsi_show_sense_hdr, we can get the much more appealing output: sd 0:0:0:0: [sdb] Device not ready: Sense Key : 0x2 [current] sd 0:0:0:0: [sdb] Device not ready: ASC=0x4 ASCQ=0x3 Acked-by: Matthew Wilcox <willy@linux.intel.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
12a441622b
commit
311b581e1d
3 changed files with 21 additions and 5 deletions
|
@ -1235,6 +1235,20 @@ scsi_print_sense_hdr(const char *name, struct scsi_sense_hdr *sshdr)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(scsi_print_sense_hdr);
|
EXPORT_SYMBOL(scsi_print_sense_hdr);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Print normalized SCSI sense header with device information and a prefix.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
scsi_cmd_print_sense_hdr(struct scsi_cmnd *scmd, const char *desc,
|
||||||
|
struct scsi_sense_hdr *sshdr)
|
||||||
|
{
|
||||||
|
scmd_printk(KERN_INFO, scmd, "%s: ", desc);
|
||||||
|
scsi_show_sense_hdr(sshdr);
|
||||||
|
scmd_printk(KERN_INFO, scmd, "%s: ", desc);
|
||||||
|
scsi_show_extd_sense(sshdr->asc, sshdr->ascq);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(scsi_cmd_print_sense_hdr);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
scsi_decode_sense_buffer(const unsigned char *sense_buffer, int sense_len,
|
scsi_decode_sense_buffer(const unsigned char *sense_buffer, int sense_len,
|
||||||
struct scsi_sense_hdr *sshdr)
|
struct scsi_sense_hdr *sshdr)
|
||||||
|
|
|
@ -944,11 +944,11 @@ void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!(req->cmd_flags & REQ_QUIET)) {
|
if (!(req->cmd_flags & REQ_QUIET))
|
||||||
scmd_printk(KERN_INFO, cmd,
|
scsi_cmd_print_sense_hdr(cmd,
|
||||||
"Device not ready: ");
|
"Device not ready",
|
||||||
scsi_print_sense_hdr("", &sshdr);
|
&sshdr);
|
||||||
}
|
|
||||||
scsi_end_request(cmd, 0, this_count, 1);
|
scsi_end_request(cmd, 0, this_count, 1);
|
||||||
return;
|
return;
|
||||||
case VOLUME_OVERFLOW:
|
case VOLUME_OVERFLOW:
|
||||||
|
|
|
@ -9,6 +9,8 @@ extern void __scsi_print_command(unsigned char *);
|
||||||
extern void scsi_show_extd_sense(unsigned char, unsigned char);
|
extern void scsi_show_extd_sense(unsigned char, unsigned char);
|
||||||
extern void scsi_show_sense_hdr(struct scsi_sense_hdr *);
|
extern void scsi_show_sense_hdr(struct scsi_sense_hdr *);
|
||||||
extern void scsi_print_sense_hdr(const char *, struct scsi_sense_hdr *);
|
extern void scsi_print_sense_hdr(const char *, struct scsi_sense_hdr *);
|
||||||
|
extern void scsi_cmd_print_sense_hdr(struct scsi_cmnd *, const char *,
|
||||||
|
struct scsi_sense_hdr *);
|
||||||
extern void scsi_print_sense(char *, struct scsi_cmnd *);
|
extern void scsi_print_sense(char *, struct scsi_cmnd *);
|
||||||
extern void __scsi_print_sense(const char *name,
|
extern void __scsi_print_sense(const char *name,
|
||||||
const unsigned char *sense_buffer,
|
const unsigned char *sense_buffer,
|
||||||
|
|
Loading…
Reference in a new issue