Skip to contentSkip to conversation

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

PATCH Superseded chris hyser 2 participants 4 messages Nov 21, 2014 – Dec 12, 2014 Block layer

v2 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

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

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.

drivers/block/sunvdc.c +6 -1
index 0ebadf9..17e9a50 100644
@@ -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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#1 lore raw

From: chris hyser <[email protected]>
Date: Fri, 21 Nov 2014 16:06:30 -0500

Quoted 4 lines

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.

#2 lore raw

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

In reply to chris hyser

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 <[email protected]>
To: [email protected]

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.

drivers/block/sunvdc.c +6 -1
index 0ebadf9..17e9a50 100644
@@ -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) &&
#3 lore raw
In reply to chris hyser

From: chris hyser <[email protected]>
Date: Tue, 02 Dec 2014 11:53:37 -0500

Quoted 1 line

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:

drivers/block/sunvdc.c static void vdc_end_one(struct vdc_port *port, struct vio_dring_state *dr, · line 284

Quoted 2 lines

+ printk(KERN_ERR PFX "virtual disk server I/O error %d\n",

drivers/block/sunvdc.c +1 -0
+				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. :)