blk_update_request: critical medium error, but hdparm is successfulUsing HDPARM to tune drivesHDPARM Keeps...

Non-Italian European mafias in USA?

Is it possible to make a clamp function shorter than a ternary in JS?

Arrow between lines in the align environment

Why can't we make a perpetual motion machine by using a magnet to pull up a piece of metal, then letting it fall back down?

Citing contemporaneous (interlaced?) preprints

If nine coins are tossed, what is the probability that the number of heads is even?

Can a space-faring robot still function over a billion years?

How can I create a Table like this in Latex?

Why is it "take a leak?"

Is there any relevance to Thor getting his hair cut other than comedic value?

Canadian citizen, on US no-fly list. What can I do in order to be allowed on flights which go through US airspace?

What is a term for a function that when called repeatedly, has the same effect as calling once?

What is this waxed root vegetable?

Misplaced tyre lever - alternatives?

Can we carry rice to Japan?

Rationale to prefer local variables over instance variables?

Get length of the longest sequence of numbers with the same sign

Roots of 6th chords on the guitar for different inversions/voicings

Practical reasons to have both a large police force and bounty hunting network?

Is the withholding of funding notice allowed?

What am I? I am in theaters and computer programs

Pure Functions: Does "No Side Effects" Imply "Always Same Output, Given Same Input"?

When was drinking water recognized as crucial in marathon running?

For the Kanji 校 is the fifth stroke connected to the sixth stroke?



blk_update_request: critical medium error, but hdparm is successful


Using HDPARM to tune drivesHDPARM Keeps giving Input/Output ErrorHard disk very slow, failing with more and more errorsHDPARM Security Erase issueRaw reading USB mass storage or SCSIPossible USB pendrive hardware corruptionError when running 'hdparm --dco-identify' in Linuxhdparm error: SG_IO: bad/missing sense dataHdparm set pasword went wronghdparm -S not working as it should













0















I apologize for the long post; the tl;dr version is that I got a couple of "critical medium error" messages in dmesg, but hdparm is able to read the affected sectors just fine. What gives?!



Read on for all the gory details.



I put a Dell H310 (EDIT: flashed to IT mode) in my home server today, with a SAS-SATA cable to connect my hard drives, and a short time after booting (with no complications), I saw the following error appear on the console: blk_update_request: critical medium error, dev sdc, sector 440819800. Immediately concerned, I logged in and checked dmesg, to find the following panic-inducing lines:




[ 3868.082497] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
[ 3868.082516] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
[ 3868.082526] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
[ 3868.082534] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
[ 3868.082541] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
[ 3868.082549] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
[ 3868.082652] sd 2:0:2:0: [sdc] tag#3 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 3868.082665] sd 2:0:2:0: [sdc] tag#3 Sense Key : Medium Error [current]
[ 3868.082676] sd 2:0:2:0: [sdc] tag#3 Add. Sense: Unrecovered read error
[ 3868.082688] sd 2:0:2:0: [sdc] tag#3 CDB: Read(10) 28 00 1a 46 5b 00 00 05 80 00
[ 3868.082696] blk_update_request: critical medium error, dev sdc, sector 440819800
[ 3872.487468] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
[ 3872.487484] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
[ 3872.487559] sd 2:0:2:0: [sdc] tag#1 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 3872.487571] sd 2:0:2:0: [sdc] tag#1 Sense Key : Medium Error [current]
[ 3872.487590] sd 2:0:2:0: [sdc] tag#1 Add. Sense: Unrecovered read error
[ 3872.487601] sd 2:0:2:0: [sdc] tag#1 CDB: Read(10) 28 00 1a 46 60 58 00 00 08 00
[ 3872.487610] blk_update_request: critical medium error, dev sdc, sector 440819800


Knowing just enough to be dangerous (and assuming that "dev sdc" in the error message means /dev/sdc), I tried reading that sector with hdparm:




root@home:~# hdparm --read-sector 440819800 --direct /dev/sdc

/dev/sdc:
reading sector 440819800: succeeded


hdparm -a /dev/sdc showed me that readahead is on, and is 256 (sectors, I assume). Not wanting to pick through the output from 256+ consecutive calls to hdparm, I wrote a Little Script to read the 512 sectors on each side of the supposedly bad block:




