From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v2] xen-platform: separate unplugging of NVMe disks Date: Thu, 23 Mar 2017 10:15:11 +0000 Message-ID: <1490264111-25273-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cqzm0-0004Ql-CY for xen-devel@lists.xenproject.org; Thu, 23 Mar 2017 10:15:16 +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 c2tzIGFzIHdlbGwgYXMgSURFIGFuZCBTQ1NJLgoKVGhlIHJlY2VudCB0aHJlYWQgb24gdGhlIHhl bi1kZXZlbCBtYWlsaW5nIGxpc3QgWzFdIGhhcyBoaWdobGlnaHRlZCB0aGF0CnRoaXMgaXMgbm90 IGRlc2lyYWJsZSBiZWhhdmlvdXI6IFBWIGZyb250ZW5kcyBzaG91bGQgYmUgYWJsZSB0byBkaXN0 aW5ndWlzaApOVk1lIGRpc2tzIGZyb20gb3RoZXIgdHlwZXMgb2YgZGlzayBhbmQgc2hvdWxkIGhh dmUgc2VwYXJhdGUgY29udHJvbCBvdmVyCndoZXRoZXIgdGhleSBhcmUgdW5wbHVnZ2VkLgoKVGhp cyBwYXRjaCBkZWZpbmVzIGEgbmV3IGJpdCBpbiB0aGUgdW5wbHVnIG1hc2sgZm9yIHRoaXMgcHVy cG9zZSBhbmQgYWxzbwp0aWRpZXMgdXAgdGhlIGRlZmluaXRpb25zIG9mLCBhbmQgaW1wcm92ZXMg dGhlIGNvbW1lbnRzIHJlZ2FyZGluZywgdGhlCnByZXZpb3VzbHkgZXhpdGluZyBiaXRzIGluIHRo ZSBwcm90b2NvbC4KClsxXSBodHRwczovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4t ZGV2ZWwvMjAxNy0wMy9tc2cwMjkyNC5odG1sCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQg PHBhdWwuZHVycmFudEBjaXRyaXguY29tPgotLQpDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3Rh YmVsbGluaUBrZXJuZWwub3JnPgpDYzogQW50aG9ueSBQZXJhcmQgPGFudGhvbnkucGVyYXJkQGNp dHJpeC5jb20+CgpOT1RFOiBBIGNvbXBhbmlvbiBwYXRjaCB3aWxsIGJlIHN1Ym1pdHRlZCB0byB4 ZW4tZGV2ZWwgdG8gYWxpZ24gdGhlCiAgICAgIHVucGx1ZyBwcm90b2NvbCBkb2N1bWVudGF0aW9u IG9uY2UgdGhpcyBwYXRjaCBpcyBhY2tlZC4KCnYyOgotIEZpeCB0aGUgY29tbWl0IGNvbW1lbnQK LS0tCiBody9pMzg2L3hlbi94ZW5fcGxhdGZvcm0uYyB8IDQ3ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzNSBpbnNlcnRpb25z KCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ody9pMzg2L3hlbi94ZW5fcGxhdGZv cm0uYyBiL2h3L2kzODYveGVuL3hlbl9wbGF0Zm9ybS5jCmluZGV4IDYwMTBmMzUuLjk4M2Q1MzIg MTAwNjQ0Ci0tLSBhL2h3L2kzODYveGVuL3hlbl9wbGF0Zm9ybS5jCisrKyBiL2h3L2kzODYveGVu L3hlbl9wbGF0Zm9ybS5jCkBAIC04NywxMCArODcsMzAgQEAgc3RhdGljIHZvaWQgbG9nX3dyaXRl YihQQ0lYZW5QbGF0Zm9ybVN0YXRlICpzLCBjaGFyIHZhbCkKICAgICB9CiB9CiAKLS8qIFhlbiBQ bGF0Zm9ybSwgRml4ZWQgSU9Qb3J0ICovCi0jZGVmaW5lIFVOUExVR19BTExfRElTS1MgMQotI2Rl ZmluZSBVTlBMVUdfQUxMX05JQ1MgMgotI2RlZmluZSBVTlBMVUdfQVVYX0lERV9ESVNLUyA0Cisv KgorICogVW5wbHVnIGRldmljZSBmbGFncy4KKyAqCisgKiBUaGUgbG9naWMgZ290IGEgbGl0dGxl IGNvbmZ1c2VkIGF0IHNvbWUgcG9pbnQgaW4gdGhlIHBhc3QgYnV0IHRoaXMgaXMKKyAqIHdoYXQg dGhleSBkbyBub3cuCisgKgorICogYml0IDA6IFVucGx1ZyBhbGwgSURFIGFuZCBTQ1NJIGRpc2tz LgorICogYml0IDE6IFVucGx1ZyBhbGwgTklDcy4KKyAqIGJpdCAyOiBVbnBsdWcgSURFIGRpc2tz IGV4Y2VwdCBwcmltYXJ5IG1hc3Rlci4gVGhpcyBpcyBvdmVycmlkZGVuIGlmCisgKiAgICAgICAg Yml0IDAgaXMgYWxzbyBwcmVzZW50IGluIHRoZSBtYXNrLgorICogYml0IDM6IFVucGx1ZyBhbGwg TlZNZSBkaXNrcy4KKyAqCisgKi8KKyNkZWZpbmUgX1VOUExVR19JREVfU0NTSV9ESVNLUyAwCisj ZGVmaW5lIFVOUExVR19JREVfU0NTSV9ESVNLUyAoMXUgPDwgX1VOUExVR19JREVfU0NTSV9ESVNL UykKKworI2RlZmluZSBfVU5QTFVHX0FMTF9OSUNTIDEKKyNkZWZpbmUgVU5QTFVHX0FMTF9OSUNT ICgxdSA8PCBfVU5QTFVHX0FMTF9OSUNTKQorCisjZGVmaW5lIF9VTlBMVUdfQVVYX0lERV9ESVNL UyAyCisjZGVmaW5lIFVOUExVR19BVVhfSURFX0RJU0tTICgxdSA8PCBfVU5QTFVHX0FVWF9JREVf RElTS1MpCisKKyNkZWZpbmUgX1VOUExVR19OVk1FX0RJU0tTIDMKKyNkZWZpbmUgVU5QTFVHX05W TUVfRElTS1MgKDF1IDw8IF9VTlBMVUdfTlZNRV9ESVNLUykKIAogc3RhdGljIHZvaWQgdW5wbHVn X25pYyhQQ0lCdXMgKmIsIFBDSURldmljZSAqZCwgdm9pZCAqbykKIHsKQEAgLTExMSw3ICsxMzEs NyBAQCBzdGF0aWMgdm9pZCB1bnBsdWdfZGlza3MoUENJQnVzICpiLCBQQ0lEZXZpY2UgKmQsIHZv aWQgKm9wYXF1ZSkKIHsKICAgICB1aW50MzJfdCBmbGFncyA9ICoodWludDMyX3QgKilvcGFxdWU7 CiAgICAgYm9vbCBhdXggPSAoZmxhZ3MgJiBVTlBMVUdfQVVYX0lERV9ESVNLUykgJiYKLSAgICAg ICAgIShmbGFncyAmIFVOUExVR19BTExfRElTS1MpOworICAgICAgICAhKGZsYWdzICYgVU5QTFVH X0lERV9TQ1NJX0RJU0tTKTsKIAogICAgIC8qIFdlIGhhdmUgdG8gaWdub3JlIHBhc3N0aHJvdWdo IGRldmljZXMgKi8KICAgICBpZiAoIXN0cmNtcChkLT5uYW1lLCAieGVuLXBjaS1wYXNzdGhyb3Vn aCIpKSB7CkBAIC0xMjQsMTIgKzE0NCwxNiBAQCBzdGF0aWMgdm9pZCB1bnBsdWdfZGlza3MoUENJ QnVzICpiLCBQQ0lEZXZpY2UgKmQsIHZvaWQgKm9wYXF1ZSkKICAgICAgICAgYnJlYWs7CiAKICAg ICBjYXNlIFBDSV9DTEFTU19TVE9SQUdFX1NDU0k6Ci0gICAgY2FzZSBQQ0lfQ0xBU1NfU1RPUkFH RV9FWFBSRVNTOgogICAgICAgICBpZiAoIWF1eCkgewogICAgICAgICAgICAgb2JqZWN0X3VucGFy ZW50KE9CSkVDVChkKSk7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAKKyAgICBjYXNlIFBD SV9DTEFTU19TVE9SQUdFX0VYUFJFU1M6CisgICAgICAgIGlmIChmbGFncyAmIFVOUExVR19OVk1F X0RJU0tTKSB7CisgICAgICAgICAgICBvYmplY3RfdW5wYXJlbnQoT0JKRUNUKGQpKTsKKyAgICAg ICAgfQorCiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMTQ3LDEwICsx NzEsOSBAQCBzdGF0aWMgdm9pZCBwbGF0Zm9ybV9maXhlZF9pb3BvcnRfd3JpdGV3KHZvaWQgKm9w YXF1ZSwgdWludDMyX3QgYWRkciwgdWludDMyX3QgdgogICAgIHN3aXRjaCAoYWRkcikgewogICAg IGNhc2UgMDogewogICAgICAgICBQQ0lEZXZpY2UgKnBjaV9kZXYgPSBQQ0lfREVWSUNFKHMpOwot ICAgICAgICAvKiBVbnBsdWcgZGV2aWNlcy4gIFZhbHVlIGlzIGEgYml0bWFzayBvZiB3aGljaCBk ZXZpY2VzIHRvCi0gICAgICAgICAgIHVucGx1Zywgd2l0aCBiaXQgMCB0aGUgZGlzayBkZXZpY2Vz LCBiaXQgMSB0aGUgbmV0d29yawotICAgICAgICAgICBkZXZpY2VzLCBhbmQgYml0IDIgdGhlIG5v bi1wcmltYXJ5LW1hc3RlciBJREUgZGV2aWNlcy4gKi8KLSAgICAgICAgaWYgKHZhbCAmIChVTlBM VUdfQUxMX0RJU0tTIHwgVU5QTFVHX0FVWF9JREVfRElTS1MpKSB7CisgICAgICAgIC8qIFVucGx1 ZyBkZXZpY2VzLiBTZWUgY29tbWVudCBhYm92ZSBmbGFnIGRlZmluaXRpb25zICovCisgICAgICAg IGlmICh2YWwgJiAoVU5QTFVHX0lERV9TQ1NJX0RJU0tTIHwgVU5QTFVHX0FVWF9JREVfRElTS1Mg fAorICAgICAgICAgICAgICAgICAgIFVOUExVR19OVk1FX0RJU0tTKSkgewogICAgICAgICAgICAg RFBSSU5URigidW5wbHVnIGRpc2tzXG4iKTsKICAgICAgICAgICAgIHBjaV91bnBsdWdfZGlza3Mo cGNpX2Rldi0+YnVzLCB2YWwpOwogICAgICAgICB9CkBAIC0zMzgsMTQgKzM2MSwxNCBAQCBzdGF0 aWMgdm9pZCB4ZW5fcGxhdGZvcm1faW9wb3J0X3dyaXRlYih2b2lkICpvcGFxdWUsIGh3YWRkciBh ZGRyLAogICAgICAgICAgICAgICogSWYgVk1EUCB3YXMgdG8gY29udHJvbCBib3RoIGRpc2sgYW5k IExBTiBpdCB3b3VsZCB1c2UgNC4KICAgICAgICAgICAgICAqIElmIGl0IGNvbnRyb2xsZWQganVz dCBkaXNrIG9yIGp1c3QgTEFOLCBpdCB3b3VsZCB1c2UgOCBiZWxvdy4KICAgICAgICAgICAgICAq LwotICAgICAgICAgICAgcGNpX3VucGx1Z19kaXNrcyhwY2lfZGV2LT5idXMsIFVOUExVR19BTExf RElTS1MpOworICAgICAgICAgICAgcGNpX3VucGx1Z19kaXNrcyhwY2lfZGV2LT5idXMsIFVOUExV R19JREVfU0NTSV9ESVNLUyk7CiAgICAgICAgICAgICBwY2lfdW5wbHVnX25pY3MocGNpX2Rldi0+ YnVzKTsKICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICBjYXNlIDg6CiAgICAgICAgIHN3 aXRjaCAodmFsKSB7CiAgICAgICAgIGNhc2UgMToKLSAgICAgICAgICAgIHBjaV91bnBsdWdfZGlz a3MocGNpX2Rldi0+YnVzLCBVTlBMVUdfQUxMX0RJU0tTKTsKKyAgICAgICAgICAgIHBjaV91bnBs dWdfZGlza3MocGNpX2Rldi0+YnVzLCBVTlBMVUdfSURFX1NDU0lfRElTS1MpOwogICAgICAgICAg ICAgYnJlYWs7CiAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgIHBjaV91bnBsdWdfbmljcyhw Y2lfZGV2LT5idXMpOwotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK