* [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
* Re: [PATCH v2] sparc64: sunvdc: Complete I/O request if vdisk server error
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
2 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2014-11-21 21:11 UTC (permalink / raw)
To: sparclinux
From: chris hyser <chris.hyser@oracle.com>
Date: Fri, 21 Nov 2014 16:06:30 -0500
> Sorry for the confusion of the prior message. Below was the intended
> commit message.
>
> -chrish
Please do not subit a new patch in this manner as a reply to a
discussion, you're making it so that I have to edit away all the
unrelated text from your commit message body.
Just make a fresh patch posting to the list.
If you want to add auxiliary information, place it after your commit
message and signoffs, and a line containing just "---" as that tells
the automated tools to not include that and the following text in the
commit message itself.
It's _REALLY_ easy to submit patches properly, by simply mimicking
exactly what other successful patch submitters do. Any deviation
unless you are experienced is asking for trouble.
Thanks.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2] sparc64: sunvdc: Complete I/O request if vdisk server error
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
2 siblings, 0 replies; 4+ messages in thread
From: chris hyser @ 2014-12-02 16:53 UTC (permalink / raw)
To: sparclinux
Hi Dave,
Sending it again. Thanks.
-chrish
-------- Forwarded Message --------
Subject: [PATCH v2] sparc64: sunvdc: Complete I/O request if vdisk server error
Date: Fri, 21 Nov 2014 16:06:30 -0500
From: chris hyser <chris.hyser@oracle.com>
To: sparclinux@vger.kernel.org
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) &&
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2] sparc64: sunvdc: Complete I/O request if vdisk server error
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
2 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2014-12-12 2:44 UTC (permalink / raw)
To: sparclinux
From: chris hyser <chris.hyser@oracle.com>
Date: Tue, 02 Dec 2014 11:53:37 -0500
> Sending it again. Thanks.
Please do not resubmit patches like a forwarded email
as you are doing here.
Submit is like a fresh, new, patch posting.
Your patch also has a few problems:
> + printk(KERN_ERR PFX "virtual disk server I/O error %d\n",
> + desc->status);
Please use "pr_err()"
Also, on function calls that span multiple lines, you must
indent the send and subsequent lines of that function call
exactly to the column after the openning parenthesis of that
function call.
You must use the appropriate number of space and TAB characters
necessary to do so. If you are only using TAB characters, you
are doing it wrong. :)
^ permalink raw reply [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.