Rajashekhara, Mahesh da3cc679b2 [SCSI] aacraid: prohibit access to array container space
Problem description:
--------------------

The issue reported by one of the customer was able to read LBA beyond
the array reported size with "sg_read" utility. If N is the last block
address reported, then should not be able to read past N,
i.e. N+1. But in their case, reported last LBA=143134719.  So should
not have been able to read with LBA=143134720, but it is read without
failure, which means reported size to the OS is not correct and is
less than the actual last block address.

Solution:
---------

Firmware layer exposes lesser container capacity than the actual
one. It exposes [Actual size - Spitfire space(10MB)] to the OS, IO's
to the 10MB should be prohibited from the Linux driver. Driver checks
LBA boundary, if its greater than the array reported size then sets
sensekey to HARDWARE_ERROR and sends the notification to the MID
layer.

Signed-off-by: Mahesh Rajashekhara <aacraid@adaptec.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
2010-05-16 22:49:46 -04:00
..
2010-03-15 14:50:17 +01:00
2008-01-11 18:22:30 -06:00
2010-05-02 16:02:11 -04:00
2010-05-02 15:54:31 -04:00
2010-05-02 15:55:17 -04:00
2008-08-29 02:13:10 -07:00
2010-04-11 09:23:31 -05:00
2010-05-02 15:54:47 -04:00
2010-05-02 11:02:17 -04:00
2010-01-18 10:48:08 -06:00
2010-02-09 11:13:56 +01:00
2008-12-28 20:00:03 +01:00
2010-05-02 15:55:03 -04:00
2008-01-30 13:14:02 -06:00
2010-02-09 11:13:56 +01:00
2008-01-30 13:14:02 -06:00
2009-12-10 08:54:15 -06:00
2008-02-07 18:02:44 -06:00
2009-12-10 08:54:13 -06:00