From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@bugzilla.kernel.org Subject: [Bug 16058] [BUG] Cannot boot any kernel from 2.6.27 on if a 256 byte sector SCSI disk is attached Date: Fri, 28 May 2010 16:34:30 GMT Message-ID: <201005281634.o4SGYU6M015956@demeter.kernel.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Return-path: Received: from demeter.kernel.org ([140.211.167.39]:52071 "EHLO demeter.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753229Ab0E1Qeb (ORCPT ); Fri, 28 May 2010 12:34:31 -0400 Received: from demeter.kernel.org (localhost.localdomain [127.0.0.1]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o4SGYUmD015957 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 28 May 2010 16:34:30 GMT In-Reply-To: Sender: linux-scsi-owner@vger.kernel.org List-Id: linux-scsi@vger.kernel.org To: linux-scsi@vger.kernel.org https://bugzilla.kernel.org/show_bug.cgi?id=16058 --- Comment #6 from Anonymous Emailer 2010-05-28 16:34:28 --- Reply-To: James.Bottomley@suse.de On Fri, 2010-05-28 at 10:58 -0400, Alan Stern wrote: > On Fri, 28 May 2010, Mark Hounschell wrote: > > > First READ(10): > > > > sde: > > ahc_calc_residual: Entered > > ahc_calc_residual: return Case 5-1 resid = 0x800 > > ahc_calc_residual: return Case 5-2 resid = 0x800 > > > > scsi_finish_command: Entered for cmd(10):0x28 0x00 0x00 0x00 0x00 0x00 > > 0x00 0x00 0x08 0x00 > > cmd->result = 0x00000000 > > good_bytes == old_good_bytes = 0x800 scsi_get_resid(cmd) = 0x800 > > New good_bytes = 0x0 > > scsi_finish_command: Complete > > > > From here it just keeps repeating this read of 8 blocks. (2048 bytes) so > > it looks like the machine is hung. > > Probably not hung, just doing a lot of retries. It should time out > eventually, but it might take a long time (perhaps as long as 15 > minutes). The combination of the block layer and the SCSI layer isn't > very good at knowing when to give up. Actually, I think this is a partition read. Each partition manager tends to read a page through the page cache. If we get an error, we seem to re-read to fill the cache. > > Now, I know for a fact that _if_ this read CDB is actually being sent to > > the drive, it's actual residual count will be zero. These are working > > disks and that read CDB is valid. > > > > Why is ahc_calc_residual saying that the residual count is as though the > > read never took place? I noticed that the first read on all the SATA > > drives was for 4096 bytes, why is this one only 2048? Should it have > > been 4096 and ahc_calc_residual assume that? > > I don't know the answer to any of these questions. They could well be > due to bugs in the driver, and I know nothing about how the aic7xxx > driver works. You should talk to someone who does. I'll take this one ... although we're a bit lacking in documentation for this driver. I think the 2048 is because something is hardcoded to think 8 sectors is a page. James -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.