title: ls: reading directory .: Input/output error
body: <p>My system raised the I/O error when I tried to use 'ls' on a mounted hard disk.</p>
  
  <p>I am using </p>
  
  <pre><code>hadoop@hbase1:/hddata$ uname -a
  Linux hbase1 3.8.0-29-generic #42~precise1-Ubuntu SMP Wed Aug 14 16:19:23 UTC 2013 x86_64    x86_64 x86_64 GNU/Linux
  
  hadoop@hbase1:/hddata$ df
  Filesystem                      1K-blocks       Used Available Use% Mounted on
  /dev/mapper/hbase2--vg-root     468028968    2715496 441532304   1% /
  udev                              6081916          4   6081912   1% /dev
  tmpfs                             2436652        336   2436316   1% /run
  none                                 5120          0      5120   0% /run/lock
  none                              6091620          0   6091620   0% /run/shm
  /dev/sda1                      1922727280  867279740 957771940  48% /hddata
  /dev/sdb1                          233191      27854    192896  13% /boot
  10.18.103.101:/data/marketdata 1883265024 1644255232 143344640  92% /srv/data/marketdatah
  </code></pre>
  
  <p>The last several lines of dmesg</p>
  
  <pre><code>hadoop@hbase1:/hddata$ dmesg | tail
  [316263.280056] EXT4-fs (sda1): previous I/O error to superblock detected
  [316263.281326] sd 0:0:0:0: [sda] Unhandled error code
  [316263.281329] sd 0:0:0:0: [sda]
  [316263.281330] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
  [316263.281332] sd 0:0:0:0: [sda] CDB:
  [316263.281334] Write(10): 2a 00 00 00 00 3f 00 00 08 00
  [316263.281342] end_request: I/O error, dev sda, sector 63
  [316263.282584] Buffer I/O error on device sda1, logical block 0
  [316263.283799] lost page write due to I/O error on sda1
  [316263.283842] EXT4-fs error (device sda1): ext4_find_entry:1270: inode #2: comm bash: reading directory lblock 0
  </code></pre>