erroringsector=440819800
startfromsector=$((${erroringsector} - 512))
for x in $(seq 0 1024)
do
currentsector=$((${startfromsector} + ${x}))
status=$(hdparm --read-sector $((${currentsector})) --direct /dev/sdc 2>&1)
z=$?
[ $z -ne 0 -o -n "$(echo "${status}" | grep -i error)" ] && echo "ERROR reading sector ${currentsector}: ${status}"
done


Not knowing the behavior of hdparm when it encounters an I/O error (the man pages are no help, or I missed the small print that would have helped), I tried to cover all the bases by folding stderr into stdout, checking the exit code, and checking for "error" in the output.



When I run the above Little Script, I get no output at all, which I think means that hdparm was able to read all of the sectors I told it to read, right?



I also manually checked the 50 or so sectors on either side of the troublesome sector, finding only successful reads.



smartctl -A /dev/sdc did not expose any especially worrisome data:




ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 200 200 051 Pre-fail Always - 12
3 Spin_Up_Time 0x0003 163 163 021 Pre-fail Always - 4816
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 57
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x000e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 079 079 000 Old_age Always - 15924
10 Spin_Retry_Count 0x0012 100 253 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0012 100 253 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 55
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 37
193 Load_Cycle_Count 0x0032 113 113 000 Old_age Always - 262898
194 Temperature_Celsius 0x0022 105 090 000 Old_age Always - 42
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0012 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 200 200 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0


Raw_Read_Error_Rate actually has a number in there, but otherwise I think that report shows a hard drive that is getting a bit long in the tooth, but is otherwise alive and kicking. Please correct my inexperienced assessment with a minimum of flaming :-)



My further research and analysis of the SCSI Sense messages has not been fruitful, probably because until today, I knew nothing about that.



Yes, I checked (and re-seated) the HBA card and the cabling.



Bottom line, what does this all mean? Why the "critical medium error" message, but then complete success reading the sectors? More importantly, can I use this to justify upgrading to SSDs? ;-)










share|improve this question















migrated from serverfault.com yesterday


