From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932241Ab2DTWv6 (ORCPT ); Fri, 20 Apr 2012 18:51:58 -0400 Received: from g1t0029.austin.hp.com ([15.216.28.36]:22509 "EHLO g1t0029.austin.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932182Ab2DTWv4 (ORCPT ); Fri, 20 Apr 2012 18:51:56 -0400 From: "Shergill, Gurinder" To: "Stephen M. Cameron" CC: "linux-scsi@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "Gates, Matt" , "stephenmcameron@gmail.com" , "thenzl@redhat.com" , "akpm@linux-foundation.org" , "mikem@beardog.cce.hp.com" , "james.bottomley@hansenpartnership.com" Date: Fri, 20 Apr 2012 23:51:16 +0100 Subject: RE: [PATCH 06/17] hpsa: retry driver initiated commands on busy status Thread-Topic: [PATCH 06/17] hpsa: retry driver initiated commands on busy status Thread-Index: Ac0fCOktsMPmkLfdQB25PBcSU/TJFgAPv09g Message-ID: References: <20120420150349.10596.73732.stgit@beardog.cce.hp.com> <20120420150646.10596.37875.stgit@beardog.cce.hp.com> In-Reply-To: <20120420150646.10596.37875.stgit@beardog.cce.hp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by nfs id q3KMq4dr007333 | -----Original Message----- | From: linux-scsi-owner@vger.kernel.org [mailto:linux-scsi- | owner@vger.kernel.org] On Behalf Of Stephen M. Cameron | Sent: Friday, April 20, 2012 8:07 AM | To: james.bottomley@hansenpartnership.com | Cc: linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org; Gates, Matt; | stephenmcameron@gmail.com; thenzl@redhat.com; akpm@linux-foundation.org; | mikem@beardog.cce.hp.com | Subject: [PATCH 06/17] hpsa: retry driver initiated commands on busy | status | | From: Matt Bondurant | | In shared SAS configurations we might get a busy status during driver | initiated commands (e.g. during rescan for devices). We should retry the | command in such cases rather than giving up. This may or may not apply to your situation. Some targets/disks return TASK SET FULL when they can't accept any new SCSI commands. If that applies to your situation, it may make sense to also check for SCSI status of SAM_STAT_TASK_SET_FULL. Sunny | | Signed-off-by: Matt Bondurant | Signed-off-by: Stephen M. Cameron | --- | drivers/scsi/hpsa.c | 12 +++++++++++- | 1 files changed, 11 insertions(+), 1 deletions(-) | | diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c index | fcb9fb2..7355891 100644 | --- a/drivers/scsi/hpsa.c | +++ b/drivers/scsi/hpsa.c | @@ -234,6 +234,15 @@ static int check_for_unit_attention(struct ctlr_info | *h, | return 1; | } | | +static int check_for_busy(struct ctlr_info *h, struct CommandList *c) { | + if (c->err_info->CommandStatus != CMD_TARGET_STATUS || | + c->err_info->ScsiStatus != SAM_STAT_BUSY) | + return 0; | + dev_warn(&h->pdev->dev, HPSA "device busy"); | + return 1; | +} | + | static ssize_t host_store_rescan(struct device *dev, | struct device_attribute *attr, | const char *buf, size_t count) | @@ -1379,7 +1388,8 @@ static void | hpsa_scsi_do_simple_cmd_with_retry(struct ctlr_info *h, | memset(c->err_info, 0, sizeof(*c->err_info)); | hpsa_scsi_do_simple_cmd_core(h, c); | retry_count++; | - } while (check_for_unit_attention(h, c) && retry_count <= 3); | + } while ((check_for_unit_attention(h, c) || | + check_for_busy(h, c)) && retry_count <= 3); | hpsa_pci_unmap(h->pdev, c, 1, data_direction); } | | | -- | To unsubscribe from this list: send the line "unsubscribe linux-scsi" in | the body of a message to majordomo@vger.kernel.org More majordomo info at | http://vger.kernel.org/majordomo-info.html {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Shergill, Gurinder" Subject: RE: [PATCH 06/17] hpsa: retry driver initiated commands on busy status Date: Fri, 20 Apr 2012 23:51:16 +0100 Message-ID: References: <20120420150349.10596.73732.stgit@beardog.cce.hp.com> <20120420150646.10596.37875.stgit@beardog.cce.hp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from g1t0029.austin.hp.com ([15.216.28.36]:22509 "EHLO g1t0029.austin.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932182Ab2DTWv4 (ORCPT ); Fri, 20 Apr 2012 18:51:56 -0400 In-Reply-To: <20120420150646.10596.37875.stgit@beardog.cce.hp.com> Content-Language: en-US Sender: linux-scsi-owner@vger.kernel.org List-Id: linux-scsi@vger.kernel.org To: "Stephen M. Cameron" Cc: "linux-scsi@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "Gates, Matt" , "stephenmcameron@gmail.com" , "thenzl@redhat.com" , "akpm@linux-foundation.org" , "mikem@beardog.cce.hp.com" , "james.bottomley@hansenpartnership.com" DQp8IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQp8IEZyb206IGxpbnV4LXNjc2ktb3duZXJA dmdlci5rZXJuZWwub3JnIFttYWlsdG86bGludXgtc2NzaS0NCnwgb3duZXJAdmdlci5rZXJuZWwu b3JnXSBPbiBCZWhhbGYgT2YgU3RlcGhlbiBNLiBDYW1lcm9uDQp8IFNlbnQ6IEZyaWRheSwgQXBy aWwgMjAsIDIwMTIgODowNyBBTQ0KfCBUbzogamFtZXMuYm90dG9tbGV5QGhhbnNlbnBhcnRuZXJz aGlwLmNvbQ0KfCBDYzogbGludXgtc2NzaUB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LWtlcm5lbEB2 Z2VyLmtlcm5lbC5vcmc7IEdhdGVzLCBNYXR0Ow0KfCBzdGVwaGVubWNhbWVyb25AZ21haWwuY29t OyB0aGVuemxAcmVkaGF0LmNvbTsgYWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZzsNCnwgbWlrZW1A YmVhcmRvZy5jY2UuaHAuY29tDQp8IFN1YmplY3Q6IFtQQVRDSCAwNi8xN10gaHBzYTogcmV0cnkg ZHJpdmVyIGluaXRpYXRlZCBjb21tYW5kcyBvbiBidXN5DQp8IHN0YXR1cw0KfCANCnwgRnJvbTog TWF0dCBCb25kdXJhbnQgPE1hdHRoZXcuZGF2LmJvbmR1cmFudEBocC5jb20+DQp8IA0KfCBJbiBz aGFyZWQgU0FTIGNvbmZpZ3VyYXRpb25zIHdlIG1pZ2h0IGdldCBhIGJ1c3kgc3RhdHVzIGR1cmlu ZyBkcml2ZXINCnwgaW5pdGlhdGVkIGNvbW1hbmRzIChlLmcuIGR1cmluZyByZXNjYW4gZm9yIGRl dmljZXMpLiAgV2Ugc2hvdWxkIHJldHJ5IHRoZQ0KfCBjb21tYW5kIGluIHN1Y2ggY2FzZXMgcmF0 aGVyIHRoYW4gZ2l2aW5nIHVwLg0KDQpUaGlzIG1heSBvciBtYXkgbm90IGFwcGx5IHRvIHlvdXIg c2l0dWF0aW9uLiBTb21lIHRhcmdldHMvZGlza3MgcmV0dXJuIFRBU0sgU0VUIEZVTEwgd2hlbiB0 aGV5IGNhbid0IGFjY2VwdCBhbnkgbmV3IFNDU0kgY29tbWFuZHMuIElmIHRoYXQgYXBwbGllcyB0 byB5b3VyIHNpdHVhdGlvbiwgaXQgbWF5IG1ha2Ugc2Vuc2UgdG8gYWxzbyBjaGVjayBmb3IgU0NT SSBzdGF0dXMgb2YgU0FNX1NUQVRfVEFTS19TRVRfRlVMTC4NCg0KU3VubnkNCg0KfCANCnwgU2ln bmVkLW9mZi1ieTogTWF0dCBCb25kdXJhbnQgPE1hdHRoZXcuZGF2LmJvbmR1cmFudEBocC5jb20+ DQp8IFNpZ25lZC1vZmYtYnk6IFN0ZXBoZW4gTS4gQ2FtZXJvbiA8c2NhbWVyb25AYmVhcmRvZy5j Y2UuaHAuY29tPg0KfCAtLS0NCnwgIGRyaXZlcnMvc2NzaS9ocHNhLmMgfCAgIDEyICsrKysrKysr KysrLQ0KfCAgMSBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygt KQ0KfCANCnwgZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9ocHNhLmMgYi9kcml2ZXJzL3Njc2kv aHBzYS5jIGluZGV4DQp8IGZjYjlmYjIuLjczNTU4OTEgMTAwNjQ0DQp8IC0tLSBhL2RyaXZlcnMv c2NzaS9ocHNhLmMNCnwgKysrIGIvZHJpdmVycy9zY3NpL2hwc2EuYw0KfCBAQCAtMjM0LDYgKzIz NCwxNSBAQCBzdGF0aWMgaW50IGNoZWNrX2Zvcl91bml0X2F0dGVudGlvbihzdHJ1Y3QgY3Rscl9p bmZvDQp8ICpoLA0KfCAgCXJldHVybiAxOw0KfCAgfQ0KfCANCnwgK3N0YXRpYyBpbnQgY2hlY2tf Zm9yX2J1c3koc3RydWN0IGN0bHJfaW5mbyAqaCwgc3RydWN0IENvbW1hbmRMaXN0ICpjKSB7DQp8 ICsJaWYgKGMtPmVycl9pbmZvLT5Db21tYW5kU3RhdHVzICE9IENNRF9UQVJHRVRfU1RBVFVTIHx8 DQp8ICsJCWMtPmVycl9pbmZvLT5TY3NpU3RhdHVzICE9IFNBTV9TVEFUX0JVU1kpDQp8ICsJCXJl dHVybiAwOw0KfCArCWRldl93YXJuKCZoLT5wZGV2LT5kZXYsIEhQU0EgImRldmljZSBidXN5Iik7 DQp8ICsJcmV0dXJuIDE7DQp8ICt9DQp8ICsNCnwgIHN0YXRpYyBzc2l6ZV90IGhvc3Rfc3RvcmVf cmVzY2FuKHN0cnVjdCBkZXZpY2UgKmRldiwNCnwgIAkJCQkgc3RydWN0IGRldmljZV9hdHRyaWJ1 dGUgKmF0dHIsDQp8ICAJCQkJIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGNvdW50KQ0KfCBAQCAt MTM3OSw3ICsxMzg4LDggQEAgc3RhdGljIHZvaWQNCnwgaHBzYV9zY3NpX2RvX3NpbXBsZV9jbWRf d2l0aF9yZXRyeShzdHJ1Y3QgY3Rscl9pbmZvICpoLA0KfCAgCQltZW1zZXQoYy0+ZXJyX2luZm8s IDAsIHNpemVvZigqYy0+ZXJyX2luZm8pKTsNCnwgIAkJaHBzYV9zY3NpX2RvX3NpbXBsZV9jbWRf Y29yZShoLCBjKTsNCnwgIAkJcmV0cnlfY291bnQrKzsNCnwgLQl9IHdoaWxlIChjaGVja19mb3Jf dW5pdF9hdHRlbnRpb24oaCwgYykgJiYgcmV0cnlfY291bnQgPD0gMyk7DQp8ICsJfSB3aGlsZSAo KGNoZWNrX2Zvcl91bml0X2F0dGVudGlvbihoLCBjKSB8fA0KfCArCQkJY2hlY2tfZm9yX2J1c3ko aCwgYykpICYmIHJldHJ5X2NvdW50IDw9IDMpOw0KfCAgCWhwc2FfcGNpX3VubWFwKGgtPnBkZXYs IGMsIDEsIGRhdGFfZGlyZWN0aW9uKTsgIH0NCnwgDQp8IA0KfCAtLQ0KfCBUbyB1bnN1YnNjcmli ZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUgbGludXgtc2NzaSIg aW4NCnwgdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcg TW9yZSBtYWpvcmRvbW8gaW5mbyBhdA0KfCBodHRwOi8vdmdlci5rZXJuZWwub3JnL21ham9yZG9t by1pbmZvLmh0bWwNCg==