Thread (23 messages) 23 messages, 6 authors, 2017-02-15

RE: Boot regression (was "Re: [PATCH] genhd: Do not hold event lock when scheduling workqueue elements")

From: Dexuan Cui <decui@microsoft.com>
Date: 2017-02-14 14:18:39
Also in: lkml

quoted hunk ↗ jump to hunk
From: hch@lst.de [mailto:hch@lst.de]

Hi Dexuan,

can you try the hack below for now?  I disable the TUR call from
sd_check_events, which I think your VM is hanging on.  The checks
it does on the sense data look a bit fishy, but so far I've not
identified a possible root cause.
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 40b4038c019e..1502e87c2be9 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -1457,9 +1457,13 @@ static unsigned int sd_check_events(struct
gendisk *disk, unsigned int clearing)
 	retval = -ENODEV;

 	if (scsi_block_when_processing_errors(sdp)) {
+#if 0
 		sshdr  = kzalloc(sizeof(*sshdr), GFP_KERNEL);
 		retval = scsi_test_unit_ready(sdp, SD_TIMEOUT,
SD_MAX_RETRIES,
 					      sshdr);
+#else
+		retval = 0;
+#endif
 	}

 	/* failed to execute TUR, assume media not present */
Unluckily, the issue is still there.
Please see the attachment for the new log.
It looks somewhere we're still sending the cmd "Test Unit Ready", which
somehow hangs.

Thanks,
-- Dexuan

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help