All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] sparc64: sunvdc: Complete I/O request if vdisk server error
@ 2014-11-21 21:06 chris hyser
  2014-11-21 21:11 ` David Miller
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: chris hyser @ 2014-11-21 21:06 UTC (permalink / raw)
  To: sparclinux

Sorry for the confusion of the prior message. Below was the intended commit message.

-chrish

sparc64: sunvdc: Complete I/O request if vdisk server error

If virtual disk server returns an I/O with an error and 0 data transferred,
complete the I/O with EIO to ensure initiating process does not hang
indefinitely.

Signed-off-by: Chris Hyser <chris.hyser@oracle.com>

diff --git a/drivers/block/sunvdc.c b/drivers/block/sunvdc.c
index 0ebadf9..17e9a50 100644
--- a/drivers/block/sunvdc.c
+++ b/drivers/block/sunvdc.c
@@ -279,7 +279,12 @@ static void vdc_end_one(struct vdc_port *port, struct vio_dring_state *dr,

  	rqe->req = NULL;

-	__blk_end_request(req, (desc->status ? -EIO : 0), desc->size);
+	if (desc->status && desc->size = 0) {
+		printk(KERN_ERR PFX "virtual disk server I/O error %d\n",
+				desc->status);
+		__blk_end_request_all(req, -EIO);
+	} else
+		__blk_end_request(req, (desc->status ? -EIO : 0) , desc->size);

  	/* restart blk queue when ring is half emptied */
  	if (blk_queue_stopped(port->disk->queue) &&

--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-12-12  2:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-21 21:06 [PATCH v2] sparc64: sunvdc: Complete I/O request if vdisk server error chris hyser
2014-11-21 21:11 ` David Miller
2014-12-02 16:53 ` chris hyser
2014-12-12  2:44 ` David Miller

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.