From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.4 required=3.0 tests=DKIM_ADSP_ALL,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B2F5FC2BD09 for ; Thu, 5 Dec 2019 14:02:03 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 705742464E for ; Thu, 5 Dec 2019 14:02:03 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amazon.com header.i=@amazon.com header.b="jkSg/8Vz" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 705742464E Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=amazon.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1icrhO-00079S-91; Thu, 05 Dec 2019 14:01:42 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1icrhN-00079N-EB for xen-devel@lists.xenproject.org; Thu, 05 Dec 2019 14:01:41 +0000 X-Inumbo-ID: c2d30b59-1767-11ea-8227-12813bfff9fa Received: from smtp-fw-4101.amazon.com (unknown [72.21.198.25]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id c2d30b59-1767-11ea-8227-12813bfff9fa; Thu, 05 Dec 2019 14:01:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1575554501; x=1607090501; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=T78jIw2G+NoTyOExzPIFxHYe8NsRzGe0PdgYlPNaGmg=; b=jkSg/8VzC9YJetUqyYYyaKaLvDWc+K/rpeykgkPwXoqLNBkxh9G5MgbY Kusxf1o1+8Sso56S/yJuA+dtsl9zKjahzXHgFLL+D4YkONC6Y/Ja50DJV DezMiXw+A1jeVq5WeWP7+7wDpku/MQ8ZZFVhuoE9fECWNZrk5GE22ZlHA 4=; IronPort-SDR: TrQOkzDuolXJUMTPo2K5HXoHg/ggo3T0ufETrbzTLZWL9eor9HDoWJ13NLIxasnRSejJg9I0w4 O0aBChzSre4Q== X-IronPort-AV: E=Sophos;i="5.69,281,1571702400"; d="scan'208";a="7211159" Received: from iad6-co-svc-p1-lb1-vlan3.amazon.com (HELO email-inbound-relay-1d-f273de60.us-east-1.amazon.com) ([10.124.125.6]) by smtp-border-fw-out-4101.iad4.amazon.com with ESMTP; 05 Dec 2019 14:01:39 +0000 Received: from EX13MTAUEA001.ant.amazon.com (iad55-ws-svc-p15-lb9-vlan2.iad.amazon.com [10.40.159.162]) by email-inbound-relay-1d-f273de60.us-east-1.amazon.com (Postfix) with ESMTPS id 197A6A27D0; Thu, 5 Dec 2019 14:01:39 +0000 (UTC) Received: from EX13D32EUC002.ant.amazon.com (10.43.164.94) by EX13MTAUEA001.ant.amazon.com (10.43.61.243) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Thu, 5 Dec 2019 14:01:38 +0000 Received: from EX13MTAUWC001.ant.amazon.com (10.43.162.135) by EX13D32EUC002.ant.amazon.com (10.43.164.94) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Thu, 5 Dec 2019 14:01:37 +0000 Received: from u2f063a87eabd5f.cbg10.amazon.com (10.125.106.135) by mail-relay.amazon.com (10.43.162.232) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Thu, 5 Dec 2019 14:01:35 +0000 From: Paul Durrant To: , Date: Thu, 5 Dec 2019 14:01:21 +0000 Message-ID: <20191205140123.3817-3-pdurrant@amazon.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191205140123.3817-1-pdurrant@amazon.com> References: <20191205140123.3817-1-pdurrant@amazon.com> MIME-Version: 1.0 Precedence: Bulk Subject: [Xen-devel] [PATCH 2/4] xenbus: limit when state is forced to closed X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Juergen Gross , Paul Durrant , Stefano Stabellini , Boris Ostrovsky Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T25seSBmb3JjZSBzdGF0ZSB0byBjbG9zZWQgaW4gdGhlIGNhc2Ugd2hlbiB0aGUgdG9vbHN0YWNr IG1heSBuZWVkIHRvCmNsZWFuIHVwLiBUaGlzIGNhbiBiZSBkZXRlY3RlZCBieSBjaGVja2luZyB3 aGV0aGVyIHRoZSBzdGF0ZSBpbiB4ZW5zdG9yZQpoYXMgYmVlbiBzZXQgdG8gY2xvc2luZyBwcmlv ciB0byBkZXZpY2UgcmVtb3ZhbC4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGR1cnJh bnRAYW1hem9uLmNvbT4KLS0tCkNjOiBCb3JpcyBPc3Ryb3Zza3kgPGJvcmlzLm9zdHJvdnNreUBv cmFjbGUuY29tPgpDYzogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgpDYzogU3RlZmFu byBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgotLS0KIGRyaXZlcnMveGVuL3hl bmJ1cy94ZW5idXNfcHJvYmUuYyB8IDExICsrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgOSBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3hl bmJ1cy94ZW5idXNfcHJvYmUuYyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfcHJvYmUuYwpp bmRleCBhMTAzMTFjMzQ4YjkuLmM1NGE1M2RhMDEwNiAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4v eGVuYnVzL3hlbmJ1c19wcm9iZS5jCisrKyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfcHJv YmUuYwpAQCAtMjU1LDcgKzI1NSw2IEBAIGludCB4ZW5idXNfZGV2X3Byb2JlKHN0cnVjdCBkZXZp Y2UgKl9kZXYpCiAJbW9kdWxlX3B1dChkcnYtPmRyaXZlci5vd25lcik7CiBmYWlsOgogCXhlbmJ1 c19kZXZfZXJyb3IoZGV2LCBlcnIsICJ4ZW5idXNfZGV2X3Byb2JlIG9uICVzIiwgZGV2LT5ub2Rl bmFtZSk7Ci0JeGVuYnVzX3N3aXRjaF9zdGF0ZShkZXYsIFhlbmJ1c1N0YXRlQ2xvc2VkKTsKIAly ZXR1cm4gZXJyOwogfQogRVhQT1JUX1NZTUJPTF9HUEwoeGVuYnVzX2Rldl9wcm9iZSk7CkBAIC0y NjQsNiArMjYzLDcgQEAgaW50IHhlbmJ1c19kZXZfcmVtb3ZlKHN0cnVjdCBkZXZpY2UgKl9kZXYp CiB7CiAJc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldiA9IHRvX3hlbmJ1c19kZXZpY2UoX2Rldik7 CiAJc3RydWN0IHhlbmJ1c19kcml2ZXIgKmRydiA9IHRvX3hlbmJ1c19kcml2ZXIoX2Rldi0+ZHJp dmVyKTsKKwllbnVtIHhlbmJ1c19zdGF0ZSBzdGF0ZTsKIAogCURQUklOVEsoIiVzIiwgZGV2LT5u b2RlbmFtZSk7CiAKQEAgLTI3Niw3ICsyNzYsMTQgQEAgaW50IHhlbmJ1c19kZXZfcmVtb3ZlKHN0 cnVjdCBkZXZpY2UgKl9kZXYpCiAKIAlmcmVlX290aGVyZW5kX2RldGFpbHMoZGV2KTsKIAotCXhl bmJ1c19zd2l0Y2hfc3RhdGUoZGV2LCBYZW5idXNTdGF0ZUNsb3NlZCk7CisJLyoKKwkgKiBJZiB0 aGUgdG9vbHN0YWNrIGhhZCBmb3JjZSB0aGUgZGV2aWNlIHN0YXRlIHRvIGNsb3NpbmcgdGhlbiBz ZXQKKwkgKiB0aGUgc3RhdGUgdG8gY2xvc2VkIG5vdyB0byBhbGxvdyBpdCB0byBiZSBjbGVhbmVk IHVwLgorCSAqLworCXN0YXRlID0geGVuYnVzX3JlYWRfZHJpdmVyX3N0YXRlKGRldi0+bm9kZW5h bWUpOworCWlmIChzdGF0ZSA9PSBYZW5idXNTdGF0ZUNsb3NpbmcpCisJCXhlbmJ1c19zd2l0Y2hf c3RhdGUoZGV2LCBYZW5idXNTdGF0ZUNsb3NlZCk7CisKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9T WU1CT0xfR1BMKHhlbmJ1c19kZXZfcmVtb3ZlKTsKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK WGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v cmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.9 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 45B56C43603 for ; Thu, 5 Dec 2019 14:01:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 16A3821823 for ; Thu, 5 Dec 2019 14:01:44 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=amazon.com header.i=@amazon.com header.b="Y9qZ7WYR" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729526AbfLEOBn (ORCPT ); Thu, 5 Dec 2019 09:01:43 -0500 Received: from smtp-fw-4101.amazon.com ([72.21.198.25]:42822 "EHLO smtp-fw-4101.amazon.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729236AbfLEOBm (ORCPT ); Thu, 5 Dec 2019 09:01:42 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1575554502; x=1607090502; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=T78jIw2G+NoTyOExzPIFxHYe8NsRzGe0PdgYlPNaGmg=; b=Y9qZ7WYRGp3bSBnj6CA+o8XlnU0DLW290xu2P0EhPee4ZKRNpzIY/zs9 0zNF70PHScSvZR++0h9Q/iR5dQn9SP6pZ2RT/+wHyFlFFutyHXvScwynb QWSp4WKT2ij0y7ELrSPyK3oL6mD05wD79DXOYhI5Kr8X5FPDKGnjaaZz1 w=; IronPort-SDR: TrQOkzDuolXJUMTPo2K5HXoHg/ggo3T0ufETrbzTLZWL9eor9HDoWJ13NLIxasnRSejJg9I0w4 O0aBChzSre4Q== X-IronPort-AV: E=Sophos;i="5.69,281,1571702400"; d="scan'208";a="7211159" Received: from iad6-co-svc-p1-lb1-vlan3.amazon.com (HELO email-inbound-relay-1d-f273de60.us-east-1.amazon.com) ([10.124.125.6]) by smtp-border-fw-out-4101.iad4.amazon.com with ESMTP; 05 Dec 2019 14:01:39 +0000 Received: from EX13MTAUEA001.ant.amazon.com (iad55-ws-svc-p15-lb9-vlan2.iad.amazon.com [10.40.159.162]) by email-inbound-relay-1d-f273de60.us-east-1.amazon.com (Postfix) with ESMTPS id 197A6A27D0; Thu, 5 Dec 2019 14:01:39 +0000 (UTC) Received: from EX13D32EUC002.ant.amazon.com (10.43.164.94) by EX13MTAUEA001.ant.amazon.com (10.43.61.243) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Thu, 5 Dec 2019 14:01:38 +0000 Received: from EX13MTAUWC001.ant.amazon.com (10.43.162.135) by EX13D32EUC002.ant.amazon.com (10.43.164.94) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Thu, 5 Dec 2019 14:01:37 +0000 Received: from u2f063a87eabd5f.cbg10.amazon.com (10.125.106.135) by mail-relay.amazon.com (10.43.162.232) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Thu, 5 Dec 2019 14:01:35 +0000 From: Paul Durrant To: , CC: Paul Durrant , Boris Ostrovsky , Juergen Gross , "Stefano Stabellini" Subject: [PATCH 2/4] xenbus: limit when state is forced to closed Date: Thu, 5 Dec 2019 14:01:21 +0000 Message-ID: <20191205140123.3817-3-pdurrant@amazon.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191205140123.3817-1-pdurrant@amazon.com> References: <20191205140123.3817-1-pdurrant@amazon.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Only force state to closed in the case when the toolstack may need to clean up. This can be detected by checking whether the state in xenstore has been set to closing prior to device removal. Signed-off-by: Paul Durrant --- Cc: Boris Ostrovsky Cc: Juergen Gross Cc: Stefano Stabellini --- drivers/xen/xenbus/xenbus_probe.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/xen/xenbus/xenbus_probe.c b/drivers/xen/xenbus/xenbus_probe.c index a10311c348b9..c54a53da0106 100644 --- a/drivers/xen/xenbus/xenbus_probe.c +++ b/drivers/xen/xenbus/xenbus_probe.c @@ -255,7 +255,6 @@ int xenbus_dev_probe(struct device *_dev) module_put(drv->driver.owner); fail: xenbus_dev_error(dev, err, "xenbus_dev_probe on %s", dev->nodename); - xenbus_switch_state(dev, XenbusStateClosed); return err; } EXPORT_SYMBOL_GPL(xenbus_dev_probe); @@ -264,6 +263,7 @@ int xenbus_dev_remove(struct device *_dev) { struct xenbus_device *dev = to_xenbus_device(_dev); struct xenbus_driver *drv = to_xenbus_driver(_dev->driver); + enum xenbus_state state; DPRINTK("%s", dev->nodename); @@ -276,7 +276,14 @@ int xenbus_dev_remove(struct device *_dev) free_otherend_details(dev); - xenbus_switch_state(dev, XenbusStateClosed); + /* + * If the toolstack had force the device state to closing then set + * the state to closed now to allow it to be cleaned up. + */ + state = xenbus_read_driver_state(dev->nodename); + if (state == XenbusStateClosing) + xenbus_switch_state(dev, XenbusStateClosed); + return 0; } EXPORT_SYMBOL_GPL(xenbus_dev_remove); -- 2.20.1