From patchwork Tue Dec 2 16:53:37 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: chris hyser X-Patchwork-Id: 416920 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id BB687140079 for ; Wed, 3 Dec 2014 03:53:49 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932640AbaLBQxq (ORCPT ); Tue, 2 Dec 2014 11:53:46 -0500 Received: from aserp1040.oracle.com ([141.146.126.69]:37142 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932228AbaLBQxo (ORCPT ); Tue, 2 Dec 2014 11:53:44 -0500 Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id sB2Grhqi006269 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 2 Dec 2014 16:53:44 GMT Received: from aserz7022.oracle.com (aserz7022.oracle.com [141.146.126.231]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id sB2Grgb2018363 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Tue, 2 Dec 2014 16:53:42 GMT Received: from abhmp0001.oracle.com (abhmp0001.oracle.com [141.146.116.7]) by aserz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id sB2GrgvE004386 for ; Tue, 2 Dec 2014 16:53:42 GMT Received: from [192.168.1.3] (/66.66.122.197) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 02 Dec 2014 08:53:41 -0800 Message-ID: <547DEE91.4050903@oracle.com> Date: Tue, 02 Dec 2014 11:53:37 -0500 From: chris hyser User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: sparclinux@vger.kernel.org Subject: [PATCH v2] sparc64: sunvdc: Complete I/O request if vdisk server error References: <546FA956.1070005@oracle.com> In-Reply-To: <546FA956.1070005@oracle.com> X-Forwarded-Message-Id: <546FA956.1070005@oracle.com> X-Source-IP: ucsinet21.oracle.com [156.151.31.93] Sender: sparclinux-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: sparclinux@vger.kernel.org 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 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 --- 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) &&