From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH] xen-platform: separate unplugging of NVMe disks Date: Thu, 23 Mar 2017 10:10:01 +0000 Message-ID: <1490263801-25206-1-git-send-email-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cqzh5-0003qc-N4 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2017 10:10:11 +0000 List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: qemu-devel@nongnu.org, xen-devel@lists.xenproject.org Cc: Anthony Perard , Paul Durrant , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org Q29tbWl0IDA5MGZhMWM4ICJhZGQgc3VwcG9ydCBmb3IgdW5wbHVnZ2luZyBOVk1lIGRpc2tzLi4u IiBleHRlbmRlZCB0aGUKZXhpc3RpbmcgZGlzayB1bnBsdWcgZmxhZyB0byBjb3ZlciBOVk1lIGRp c2tzIGFzIHdlbGwgYXMgSURFIGFuZCBTQ1NJLgoKVGhlIGNlY2VudCB0aHJlYWQgb24gdGhlIHhl bi1kZXZlbCBtYWlsaW5nIGxpc3QgWzFdIGhhdmUgaGlnaGxpZ2h0ZWQgdGhhdAp0aGlzIGlzIG5v dCBkZXNpcmFibGUgYmVoYXZpb3VyOiBQViBmcm9udGVuZHMgc2hvdWxkIGJlIGFibGUgdG8gZGlz dGluZ3Vpc2gKTlZNZSBkaXNrcyBmcm9tIG90aGVyIHR5cGVzIG9mIGRpc2sgYW5kIHNob3VsZCBo YXZlIHNlcGFyYXRlIGNvbnRyb2wgb3Zlcgp3aGV0aGVyIHRoZXkgYXJlIHVucGx1Z2dlZC4KClRo aXMgcGF0Y2ggZGVmaW5lcyBhIG5ldyBiaXQgaW4gdGhlIHVucGx1ZyBtYXNrIGZvciB0aGlzIHB1 cnBvc2UgYW5kIGFsc28KdGlkaWVzIHVwIHRoZSBkZWZpbml0aW9ucyBvZiwgYW5kIGltcHJvdmVz IHRoZSBjb21tZW50cyByZWdhcmRpbmcsIHRoZQpwcmV2aW91c2x5IGV4aXRpbmcgYml0cyBpbiB0 aGUgcHJvdG9jb2wuCgpbMV0gaHR0cHM6Ly9saXN0cy54ZW4ub3JnL2FyY2hpdmVzL2h0bWwveGVu LWRldmVsLzIwMTctMDMvbXNnMDI5MjQuaHRtbAoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50 IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KLS0KQ2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0 YWJlbGxpbmlAa2VybmVsLm9yZz4KQ2M6IEFudGhvbnkgUGVyYXJkIDxhbnRob255LnBlcmFyZEBj aXRyaXguY29tPgoKTk9URTogQSBjb21wYW5pb24gcGF0Y2ggd2lsbCBiZSBzdWJtaXR0ZWQgdG8g eGVuLWRldmVsIHRvIGFsaWduIHRoZQogICAgICB1bnBsdWcgcHJvdG9jb2wgZG9jdW1lbnRhdGlv biBvbmNlIHRoaXMgcGF0Y2ggaXMgYWNrZWQuCi0tLQogaHcvaTM4Ni94ZW4veGVuX3BsYXRmb3Jt LmMgfCA0NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvaHcvaTM4Ni94ZW4veGVuX3BsYXRmb3JtLmMgYi9ody9pMzg2L3hlbi94ZW5fcGxhdGZv cm0uYwppbmRleCA2MDEwZjM1Li45ODNkNTMyIDEwMDY0NAotLS0gYS9ody9pMzg2L3hlbi94ZW5f cGxhdGZvcm0uYworKysgYi9ody9pMzg2L3hlbi94ZW5fcGxhdGZvcm0uYwpAQCAtODcsMTAgKzg3 LDMwIEBAIHN0YXRpYyB2b2lkIGxvZ193cml0ZWIoUENJWGVuUGxhdGZvcm1TdGF0ZSAqcywgY2hh ciB2YWwpCiAgICAgfQogfQogCi0vKiBYZW4gUGxhdGZvcm0sIEZpeGVkIElPUG9ydCAqLwotI2Rl ZmluZSBVTlBMVUdfQUxMX0RJU0tTIDEKLSNkZWZpbmUgVU5QTFVHX0FMTF9OSUNTIDIKLSNkZWZp bmUgVU5QTFVHX0FVWF9JREVfRElTS1MgNAorLyoKKyAqIFVucGx1ZyBkZXZpY2UgZmxhZ3MuCisg KgorICogVGhlIGxvZ2ljIGdvdCBhIGxpdHRsZSBjb25mdXNlZCBhdCBzb21lIHBvaW50IGluIHRo ZSBwYXN0IGJ1dCB0aGlzIGlzCisgKiB3aGF0IHRoZXkgZG8gbm93LgorICoKKyAqIGJpdCAwOiBV bnBsdWcgYWxsIElERSBhbmQgU0NTSSBkaXNrcy4KKyAqIGJpdCAxOiBVbnBsdWcgYWxsIE5JQ3Mu CisgKiBiaXQgMjogVW5wbHVnIElERSBkaXNrcyBleGNlcHQgcHJpbWFyeSBtYXN0ZXIuIFRoaXMg aXMgb3ZlcnJpZGRlbiBpZgorICogICAgICAgIGJpdCAwIGlzIGFsc28gcHJlc2VudCBpbiB0aGUg bWFzay4KKyAqIGJpdCAzOiBVbnBsdWcgYWxsIE5WTWUgZGlza3MuCisgKgorICovCisjZGVmaW5l IF9VTlBMVUdfSURFX1NDU0lfRElTS1MgMAorI2RlZmluZSBVTlBMVUdfSURFX1NDU0lfRElTS1Mg KDF1IDw8IF9VTlBMVUdfSURFX1NDU0lfRElTS1MpCisKKyNkZWZpbmUgX1VOUExVR19BTExfTklD UyAxCisjZGVmaW5lIFVOUExVR19BTExfTklDUyAoMXUgPDwgX1VOUExVR19BTExfTklDUykKKwor I2RlZmluZSBfVU5QTFVHX0FVWF9JREVfRElTS1MgMgorI2RlZmluZSBVTlBMVUdfQVVYX0lERV9E SVNLUyAoMXUgPDwgX1VOUExVR19BVVhfSURFX0RJU0tTKQorCisjZGVmaW5lIF9VTlBMVUdfTlZN RV9ESVNLUyAzCisjZGVmaW5lIFVOUExVR19OVk1FX0RJU0tTICgxdSA8PCBfVU5QTFVHX05WTUVf RElTS1MpCiAKIHN0YXRpYyB2b2lkIHVucGx1Z19uaWMoUENJQnVzICpiLCBQQ0lEZXZpY2UgKmQs IHZvaWQgKm8pCiB7CkBAIC0xMTEsNyArMTMxLDcgQEAgc3RhdGljIHZvaWQgdW5wbHVnX2Rpc2tz KFBDSUJ1cyAqYiwgUENJRGV2aWNlICpkLCB2b2lkICpvcGFxdWUpCiB7CiAgICAgdWludDMyX3Qg ZmxhZ3MgPSAqKHVpbnQzMl90ICopb3BhcXVlOwogICAgIGJvb2wgYXV4ID0gKGZsYWdzICYgVU5Q TFVHX0FVWF9JREVfRElTS1MpICYmCi0gICAgICAgICEoZmxhZ3MgJiBVTlBMVUdfQUxMX0RJU0tT KTsKKyAgICAgICAgIShmbGFncyAmIFVOUExVR19JREVfU0NTSV9ESVNLUyk7CiAKICAgICAvKiBX ZSBoYXZlIHRvIGlnbm9yZSBwYXNzdGhyb3VnaCBkZXZpY2VzICovCiAgICAgaWYgKCFzdHJjbXAo ZC0+bmFtZSwgInhlbi1wY2ktcGFzc3Rocm91Z2giKSkgewpAQCAtMTI0LDEyICsxNDQsMTYgQEAg c3RhdGljIHZvaWQgdW5wbHVnX2Rpc2tzKFBDSUJ1cyAqYiwgUENJRGV2aWNlICpkLCB2b2lkICpv cGFxdWUpCiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBQQ0lfQ0xBU1NfU1RPUkFHRV9TQ1NJ OgotICAgIGNhc2UgUENJX0NMQVNTX1NUT1JBR0VfRVhQUkVTUzoKICAgICAgICAgaWYgKCFhdXgp IHsKICAgICAgICAgICAgIG9iamVjdF91bnBhcmVudChPQkpFQ1QoZCkpOwogICAgICAgICB9CiAg ICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBQQ0lfQ0xBU1NfU1RPUkFHRV9FWFBSRVNTOgorICAg ICAgICBpZiAoZmxhZ3MgJiBVTlBMVUdfTlZNRV9ESVNLUykgeworICAgICAgICAgICAgb2JqZWN0 X3VucGFyZW50KE9CSkVDVChkKSk7CisgICAgICAgIH0KKwogICAgIGRlZmF1bHQ6CiAgICAgICAg IGJyZWFrOwogICAgIH0KQEAgLTE0NywxMCArMTcxLDkgQEAgc3RhdGljIHZvaWQgcGxhdGZvcm1f Zml4ZWRfaW9wb3J0X3dyaXRldyh2b2lkICpvcGFxdWUsIHVpbnQzMl90IGFkZHIsIHVpbnQzMl90 IHYKICAgICBzd2l0Y2ggKGFkZHIpIHsKICAgICBjYXNlIDA6IHsKICAgICAgICAgUENJRGV2aWNl ICpwY2lfZGV2ID0gUENJX0RFVklDRShzKTsKLSAgICAgICAgLyogVW5wbHVnIGRldmljZXMuICBW YWx1ZSBpcyBhIGJpdG1hc2sgb2Ygd2hpY2ggZGV2aWNlcyB0bwotICAgICAgICAgICB1bnBsdWcs IHdpdGggYml0IDAgdGhlIGRpc2sgZGV2aWNlcywgYml0IDEgdGhlIG5ldHdvcmsKLSAgICAgICAg ICAgZGV2aWNlcywgYW5kIGJpdCAyIHRoZSBub24tcHJpbWFyeS1tYXN0ZXIgSURFIGRldmljZXMu ICovCi0gICAgICAgIGlmICh2YWwgJiAoVU5QTFVHX0FMTF9ESVNLUyB8IFVOUExVR19BVVhfSURF X0RJU0tTKSkgeworICAgICAgICAvKiBVbnBsdWcgZGV2aWNlcy4gU2VlIGNvbW1lbnQgYWJvdmUg ZmxhZyBkZWZpbml0aW9ucyAqLworICAgICAgICBpZiAodmFsICYgKFVOUExVR19JREVfU0NTSV9E SVNLUyB8IFVOUExVR19BVVhfSURFX0RJU0tTIHwKKyAgICAgICAgICAgICAgICAgICBVTlBMVUdf TlZNRV9ESVNLUykpIHsKICAgICAgICAgICAgIERQUklOVEYoInVucGx1ZyBkaXNrc1xuIik7CiAg ICAgICAgICAgICBwY2lfdW5wbHVnX2Rpc2tzKHBjaV9kZXYtPmJ1cywgdmFsKTsKICAgICAgICAg fQpAQCAtMzM4LDE0ICszNjEsMTQgQEAgc3RhdGljIHZvaWQgeGVuX3BsYXRmb3JtX2lvcG9ydF93 cml0ZWIodm9pZCAqb3BhcXVlLCBod2FkZHIgYWRkciwKICAgICAgICAgICAgICAqIElmIFZNRFAg d2FzIHRvIGNvbnRyb2wgYm90aCBkaXNrIGFuZCBMQU4gaXQgd291bGQgdXNlIDQuCiAgICAgICAg ICAgICAgKiBJZiBpdCBjb250cm9sbGVkIGp1c3QgZGlzayBvciBqdXN0IExBTiwgaXQgd291bGQg dXNlIDggYmVsb3cuCiAgICAgICAgICAgICAgKi8KLSAgICAgICAgICAgIHBjaV91bnBsdWdfZGlz a3MocGNpX2Rldi0+YnVzLCBVTlBMVUdfQUxMX0RJU0tTKTsKKyAgICAgICAgICAgIHBjaV91bnBs dWdfZGlza3MocGNpX2Rldi0+YnVzLCBVTlBMVUdfSURFX1NDU0lfRElTS1MpOwogICAgICAgICAg ICAgcGNpX3VucGx1Z19uaWNzKHBjaV9kZXYtPmJ1cyk7CiAgICAgICAgIH0KICAgICAgICAgYnJl YWs7CiAgICAgY2FzZSA4OgogICAgICAgICBzd2l0Y2ggKHZhbCkgewogICAgICAgICBjYXNlIDE6 Ci0gICAgICAgICAgICBwY2lfdW5wbHVnX2Rpc2tzKHBjaV9kZXYtPmJ1cywgVU5QTFVHX0FMTF9E SVNLUyk7CisgICAgICAgICAgICBwY2lfdW5wbHVnX2Rpc2tzKHBjaV9kZXYtPmJ1cywgVU5QTFVH X0lERV9TQ1NJX0RJU0tTKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIDI6CiAg ICAgICAgICAgICBwY2lfdW5wbHVnX25pY3MocGNpX2Rldi0+YnVzKTsKLS0gCjIuMS40CgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcv eGVuLWRldmVsCg==