From mboxrd@z Thu Jan 1 00:00:00 1970 From: Martin Wilck Subject: Re: [RFC PATCH 4/5] libmultipath: add helper functions Date: Sat, 10 Feb 2018 20:12:24 +0100 Message-ID: <1518289944.2937.32.camel@suse.com> References: <1518239251-29392-1-git-send-email-bmarzins@redhat.com> <1518239251-29392-5-git-send-email-bmarzins@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1518239251-29392-5-git-send-email-bmarzins@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com To: Benjamin Marzinski , device-mapper development List-Id: dm-devel.ids T24gRnJpLCAyMDE4LTAyLTA5IGF0IDIzOjA3IC0wNjAwLCBCZW5qYW1pbiBNYXJ6aW5za2kgd3Jv dGU6Cj4gQWRkIHRoZSBhYmlsaXR5IHRvIHJlc2V0IGEgdmVjdG9yIHdpdGhvdXQgY29tcGxldGVs eSBmcmVlaW5nIGl0LCBhbmQKPiB0bwo+IGNoZWNrIHRoZSB2ZXJzaW9uIG9mIHRoZSBkZXZpY2Ut bWFwcGVyIG1vZHVsZS4gIFRoZSBleGlzdGluZyB2ZXJzaW9uCj4gY2hlY2tpbmcgY29kZSBjaGVj a3MgdGhlIHZlcnNpb24gb2YgYSBzcGVjaWZpYyBkZXZpY2UgbWFwcGVyIHRhcmdldCwKPiBhbmQK PiBoYXMgYmVlbiByZW5hbWVkIGZvciBjbGFyaXR5J3Mgc2FrZS4gVGhlc2UgZnVuY3Rpb25zIHdp bGwgYmUgdXNlZCBpbgo+IGEKPiBsYXRlciBwYXRjaC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBCZW5q YW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Cj4gLS0tClJldmlld2VkLWJ5OiBN YXJ0aW4gV2lsY2sgPG13aWxja0BzdXNlLmNvbT4KCgo+ICBsaWJtdWx0aXBhdGgvZGV2bWFwcGVy LmMgfCAyOCArKysrKysrKysrKysrKysrKysrKysrKystLS0tCj4gIGxpYm11bHRpcGF0aC9kZXZt YXBwZXIuaCB8ICAzICsrLQo+ICBsaWJtdWx0aXBhdGgvdmVjdG9yLmMgICAgfCAxNiArKysrKysr KysrKystLS0tCj4gIGxpYm11bHRpcGF0aC92ZWN0b3IuaCAgICB8ICAxICsKPiAgbXVsdGlwYXRo ZC9tYWluLmMgICAgICAgIHwgIDIgKy0KPiAgNSBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25z KCspLCAxMCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2Rldm1h cHBlci5jIGIvbGlibXVsdGlwYXRoL2Rldm1hcHBlci5jCj4gaW5kZXggNTczZmM3NS4uMjk2MGJm NSAxMDA2NDQKPiAtLS0gYS9saWJtdWx0aXBhdGgvZGV2bWFwcGVyLmMKPiArKysgYi9saWJtdWx0 aXBhdGgvZGV2bWFwcGVyLmMKPiBAQCAtMTMyLDcgKzEzMiwyNyBAQCBkbV9saWJfcHJlcmVxICh2 b2lkKQo+ICB9Cj4gIAo+ICBpbnQKPiAtZG1fZHJ2X3ZlcnNpb24gKHVuc2lnbmVkIGludCAqIHZl cnNpb24sIGNoYXIgKiBzdHIpCj4gK2RtX2Rydl92ZXJzaW9uKHVuc2lnbmVkIGludCAqdikKPiAr ewo+ICsJY2hhciBidWZmWzY0XTsKPiArCj4gKwl2WzBdID0gMDsKPiArCXZbMV0gPSAwOwo+ICsJ dlsyXSA9IDA7Cj4gKwo+ICsJaWYgKCFkbV9kcml2ZXJfdmVyc2lvbihidWZmLCBzaXplb2YoYnVm ZikpKSB7Cj4gKwkJY29uZGxvZygwLCAiY2Fubm90IGdldCBrZXJuZWwgZG0gdmVyc2lvbiIpOwo+ ICsJCXJldHVybiAxOwo+ICsJfQo+ICsJaWYgKHNzY2FuZihidWZmLCAiJXUuJXUuJXUgIiwgJnZb MF0sICZ2WzFdLCAmdlsyXSkgIT0gMykgewo+ICsJCWNvbmRsb2coMCwgImludmFsaWQga2VybmVs IGRtIHZlcnNpb24gJyVzJyIsIGJ1ZmYpOwo+ICsJCXJldHVybiAxOwo+ICsJfQo+ICsJcmV0dXJu IDA7Cj4gK30KPiArCj4gK2ludAo+ICtkbV90Z3RfdmVyc2lvbiAodW5zaWduZWQgaW50ICogdmVy c2lvbiwgY2hhciAqIHN0cikKPiAgewo+ICAJaW50IHIgPSAyOwo+ICAJc3RydWN0IGRtX3Rhc2sg KmRtdDsKPiBAQCAtMTc5LDEzICsxOTksMTMgQEAgb3V0Ogo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50 Cj4gLWRtX2Rydl9wcmVyZXEgKHVuc2lnbmVkIGludCAqdmVyKQo+ICtkbV90Z3RfcHJlcmVxICh1 bnNpZ25lZCBpbnQgKnZlcikKPiAgewo+ICAJdW5zaWduZWQgaW50IG1pbnZbM10gPSB7MSwgMCwg M307Cj4gIAl1bnNpZ25lZCBpbnQgdmVyc2lvblszXSA9IHswLCAwLCAwfTsKPiAgCXVuc2lnbmVk IGludCAqIHYgPSB2ZXJzaW9uOwo+ICAKPiAtCWlmIChkbV9kcnZfdmVyc2lvbih2LCBUR1RfTVBB VEgpKSB7Cj4gKwlpZiAoZG1fdGd0X3ZlcnNpb24odiwgVEdUX01QQVRIKSkgewo+ICAJCS8qIGlu IGRvdWJ0IHJldHVybiBub3QgY2FwYWJsZSAqLwo+ICAJCXJldHVybiAxOwo+ICAJfQo+IEBAIC0y MTAsNyArMjMwLDcgQEAgc3RhdGljIGludCBkbV9wcmVyZXEodW5zaWduZWQgaW50ICp2KQo+ICB7 Cj4gIAlpZiAoZG1fbGliX3ByZXJlcSgpKQo+ICAJCXJldHVybiAxOwo+IC0JcmV0dXJuIGRtX2Ry dl9wcmVyZXEodik7Cj4gKwlyZXR1cm4gZG1fdGd0X3ByZXJlcSh2KTsKPiAgfQo+ICAKPiAgc3Rh dGljIGludCBsaWJtcF9kbV91ZGV2X3N5bmMgPSAwOwo+IGRpZmYgLS1naXQgYS9saWJtdWx0aXBh dGgvZGV2bWFwcGVyLmggYi9saWJtdWx0aXBhdGgvZGV2bWFwcGVyLmgKPiBpbmRleCA2MmUxNGQx Li41MmQ0YWY4IDEwMDY0NAo+IC0tLSBhL2xpYm11bHRpcGF0aC9kZXZtYXBwZXIuaAo+ICsrKyBi L2xpYm11bHRpcGF0aC9kZXZtYXBwZXIuaAo+IEBAIC0yOCw3ICsyOCw4IEBAIHZvaWQgZG1faW5p dChpbnQgdmVyYm9zaXR5KTsKPiAgdm9pZCBsaWJtcF9kbV9pbml0KHZvaWQpOwo+ICB2b2lkIGxp Ym1wX3VkZXZfc2V0X3N5bmNfc3VwcG9ydChpbnQgb24pOwo+ICBzdHJ1Y3QgZG1fdGFzayAqbGli bXBfZG1fdGFza19jcmVhdGUoaW50IHRhc2spOwo+IC1pbnQgZG1fZHJ2X3ZlcnNpb24gKHVuc2ln bmVkIGludCAqIHZlcnNpb24sIGNoYXIgKiBzdHIpOwo+ICtpbnQgZG1fZHJ2X3ZlcnNpb24gKHVu c2lnbmVkIGludCAqIHZlcnNpb24pOwo+ICtpbnQgZG1fdGd0X3ZlcnNpb24gKHVuc2lnbmVkIGlu dCAqIHZlcnNpb24sIGNoYXIgKiBzdHIpOwo+ICBpbnQgZG1fc2ltcGxlY21kX2ZsdXNoIChpbnQs IGNvbnN0IGNoYXIgKiwgdWludDE2X3QpOwo+ICBpbnQgZG1fc2ltcGxlY21kX25vZmx1c2ggKGlu dCwgY29uc3QgY2hhciAqLCB1aW50MTZfdCk7Cj4gIGludCBkbV9hZGRtYXBfY3JlYXRlIChzdHJ1 Y3QgbXVsdGlwYXRoICptcHAsIGNoYXIgKnBhcmFtcyk7Cj4gZGlmZiAtLWdpdCBhL2xpYm11bHRp cGF0aC92ZWN0b3IuYyBiL2xpYm11bHRpcGF0aC92ZWN0b3IuYwo+IGluZGV4IDYyNjZlMGEuLmY3 NDFhZTAgMTAwNjQ0Cj4gLS0tIGEvbGlibXVsdGlwYXRoL3ZlY3Rvci5jCj4gKysrIGIvbGlibXVs dGlwYXRoL3ZlY3Rvci5jCj4gQEAgLTE0NSwxOCArMTQ1LDI2IEBAIHZlY3Rvcl9yZXBhY2sodmVj dG9yIHYpCj4gIAkJCXZlY3Rvcl9kZWxfc2xvdCh2LCBpLS0pOwo+ICB9Cj4gIAo+IC0vKiBGcmVl IG1lbW9yeSB2ZWN0b3IgYWxsb2NhdGlvbiAqLwo+IC12b2lkCj4gLXZlY3Rvcl9mcmVlKHZlY3Rv ciB2KQo+ICt2ZWN0b3IKPiArdmVjdG9yX3Jlc2V0KHZlY3RvciB2KQo+ICB7Cj4gIAlpZiAoIXYp Cj4gLQkJcmV0dXJuOwo+ICsJCXJldHVybiBOVUxMOwo+ICAKPiAgCWlmICh2LT5zbG90KQo+ICAJ CUZSRUUodi0+c2xvdCk7Cj4gIAo+ICAJdi0+YWxsb2NhdGVkID0gMDsKPiAgCXYtPnNsb3QgPSBO VUxMOwo+ICsJcmV0dXJuIHY7Cj4gK30KPiArCj4gKy8qIEZyZWUgbWVtb3J5IHZlY3RvciBhbGxv Y2F0aW9uICovCj4gK3ZvaWQKPiArdmVjdG9yX2ZyZWUodmVjdG9yIHYpCj4gK3sKPiArCWlmICgh dmVjdG9yX3Jlc2V0KHYpKQo+ICsJCXJldHVybjsKPiAgCUZSRUUodik7Cj4gIH0KPiAgCj4gZGlm ZiAtLWdpdCBhL2xpYm11bHRpcGF0aC92ZWN0b3IuaCBiL2xpYm11bHRpcGF0aC92ZWN0b3IuaAo+ IGluZGV4IDVjZmQ0ZDAuLmQ2OWNkMGIgMTAwNjQ0Cj4gLS0tIGEvbGlibXVsdGlwYXRoL3ZlY3Rv ci5oCj4gKysrIGIvbGlibXVsdGlwYXRoL3ZlY3Rvci5oCj4gQEAgLTQ1LDYgKzQ1LDcgQEAgdHlw ZWRlZiBzdHJ1Y3QgX3ZlY3RvciAqdmVjdG9yOwo+ICAvKiBQcm90b3R5cGVzICovCj4gIGV4dGVy biB2ZWN0b3IgdmVjdG9yX2FsbG9jKHZvaWQpOwo+ICBleHRlcm4gdm9pZCAqdmVjdG9yX2FsbG9j X3Nsb3QodmVjdG9yIHYpOwo+ICt2ZWN0b3IgdmVjdG9yX3Jlc2V0KHZlY3RvciB2KTsKPiAgZXh0 ZXJuIHZvaWQgdmVjdG9yX2ZyZWUodmVjdG9yIHYpOwo+ICBleHRlcm4gdm9pZCBmcmVlX3N0cnZl Yyh2ZWN0b3Igc3RydmVjKTsKPiAgZXh0ZXJuIHZvaWQgdmVjdG9yX3NldF9zbG90KHZlY3RvciB2 LCB2b2lkICp2YWx1ZSk7Cj4gZGlmZiAtLWdpdCBhL211bHRpcGF0aGQvbWFpbi5jIGIvbXVsdGlw YXRoZC9tYWluLmMKPiBpbmRleCBlZmMzOWQ3Li4yOTYzYmRlIDEwMDY0NAo+IC0tLSBhL211bHRp cGF0aGQvbWFpbi5jCj4gKysrIGIvbXVsdGlwYXRoZC9tYWluLmMKPiBAQCAtMjIyOCw3ICsyMjI4 LDcgQEAgcmVjb25maWd1cmUgKHN0cnVjdCB2ZWN0b3JzICogdmVjcykKPiAgCS8qIFJlLXJlYWQg YW55IHRpbWV6b25lIGNoYW5nZXMgKi8KPiAgCXR6c2V0KCk7Cj4gIAo+IC0JZG1fZHJ2X3ZlcnNp b24oY29uZi0+dmVyc2lvbiwgVEdUX01QQVRIKTsKPiArCWRtX3RndF92ZXJzaW9uKGNvbmYtPnZl cnNpb24sIFRHVF9NUEFUSCk7Cj4gIAlpZiAodmVyYm9zaXR5KQo+ICAJCWNvbmYtPnZlcmJvc2l0 eSA9IHZlcmJvc2l0eTsKPiAgCWlmIChiaW5kaW5nc19yZWFkX29ubHkpCgotLSAKRHIuIE1hcnRp biBXaWxjayA8bXdpbGNrQHN1c2UuY29tPiwgVGVsLiArNDkgKDApOTExIDc0MDUzIDIxMDcKU1VT RSBMaW51eCBHbWJILCBHRjogRmVsaXggSW1lbmTDtnJmZmVyLCBKYW5lIFNtaXRoYXJkLCBHcmFo YW0gTm9ydG9uCkhSQiAyMTI4NCAoQUcgTsO8cm5iZXJnKQoKLS0KZG0tZGV2ZWwgbWFpbGluZyBs aXN0CmRtLWRldmVsQHJlZGhhdC5jb20KaHR0cHM6Ly93d3cucmVkaGF0LmNvbS9tYWlsbWFuL2xp c3RpbmZvL2RtLWRldmVs