the messages is:

Dec 18 10:08:55 localhost kernel: sdb: Current [descriptor]: sense key: Recovered Error
Dec 18 10:08:55 localhost kernel:     Add. Sense: ATA pass through information available
Dec 18 10:08:55 localhost kernel: 
Dec 18 10:08:55 localhost kernel: Descriptor sense data with sense descriptors (in hex):
Dec 18 10:08:55 localhost kernel:         72 01 00 1d 00 00 00 0e 09 0c 00 00 00 00 00 00 
Dec 18 10:08:55 localhost kernel:         00 4f 00 c2 00 50 

How to understand this messages ? Thank you


This relates to a transient issue on a disk drive (which is implied by the error message and the "hdb"). Its difficult to advise more then that, but it could be an error reading the disk while its spinning up or something like that - It could also be a driver error or slight incompatibility.

It might be useful to advise what kind of disks you have, what kernel and what configuration - although I'm not sure its anything worth spending time on.

| improve this answer | |
  • 1
    Psst"! There's no "hdb" in the question. – JdeBP Dec 18 '13 at 8:57
  • Sorry, I meant sdb – davidgo Dec 18 '13 at 17:20

It is mostly harmless. Google is full of people reporting no errors recovered by SMART, after seeing this so-called error.

James Bottomley (if you do not know who he is, you may read it here, but in any case he is one of the top Linux Kernel developers) says, about this error:

This is a message the kernel prints out on all recovered error returns (except those marked REQ_QUIET). It's purely informational and doesn't affect return processing of the command at all, so the kernel is actually treating this as a successful completion not an error.

He states this on this Bugzilla page, where he also says it is easy to quiet the error message:

  diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
  index f3c4089..a0235c9 100644
  --- a/drivers/scsi/scsi_lib.c
  +++ b/drivers/scsi/scsi_lib.c
  @@ -774,7 +774,8 @@ void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes)
 * is what gets returned to the user
if (sense_valid && sshdr.sense_key == RECOVERED_ERROR) {
  -     if (!(req->cmd_flags & REQ_QUIET))
  +     if (!(req->cmd_flags & REQ_QUIET) &&
  +         !(sshdr.asc == 0x00 && sshdr.ascq == 0x1d))
        scsi_print_sense("", cmd);
    result = 0;
    /* BLOCK_PC may have set error */

I think you may relax, now.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.