This question came from our site for system and network administrators.























    0















    I apologize for the long post; the tl;dr version is that I got a couple of "critical medium error" messages in dmesg, but hdparm is able to read the affected sectors just fine. What gives?!



    Read on for all the gory details.



    I put a Dell H310 (EDIT: flashed to IT mode) in my home server today, with a SAS-SATA cable to connect my hard drives, and a short time after booting (with no complications), I saw the following error appear on the console: blk_update_request: critical medium error, dev sdc, sector 440819800. Immediately concerned, I logged in and checked dmesg, to find the following panic-inducing lines:




    [ 3868.082497] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
    [ 3868.082516] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
    [ 3868.082526] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
    [ 3868.082534] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
    [ 3868.082541] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
    [ 3868.082549] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
    [ 3868.082652] sd 2:0:2:0: [sdc] tag#3 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
    [ 3868.082665] sd 2:0:2:0: [sdc] tag#3 Sense Key : Medium Error [current]
    [ 3868.082676] sd 2:0:2:0: [sdc] tag#3 Add. Sense: Unrecovered read error
    [ 3868.082688] sd 2:0:2:0: [sdc] tag#3 CDB: Read(10) 28 00 1a 46 5b 00 00 05 80 00
    [ 3868.082696] blk_update_request: critical medium error, dev sdc, sector 440819800
    [ 3872.487468] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
    [ 3872.487484] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
    [ 3872.487559] sd 2:0:2:0: [sdc] tag#1 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
    [ 3872.487571] sd 2:0:2:0: [sdc] tag#1 Sense Key : Medium Error [current]
    [ 3872.487590] sd 2:0:2:0: [sdc] tag#1 Add. Sense: Unrecovered read error
    [ 3872.487601] sd 2:0:2:0: [sdc] tag#1 CDB: Read(10) 28 00 1a 46 60 58 00 00 08 00
    [ 3872.487610] blk_update_request: critical medium error, dev sdc, sector 440819800


    Knowing just enough to be dangerous (and assuming that "dev sdc" in the error message means /dev/sdc), I tried reading that sector with hdparm:




    root@home:~# hdparm --read-sector 440819800 --direct /dev/sdc

    /dev/sdc:
    reading sector 440819800: succeeded


    hdparm -a /dev/sdc showed me that readahead is on, and is 256 (sectors, I assume). Not wanting to pick through the output from 256+ consecutive calls to hdparm, I wrote a Little Script to read the 512 sectors on each side of the supposedly bad block:




    erroringsector=440819800
    startfromsector=$((${erroringsector} - 512))
    for x in $(seq 0 1024)
    do
    currentsector=$((${startfromsector} + ${x}))
    status=$(hdparm --read-sector $((${currentsector})) --direct /dev/sdc 2>&1)
    z=$?
    [ $z -ne 0 -o -n "$(echo "${status}" | grep -i error)" ] && echo "ERROR reading sector ${currentsector}: ${status}"
    done


    Not knowing the behavior of hdparm when it encounters an I/O error (the man pages are no help, or I missed the small print that would have helped), I tried to cover all the bases by folding stderr into stdout, checking the exit code, and checking for "error" in the output.



    When I run the above Little Script, I get no output at all, which I think means that hdparm was able to read all of the sectors I told it to read, right?



    I also manually checked the 50 or so sectors on either side of the troublesome sector, finding only successful reads.



    smartctl -A /dev/sdc did not expose any especially worrisome data:




    ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
    1 Raw_Read_Error_Rate 0x000f 200 200 051 Pre-fail Always - 12
    3 Spin_Up_Time 0x0003 163 163 021 Pre-fail Always - 4816
    4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 57
    5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
    7 Seek_Error_Rate 0x000e 200 200 000 Old_age Always - 0
    9 Power_On_Hours 0x0032 079 079 000 Old_age Always - 15924
    10 Spin_Retry_Count 0x0012 100 253 000 Old_age Always - 0
    11 Calibration_Retry_Count 0x0012 100 253 000 Old_age Always - 0
    12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 55
    192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 37
    193 Load_Cycle_Count 0x0032 113 113 000 Old_age Always - 262898
    194 Temperature_Celsius 0x0022 105 090 000 Old_age Always - 42
    196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
    197 Current_Pending_Sector 0x0012 200 200 000 Old_age Always - 0
    198 Offline_Uncorrectable 0x0010 200 200 000 Old_age Offline - 0
    199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
    200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0


    Raw_Read_Error_Rate actually has a number in there, but otherwise I think that report shows a hard drive that is getting a bit long in the tooth, but is otherwise alive and kicking. Please correct my inexperienced assessment with a minimum of flaming :-)



    My further research and analysis of the SCSI Sense messages has not been fruitful, probably because until today, I knew nothing about that.



    Yes, I checked (and re-seated) the HBA card and the cabling.



    Bottom line, what does this all mean? Why the "critical medium error" message, but then complete success reading the sectors? More importantly, can I use this to justify upgrading to SSDs? ;-)










    share|improve this question















    migrated from serverfault.com yesterday


    This question came from our site for system and network administrators.





















      0












      0








      0








      I apologize for the long post; the tl;dr version is that I got a couple of "critical medium error" messages in dmesg, but hdparm is able to read the affected sectors just fine. What gives?!



      Read on for all the gory details.



      I put a Dell H310 (EDIT: flashed to IT mode) in my home server today, with a SAS-SATA cable to connect my hard drives, and a short time after booting (with no complications), I saw the following error appear on the console: blk_update_request: critical medium error, dev sdc, sector 440819800. Immediately concerned, I logged in and checked dmesg, to find the following panic-inducing lines:




      [ 3868.082497] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
      [ 3868.082516] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
      [ 3868.082526] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
      [ 3868.082534] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
      [ 3868.082541] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
      [ 3868.082549] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
      [ 3868.082652] sd 2:0:2:0: [sdc] tag#3 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
      [ 3868.082665] sd 2:0:2:0: [sdc] tag#3 Sense Key : Medium Error [current]
      [ 3868.082676] sd 2:0:2:0: [sdc] tag#3 Add. Sense: Unrecovered read error
      [ 3868.082688] sd 2:0:2:0: [sdc] tag#3 CDB: Read(10) 28 00 1a 46 5b 00 00 05 80 00
      [ 3868.082696] blk_update_request: critical medium error, dev sdc, sector 440819800
      [ 3872.487468] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
      [ 3872.487484] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
      [ 3872.487559] sd 2:0:2:0: [sdc] tag#1 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
      [ 3872.487571] sd 2:0:2:0: [sdc] tag#1 Sense Key : Medium Error [current]
      [ 3872.487590] sd 2:0:2:0: [sdc] tag#1 Add. Sense: Unrecovered read error
      [ 3872.487601] sd 2:0:2:0: [sdc] tag#1 CDB: Read(10) 28 00 1a 46 60 58 00 00 08 00
      [ 3872.487610] blk_update_request: critical medium error, dev sdc, sector 440819800


      Knowing just enough to be dangerous (and assuming that "dev sdc" in the error message means /dev/sdc), I tried reading that sector with hdparm:




      root@home:~# hdparm --read-sector 440819800 --direct /dev/sdc

      /dev/sdc:
      reading sector 440819800: succeeded


      hdparm -a /dev/sdc showed me that readahead is on, and is 256 (sectors, I assume). Not wanting to pick through the output from 256+ consecutive calls to hdparm, I wrote a Little Script to read the 512 sectors on each side of the supposedly bad block:




      erroringsector=440819800
      startfromsector=$((${erroringsector} - 512))
      for x in $(seq 0 1024)
      do
      currentsector=$((${startfromsector} + ${x}))
      status=$(hdparm --read-sector $((${currentsector})) --direct /dev/sdc 2>&1)
      z=$?
      [ $z -ne 0 -o -n "$(echo "${status}" | grep -i error)" ] && echo "ERROR reading sector ${currentsector}: ${status}"
      done


      Not knowing the behavior of hdparm when it encounters an I/O error (the man pages are no help, or I missed the small print that would have helped), I tried to cover all the bases by folding stderr into stdout, checking the exit code, and checking for "error" in the output.



      When I run the above Little Script, I get no output at all, which I think means that hdparm was able to read all of the sectors I told it to read, right?



      I also manually checked the 50 or so sectors on either side of the troublesome sector, finding only successful reads.



      smartctl -A /dev/sdc did not expose any especially worrisome data:




      ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
      1 Raw_Read_Error_Rate 0x000f 200 200 051 Pre-fail Always - 12
      3 Spin_Up_Time 0x0003 163 163 021 Pre-fail Always - 4816
      4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 57
      5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
      7 Seek_Error_Rate 0x000e 200 200 000 Old_age Always - 0
      9 Power_On_Hours 0x0032 079 079 000 Old_age Always - 15924
      10 Spin_Retry_Count 0x0012 100 253 000 Old_age Always - 0
      11 Calibration_Retry_Count 0x0012 100 253 000 Old_age Always - 0
      12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 55
      192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 37
      193 Load_Cycle_Count 0x0032 113 113 000 Old_age Always - 262898
      194 Temperature_Celsius 0x0022 105 090 000 Old_age Always - 42
      196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
      197 Current_Pending_Sector 0x0012 200 200 000 Old_age Always - 0
      198 Offline_Uncorrectable 0x0010 200 200 000 Old_age Offline - 0
      199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
      200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0


      Raw_Read_Error_Rate actually has a number in there, but otherwise I think that report shows a hard drive that is getting a bit long in the tooth, but is otherwise alive and kicking. Please correct my inexperienced assessment with a minimum of flaming :-)



      My further research and analysis of the SCSI Sense messages has not been fruitful, probably because until today, I knew nothing about that.



      Yes, I checked (and re-seated) the HBA card and the cabling.



      Bottom line, what does this all mean? Why the "critical medium error" message, but then complete success reading the sectors? More importantly, can I use this to justify upgrading to SSDs? ;-)










      share|improve this question
















      I apologize for the long post; the tl;dr version is that I got a couple of "critical medium error" messages in dmesg, but hdparm is able to read the affected sectors just fine. What gives?!



      Read on for all the gory details.



      I put a Dell H310 (EDIT: flashed to IT mode) in my home server today, with a SAS-SATA cable to connect my hard drives, and a short time after booting (with no complications), I saw the following error appear on the console: blk_update_request: critical medium error, dev sdc, sector 440819800. Immediately concerned, I logged in and checked dmesg, to find the following panic-inducing lines:




      [ 3868.082497] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
      [ 3868.082516] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
      [ 3868.082526] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
      [ 3868.082534] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
      [ 3868.082541] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
      [ 3868.082549] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
      [ 3868.082652] sd 2:0:2:0: [sdc] tag#3 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
      [ 3868.082665] sd 2:0:2:0: [sdc] tag#3 Sense Key : Medium Error [current]
      [ 3868.082676] sd 2:0:2:0: [sdc] tag#3 Add. Sense: Unrecovered read error
      [ 3868.082688] sd 2:0:2:0: [sdc] tag#3 CDB: Read(10) 28 00 1a 46 5b 00 00 05 80 00
      [ 3868.082696] blk_update_request: critical medium error, dev sdc, sector 440819800
      [ 3872.487468] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
      [ 3872.487484] mpt2sas_cm0: log_info(0x31080000): originator(PL), code(0x08), sub_code(0x0000)
      [ 3872.487559] sd 2:0:2:0: [sdc] tag#1 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
      [ 3872.487571] sd 2:0:2:0: [sdc] tag#1 Sense Key : Medium Error [current]
      [ 3872.487590] sd 2:0:2:0: [sdc] tag#1 Add. Sense: Unrecovered read error
      [ 3872.487601] sd 2:0:2:0: [sdc] tag#1 CDB: Read(10) 28 00 1a 46 60 58 00 00 08 00
      [ 3872.487610] blk_update_request: critical medium error, dev sdc, sector 440819800


      Knowing just enough to be dangerous (and assuming that "dev sdc" in the error message means /dev/sdc), I tried reading that sector with hdparm:




      root@home:~# hdparm --read-sector 440819800 --direct /dev/sdc

      /dev/sdc:
      reading sector 440819800: succeeded


      hdparm -a /dev/sdc showed me that readahead is on, and is 256 (sectors, I assume). Not wanting to pick through the output from 256+ consecutive calls to hdparm, I wrote a Little Script to read the 512 sectors on each side of the supposedly bad block:




      erroringsector=440819800
      startfromsector=$((${erroringsector} - 512))
      for x in $(seq 0 1024)
      do
      currentsector=$((${startfromsector} + ${x}))
      status=$(hdparm --read-sector $((${currentsector})) --direct /dev/sdc 2>&1)
      z=$?
      [ $z -ne 0 -o -n "$(echo "${status}" | grep -i error)" ] && echo "ERROR reading sector ${currentsector}: ${status}"
      done


      Not knowing the behavior of hdparm when it encounters an I/O error (the man pages are no help, or I missed the small print that would have helped), I tried to cover all the bases by folding stderr into stdout, checking the exit code, and checking for "error" in the output.



      When I run the above Little Script, I get no output at all, which I think means that hdparm was able to read all of the sectors I told it to read, right?



      I also manually checked the 50 or so sectors on either side of the troublesome sector, finding only successful reads.



      smartctl -A /dev/sdc did not expose any especially worrisome data:




      ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
      1 Raw_Read_Error_Rate 0x000f 200 200 051 Pre-fail Always - 12
      3 Spin_Up_Time 0x0003 163 163 021 Pre-fail Always - 4816
      4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 57
      5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
      7 Seek_Error_Rate 0x000e 200 200 000 Old_age Always - 0
      9 Power_On_Hours 0x0032 079 079 000 Old_age Always - 15924
      10 Spin_Retry_Count 0x0012 100 253 000 Old_age Always - 0
      11 Calibration_Retry_Count 0x0012 100 253 000 Old_age Always - 0
      12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 55
      192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 37
      193 Load_Cycle_Count 0x0032 113 113 000 Old_age Always - 262898
      194 Temperature_Celsius 0x0022 105 090 000 Old_age Always - 42
      196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
      197 Current_Pending_Sector 0x0012 200 200 000 Old_age Always - 0
      198 Offline_Uncorrectable 0x0010 200 200 000 Old_age Offline - 0
      199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
      200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0


      Raw_Read_Error_Rate actually has a number in there, but otherwise I think that report shows a hard drive that is getting a bit long in the tooth, but is otherwise alive and kicking. Please correct my inexperienced assessment with a minimum of flaming :-)



      My further research and analysis of the SCSI Sense messages has not been fruitful, probably because until today, I knew nothing about that.



      Yes, I checked (and re-seated) the HBA card and the cabling.



      Bottom line, what does this all mean? Why the "critical medium error" message, but then complete success reading the sectors? More importantly, can I use this to justify upgrading to SSDs? ;-)







      scsi hdparm






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 15 hours ago







      Peter

















      asked yesterday









      PeterPeter

      24214




      24214




      migrated from serverfault.com yesterday


      This question came from our site for system and network administrators.









      migrated from serverfault.com yesterday


      This question came from our site for system and network administrators.
























          0






          active

          oldest

          votes











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "3"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1411326%2fblk-update-request-critical-medium-error-but-hdparm-is-successful%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Super User!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1411326%2fblk-update-request-critical-medium-error-but-hdparm-is-successful%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Couldn't open a raw socket. Error: Permission denied (13) (nmap)Is it possible to run networking commands...

          VNC viewer RFB protocol error: bad desktop size 0x0I Cannot Type the Key 'd' (lowercase) in VNC Viewer...

          Why not use the yoke to control yaw, as well as pitch and roll? Announcing the arrival of...