Message ID | 546D2D42.2070202@oracle.com |
---|---|
State | Changes Requested |
Delegated to: | David Miller |
Headers | show |
From: chris hyser <chris.hyser@oracle.com> Date: Wed, 19 Nov 2014 18:52:34 -0500 > In vdc_end_one() of sunvdc.c a non-zero status indicates an error from > Solaris > vds. In the case of an actual disk as the vds backend, the error comes > from the In plain text, this looks terrible. Please properly format your commit message body to ~80 columns, but don't do it in a way where you get a full line of text, then a line with a few words, then another full line of text. Look at the plain ascii representation of the result and think about what that will look like to other people trying to read it. Don't assume some GUI will magically fix the formatting for you. -- 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
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) &&