From: Ben Hutchings <ben@decadent.org.uk>
To: Ed Lin - PTU <ed.lin@promise.com>, Jens Axboe <axboe@kernel.dk>,
dm-devel@redhat.com
Cc: Markus Schulz <msc@antzsystem.de>, 604049@bugs.debian.org
Subject: Bug#604049: linux-image-2.6.32-5-amd64: data corruption with promise stex driver and use of device-mapper layers (lvm/dm-crypt/..)
Date: Sat, 20 Nov 2010 05:33:42 +0000 [thread overview]
Message-ID: <1290231222.3818.167.camel@localhost> (raw)
In-Reply-To: <20101119192614.1895.78157.reportbug@niassan.19.ros.03046.com>
[-- Attachment #1: Type: text/plain, Size: 1438 bytes --]
On Fri, 2010-11-19 at 20:26 +0100, Markus Schulz wrote:
> Package: linux-2.6
> Version: 2.6.32-27
> Severity: critical
> Tags: d-i upstream
> Justification: causes serious data loss
>
> any use of the stex.ko promise hw-raid controller driver with a
> device-mapper layer produces data corruption (or filesystem corruption
> like you can see in my dmesg).
[...]
> i've asked Ed Lin (Maintainer of stex.c from promise) on lkml and got the following answer:
>
> > We found similar problem during test.
>
> > The stex driver sets sg_tablesize as 32 (for st_yel it's 38) in the probe
> > entry. It seems that this value was overridden by the system if using
> > dm/lvm, for unknown reason. The driver received requests with more
> > sg items than registered. Sg item number could be as high as 64. This
> > is completely unexpected. The firmware could not handle such
> > requests, and error occurred.
[..]
I have little idea how this stuff is supposed to work, but it looks like
dm_dispatch_request() calls blk_insert_cloned_request() which calls
blk_rq_check_limits() which checks the request against the maximum
number of segments initialised from sg_tablesize.
We can perhaps mitigate the data loss by checking the number of segments
again in scsi_dispatch_cmd(), but it won't really solve the problem.
Ben.
--
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
next parent reply other threads:[~2010-11-20 5:33 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20101119192614.1895.78157.reportbug@niassan.19.ros.03046.com>
2010-11-20 5:33 ` Ben Hutchings [this message]
2010-11-22 18:33 ` Bug#604049: linux-image-2.6.32-5-amd64: data corruption with promise stex driver and use of device-mapper layers (lvm/dm-crypt/..) Ed Lin - PTU
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1290231222.3818.167.camel@localhost \
--to=ben@decadent.org.uk \
--cc=604049@bugs.debian.org \
--cc=axboe@kernel.dk \
--cc=dm-devel@redhat.com \
--cc=ed.lin@promise.com \
--cc=msc@antzsystem.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.