lkml.org 
[lkml]   [2010]   [Dec]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: Boot failure with block/for-next
From
Date
On Thu, 2010-12-23 at 17:13 +0100, Tejun Heo wrote:
> On Thu, Dec 23, 2010 at 10:10:14AM -0600, James Bottomley wrote:
> > > Can you please apply the debug patch I posted in the other message and
> > > post the boot log? Let's see how the partition read is failing.
> >
> > That's actually a red herring ... the disk isn't spinning up, so the
> > partition read is getting a not ready.
>
> Oh, yay, but at any rate I think the don't-clear-media-presence patch
> is probably a good idea just in case UA gets reported somehow.

Well, it wasn't this either. It turns out that this disk alone reports
UNIT_ATTENTION RESET_OCCURRED on the first TEST UNIT READY of spin up.
Ordinarily this is harmless, but the new medium change code wrongly
interprets any UNIT_ATTENTION as medium changed (and then refuses to
talk to the disk). This is actually a change from the previous code, so
the fix is to put it back the way it was.

James

---

diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 6a88fc1..7d25746 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -1008,8 +1008,6 @@ static int media_not_present(struct scsi_disk *sdkp,
/* not invoked for commands that could return deferred errors */
switch (sshdr->sense_key) {
case UNIT_ATTENTION:
- sdkp->device->changed = 1;
- /* fall through */
case NOT_READY:
/* medium not present */
if (sshdr->asc == 0x3A) {



\
 
 \ /
  Last update: 2010-12-23 19:27    [W:2.174 / U:0.356 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site