Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Oct 1997 18:46:08 +0200
From:      j@uriah.heep.sax.de (J Wunsch)
To:        freebsd-scsi@FreeBSD.org (FreeBSD SCSI list)
Subject:   Re: Cannot happen?
Message-ID:  <19971018184608.DL48173@uriah.heep.sax.de>
In-Reply-To: <19971018143116.KS08343@uriah.heep.sax.de>; from J Wunsch on Oct 18, 1997 14:31:17 %2B0200
References:  <19971018143116.KS08343@uriah.heep.sax.de>

next in thread | previous in thread | raw e-mail | index | archive | help
I wrote:

> Oct 18 14:28:26 uriah /kernel: sd0: ILLEGAL REQUEST asc:21,0 Logical block address out of range field replaceable unit: d sks:cf,7

> But the questions is: how can this happen?  Ain't the driver supposed
> to limit the requests before calling the SCSI layers?  Ain't the
> filesystem supposed to never attempt to access outside the disk
> limits?

The driver does, but accesses through the buffer cache cause harm.
Maybe this was a faulty filesystem, but somehow there's a bug that
causes a problem when i try to access the very last block of the disk
through the buffer cache.

Access to the raw device works as expected:

j@uriah 55% ./dd if=/dev/rsd0 skip=4197400 of=/dev/null
5+0 records in
5+0 records out
2560 bytes transferred in 0.204268 secs (12533 bytes/sec)

(The disk capacity is indeed 4197405 blocks.)

j@uriah 56% ./dd if=/dev/sd0 skip=4197400 of=/dev/null
dd: /dev/sd0: Invalid argument
4+0 records in
4+0 records out
2048 bytes transferred in 0.055174 secs (37119 bytes/sec)
j@uriah 57% Oct 18 18:44:59 uriah /kernel: sd0: ILLEGAL REQUEST asc:21,0 Logical block address out of range field replaceable unit: d sks:cf,7

...but access to the buffered device bails out when getting at the
last block on the disk.

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19971018184608.DL48173>