[77] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

Buffer cache and bad blocks.

daemon@ATHENA.MIT.EDU (Paul Gortmaker)
Thu Feb 16 08:30:55 1995

From: Paul Gortmaker <paul@rasty.anu.edu.au>
To: linux-kernel@vger.rutgers.edu
Date: Thu, 16 Feb 1995 22:38:24 +1000 (EST)
Cc: linux-scsi@vger.rutgers.edu

	I am not sure if this is a problem, but it appears that the
kernel will keep reads from bad blocks in the buffer cache. Here is
an example. After getting these read errors...

scsi0 : resetting for second half of retries.
SCSI disk error : host 0 id 0 lun 0 return code = 18000002
Current error sd803: sense key Medium Error
Additional sense indicates Unrecovered read error
scsidisk I/O error: dev 0803, sector 613488
SCSI disk error : host 0 id 0 lun 0 return code = 18000002
Current error sd803: sense key Medium Error
Additional sense indicates Unrecovered read error
scsidisk I/O error: dev 0803, sector 613490

and then unmounting the partition that had the errors, one gets:

foobar:~# umount -v /tmp
Weird - unlocked, clean and not uptodate buffer on list 0 803 306744
Weird - unlocked, clean and not uptodate buffer on list 0 803 306745
Weird - unlocked, clean and not uptodate buffer on list 0 803 306744
Weird - unlocked, clean and not uptodate buffer on list 0 803 306745
/dev/sda3 umounted
foobar:~# 

Note that the kernel reports the same numbers ( *0.5 ) as the read errors.
You can remount the fs, and you will get the same "Wierd - unlocked..."
messages upon unmounting. However, if you run some bogus program that
will eat up all the buffer cache, then you will not get this error
message anymore (indicating that the offending buffers are now flushed
from the system cache.)

This was with 1.1.90 (I think...) with the buslogic scsi driver.
I have since low-leveled these errors into oblivion, so I can't
reproduce it.

Paul.

home help back first fref pref prev next nref lref last post