From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hannes Reinecke Subject: Re: [PATCH] multipath -u: test socket connection in non-blocking mode Date: Wed, 24 Apr 2019 07:48:40 +0200 Message-ID: <97f71fe5-ed9c-1f12-e344-132bac889b7e@suse.de> References: <20190423193237.28391-1-mwilck@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190423193237.28391-1-mwilck@suse.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com To: Martin Wilck , Christophe Varoqui , Benjamin Marzinski Cc: dm-devel@redhat.com List-Id: dm-devel.ids T24gNC8yMy8xOSA5OjMyIFBNLCBNYXJ0aW4gV2lsY2sgd3JvdGU6Cj4gU2luY2UgY29tbWl0IGQ3 MTg4ZmNkICJtdWx0aXBhdGhkOiBzdGFydCBkYWVtb24gYWZ0ZXIgdWRldiB0cmlnZ2VyIiwKPiBt dWx0aXBhdGhkIHN0YXJ0dXAgaXMgZGVsYXllZCBkdXJpbmcgYm9vdCB1bnRpbCBhZnRlciAidWRl diBzZXR0bGUiCj4gdGVybWluYXRlcy4gQnV0ICJtdWx0aXBhdGggLXUiIGlzIHJ1biBieSB1ZGV2 IHdvcmtlcnMgZm9yIHN0b3JhZ2UgZGV2aWNlcywKPiBhbmQgYXR0ZW1wdHMgdG8gY29ubmVjdCB0 byB0aGUgbXVsdGlwYXRoZCBzb2NrZXQuIFRoaXMgY2F1c2VzIGEgc3RhcnQgam9iCj4gZm9yIG11 bHRpcGF0aGQgdG8gYmUgc2NoZWR1bGVkIGJ5IHN5c3RlbWQsIGJ1dCB0aGF0IGpvYiB3b24ndCBi ZSBzdGFydGVkCj4gdW50aWwgInVkZXYgc2V0dGxlIiBmaW5pc2hlcy4gVGhpcyBpcyBub3QgYSBw cm9ibGVtIG9uIHN5c3RlbXMgd2l0aCAxMjkgb3IKPiBsZXNzIHN0b3JhZ2UgdW5pdHMsIGJlY2F1 c2UgdGhlIGNvbm5lY3QoKSBjYWxsIG9mICJtdWx0aXBhdGggLXUiIHdpbGwKPiBzdWNjZWVkIGFu eXdheS4gQnV0IG9uIGxhcmdlciBzeXN0ZW1zLCB0aGUgbGlzdGVuIGJhY2tsb2cgb2YgdGhlIHN5 c3RlbWQKPiBzb2NrZXQgY2FuIGJlIGV4Y2VlZGVkLCB3aGljaCBjYXVzZXMgY29ubmVjdCgpIGNh bGxzIGZvciB0aGUgc29ja2V0IHRvCj4gYmxvY2sgdW50aWwgbXVsdGlwYXRoZCBzdGFydHMgdXAg YW5kIGJlZ2lucyBjYWxsaW5nIGFjY2VwdCgpLiBUaGlzIGNyZWF0ZXMKPiBhIGRlYWRsb2NrIHNp dHVhdGlvbiwgYmVjYXVzZSAibXVsdGlwYXRoIC11IiAoY2FsbGVkIGJ5IHVkZXYgd29ya2VycykK PiBibG9ja3MsIGFuZCB0aHVzICJ1ZGV2IHNldHRsZSIgZG9lc24ndCBmaW5pc2gsIGRlbGF5aW5n IG11bHRpcGF0aGQKPiBzdGFydHVwLiBUaGlzIHNpdHVhdGlvbiB0aGVuIHBlcnNpc3RzIHVudGls IGVpdGhlciB0aGUgd29ya2VycyBvciAidWRldgo+IHNldHRsZSIgdGltZSBvdXQuIEluIHRoZSBm b3JtZXIgY2FzZSwgcGF0aCBkZXZpY2VzIG1pZ2h0IGJlIG1pc2NsYXNzaWZpZWQKPiBhcyBub24t bXVsdGlwYXRoIGRldmljZXMgYnkgIm11bHRpcGF0aCAtdSIuCj4gCj4gRml4IHRoaXMgYnkgdXNp bmcgYSBub24tYmxvY2tpbmcgc29ja2V0IGZkIGZvciBjb25uZWN0KCkgYW5kIGludGVycHJldCB0 aGUKPiBlcnJubyBhcHByb3ByaWF0ZWx5Lgo+IAo+IFRoaXMgcGF0Y2ggcmV2ZXJ0cyBtb3N0IG9m IHRoZSBjaGFuZ2VzIGZyb20gY29tbWl0IDhjZGY2NjYxICJtdWx0aXBhdGg6Cj4gY2hlY2sgb24g bXVsdGlwYXRoZCB3aXRob3V0IHN0YXJ0aW5nIGl0Ii4gSW5zdGVhZCwgIm11bHRpcGF0aCAtdSIg ZG9lcwo+IGFjY2VzcyB0aGUgc29ja2V0IGFuZCBzdGFydCBtdWx0aXBhdGggYWdhaW4gKHdoaWNo IGlzIHdoYXQgd2Ugd2FudCBJTU8pLAo+IGJ1dCBpdCBpcyBub3cgYWJsZSB0byBkZXRlY3QgYW5k IGhhbmRsZSB0aGUgImZ1bGwgYmFja2xvZyIgc2l0dWF0aW9uLgo+IC0tLQo+ICAgbGlibXBhdGhj bWQvbXBhdGhfY21kLmMgfCAzMyArKysrKysrKysrKysrKysrKy0tLQo+ICAgbGlibXBhdGhjbWQv bXBhdGhfY21kLmggfCAxNSArKysrKysrKysKPiAgIG11bHRpcGF0aC9tYWluLmMgICAgICAgIHwg NjcgKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgIDMgZmlsZXMg Y2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwgNTEgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdp dCBhL2xpYm1wYXRoY21kL21wYXRoX2NtZC5jIGIvbGlibXBhdGhjbWQvbXBhdGhfY21kLmMKPiBp bmRleCBkZjRjYTU0MS4uMjY1YWYxZmIgMTAwNjQ0Cj4gLS0tIGEvbGlibXBhdGhjbWQvbXBhdGhf Y21kLmMKPiArKysgYi9saWJtcGF0aGNtZC9tcGF0aF9jbWQuYwo+IEBAIC0yNiw2ICsyNiw3IEBA Cj4gICAjaW5jbHVkZSA8cG9sbC5oPgo+ICAgI2luY2x1ZGUgPHN0cmluZy5oPgo+ICAgI2luY2x1 ZGUgPGVycm5vLmg+Cj4gKyNpbmNsdWRlIDxmY250bC5oPgo+ICAgCj4gICAjaW5jbHVkZSAibXBh dGhfY21kLmgiCj4gICAKPiBAQCAtOTMsMTAgKzk0LDExIEBAIHN0YXRpYyBzaXplX3Qgd3JpdGVf YWxsKGludCBmZCwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgbGVuKQo+ICAgLyoKPiAgICAqIGNv bm5lY3QgdG8gYSB1bml4IGRvbWFpbiBzb2NrZXQKPiAgICAqLwo+IC1pbnQgbXBhdGhfY29ubmVj dCh2b2lkKQo+ICtpbnQgX19tcGF0aF9jb25uZWN0KGludCBub25ibG9ja2luZykKPiAgIHsKPiAt CWludCBmZCwgbGVuOwo+ICsJaW50IGZkLCBsZW4sIGVycjsKPiAgIAlzdHJ1Y3Qgc29ja2FkZHJf dW4gYWRkcjsKPiArCWludCBmbGFncyA9IDA7Cj4gICAKPiAgIAltZW1zZXQoJmFkZHIsIDAsIHNp emVvZihhZGRyKSk7Cj4gICAJYWRkci5zdW5fZmFtaWx5ID0gQUZfTE9DQUw7Cj4gQEAgLTEwNiwx NiArMTA4LDM5IEBAIGludCBtcGF0aF9jb25uZWN0KHZvaWQpCj4gICAKPiAgIAlmZCA9IHNvY2tl dChBRl9MT0NBTCwgU09DS19TVFJFQU0sIDApOwo+ICAgCWlmIChmZCA9PSAtMSkKPiAtCQlyZXR1 cm4gLTE7Cj4gKwkJcmV0dXJuIC1lcnJubzsKPiArCj4gKwlpZiAobm9uYmxvY2tpbmcpIHsKPiAr CQlmbGFncyA9IGZjbnRsKGZkLCBGX0dFVEZMLCAwKTsKPiArCQlpZiAoZmxhZ3MgIT0gLTEpCj4g KwkJCSh2b2lkKWZjbnRsKGZkLCBGX1NFVEZMLCBmbGFnc3xPX05PTkJMT0NLKTsKPiArCX0KPiAg IAo+ICAgCWlmIChjb25uZWN0KGZkLCAoc3RydWN0IHNvY2thZGRyICopJmFkZHIsIGxlbikgPT0g LTEpIHsKPiArCQllcnIgPSAtZXJybm87Cj4gICAJCWNsb3NlKGZkKTsKPiAtCQlyZXR1cm4gLTE7 Cj4gKwkJcmV0dXJuIGVycjsKPiAgIAl9Cj4gICAKPiArCWlmIChub25ibG9ja2luZyAmJiBmbGFn cyAhPSAtMSkKPiArCQkodm9pZClmY250bChmZCwgRl9TRVRGTCwgZmxhZ3MpOwo+ICsKPiAgIAly ZXR1cm4gZmQ7Cj4gICB9Cj4gICAKPiArLyoKPiArICogY29ubmVjdCB0byBhIHVuaXggZG9tYWlu IHNvY2tldAo+ICsgKi8KPiAraW50IG1wYXRoX2Nvbm5lY3Qodm9pZCkKPiArewo+ICsJaW50IGZk ID0gX19tcGF0aF9jb25uZWN0KDApOwo+ICsKPiArCWlmIChmZCA+PSAwKQo+ICsJCXJldHVybiBm ZDsKPiArCWVycm5vID0gLWZkOwo+ICsJcmV0dXJuIC0xOwo+ICt9Cj4gKwo+ICAgaW50IG1wYXRo X2Rpc2Nvbm5lY3QoaW50IGZkKQo+ICAgewo+ICAgCXJldHVybiBjbG9zZShmZCk7ClBsZWFzZSBk byBhd2F5IHdpdGggdGhlIHdyYXBwZXIuCk5vIHBvaW50IGluIGhhdmluZyBpdDsgcmF0aGVyIHVz ZSBhIGNvbnNpc3RlbnQgcmV0dXJuIHZhbHVlCihpZSBlaXRoZXIgLTEgYW5kIHNldHRpbmcgZXJy bm8sIG9yIHJldHVybmluZyAtZXJybm8gZGlyZWN0bHkpLgoKPiBkaWZmIC0tZ2l0IGEvbGlibXBh dGhjbWQvbXBhdGhfY21kLmggYi9saWJtcGF0aGNtZC9tcGF0aF9jbWQuaAo+IGluZGV4IDE1YWVi MDY3Li4wZDRjNDVjZCAxMDA2NDQKPiAtLS0gYS9saWJtcGF0aGNtZC9tcGF0aF9jbWQuaAo+ICsr KyBiL2xpYm1wYXRoY21kL21wYXRoX2NtZC5oCj4gQEAgLTM0LDYgKzM0LDIxIEBAIGV4dGVybiAi QyIgewo+ICAgI2RlZmluZSBERUZBVUxUX1JFUExZX1RJTUVPVVQJNDAwMAo+ICAgCj4gICAKPiAr LyoKPiArICogREVTQ1JJUFRJT046Cj4gKyAqCVNhbWUgYXMgbXBhdGhfY29ubmVjdCgpIChzZWUg YmVsb3cpIGV4Y2VwdCBmb3IgdGhlIGVycm9yIHJldHVybiBjb2RlCj4gKyAqCWFuZCB0aGUgIm5v bmJsb2NraW5nIiBwYXJhbWV0ZXIuCj4gKyAqCUlmICJub25ibG9ja2luZyIgaXMgc2V0LCBjb25u ZWN0cyBpbiBub24tYmxvY2tpbmcgbW9kZS4gVGhpcyBpcwo+ICsgKgl1c2VmdWwgdG8gYXZvaWQg YmxvY2tpbmcgaWYgdGhlIGxpc3RlbmluZyBzb2NrZXQncyBiYWNrbG9nIGlzCj4gKyAqCWV4Y2Vl ZGVkLiBJbiB0aGlzIGNhc2UsIC1FQUdBSU4gd2lsbCBiZSByZXR1cm5lZC4KPiArICoJRXZlbiB3 aXRoICJub25ibG9ja2luZyIgc2V0LCB0aGUgcmV0dXJuZWQgZmlsZSBkZXNjcmlwdG9yIGlzIGlu Cj4gKyAqCWJsb2NraW5nIG1vZGUgaW4gY2FzZSBvZiBzdWNjZXNzLgo+ICsgKgo+ICsgKiBSRVRV Uk5TOgo+ICsgKglBIGZpbGUgZGVzY3JpcHRvciAoPj0gMCkgb24gc3VjY2Vzcy4gLWVycm5vIG9u IGZhaWx1cmUuCj4gKyAqLwo+ICtpbnQgX19tcGF0aF9jb25uZWN0KGludCBub25ibG9ja2luZyk7 Cj4gKwo+ICAgLyoKPiAgICAqIERFU0NSSVBUSU9OOgo+ICAgICoJQ29ubmVjdCB0byB0aGUgcnVu bmluZyBtdWx0aXBhdGhkIGRhZW1vbi4gT24gc3lzdGVtcyB3aXRoIHRoZQo+IGRpZmYgLS1naXQg YS9tdWx0aXBhdGgvbWFpbi5jIGIvbXVsdGlwYXRoL21haW4uYwo+IGluZGV4IDAwOGUzZDNmLi41 MjIyMGRiZiAxMDA2NDQKPiAtLS0gYS9tdWx0aXBhdGgvbWFpbi5jCj4gKysrIGIvbXVsdGlwYXRo L21haW4uYwo+IEBAIC04NTAsNTUgKzg1MCwyOCBAQCBvdXQ6Cj4gICAJcmV0dXJuIHI7Cj4gICB9 Cj4gICAKPiAtaW50IGlzX211bHRpcGF0aGRfcnVubmluZyh2b2lkKQo+ICtzdGF0aWMgaW50IHRl c3RfbXVsdGlwYXRoZF9zb2NrZXQodm9pZCkKPiAgIHsKPiAtCUZJTEUgKmYgPSBOVUxMOwo+IC0J Y2hhciBidWZbMTZdOwo+IC0JY2hhciBwYXRoW1BBVEhfTUFYXTsKPiAtCWludCBwaWQ7Cj4gLQlj aGFyICplbmQ7Cj4gKwlpbnQgZmQ7Cj4gKwkvKgo+ICsJICogIm11bHRpcGF0aCAtdSIgbWF5IGJl IHJ1biBiZWZvcmUgdGhlIGRhZW1vbiBpcyBzdGFydGVkLiBJbiB0aGlzCj4gKwkgKiBjYXNlLCBz eXN0ZW1kIG1pZ2h0IG93biB0aGUgc29ja2V0IGJ1dCBtaWdodCBkZWxheSBtdWx0aXBhdGhkCj4g KwkgKiBzdGFydHVwIHVudGlsIHNvbWUgb3RoZXIgdW5pdCAodWRldiBzZXR0bGUhKSAgaGFzIGZp bmlzaGVkCj4gKwkgKiBzdGFydGluZy4gV2l0aCBtYW55IExVTnMsIHRoZSBsaXN0ZW4gYmFja2xv ZyBtYXkgYmUgZXhjZWVkZWQsIHdoaWNoCj4gKwkgKiB3b3VsZCBjYXVzZSBjb25uZWN0KCkgdG8g YmxvY2suIFRoaXMgY2F1c2VzIHVkZXYgd29ya2VycyBjYWxsaW5nCj4gKwkgKiAibXVsdGlwYXRo IC11IiB0byBoYW5nLCBhbmQgdGh1cyBjcmVhdGVzIGEgZGVhZGxvY2ssIHVudGlsICJ1ZGV2Cj4g KwkgKiBzZXR0bGUiIHRpbWVzIG91dC4gIFRvIGF2b2lkIHRoaXMsIGNhbGwgY29ubmVjdCgpIGlu IG5vbi1ibG9ja2luZwo+ICsJICogbW9kZSBoZXJlLCBhbmQgdGFrZSBFQUdBSU4gYXMgaW5kaWNh dGlvbiBmb3IgYSBmaWxsZWQtdXAgc3lzdGVtZAo+ICsJICogYmFja2xvZy4KPiArCSAqLwo+ICAg Cj4gLQlmID0gZm9wZW4oREVGQVVMVF9QSURGSUxFLCAiciIpOwo+IC0JaWYgKCFmKSB7Cj4gLQkJ aWYgKGVycm5vICE9IEVOT0VOVCkKPiAtCQkJY29uZGxvZyg0LCAiY2FuJ3Qgb3BlbiAiIERFRkFV TFRfUElERklMRSAiOiAlcyIsCj4gLQkJCQlzdHJlcnJvcihlcnJubykpOwo+IC0JCXJldHVybiAw Owo+IC0JfQo+IC0JaWYgKCFmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmKSkgewo+IC0JCWlmIChm ZXJyb3IoZikpCj4gLQkJCWNvbmRsb2coNCwgInJlYWQgb2YgIiBERUZBVUxUX1BJREZJTEUgIiBm YWlsZWQ6ICVzIiwKPiAtCQkJCXN0cmVycm9yKGVycm5vKSk7Cj4gLQkJZmNsb3NlKGYpOwo+IC0J CXJldHVybiAwOwo+IC0JfQo+IC0JZmNsb3NlKGYpOwo+IC0JZXJybm8gPSAwOwo+IC0Jc3RyY2hv cChidWYpOwo+IC0JcGlkID0gc3RydG9sKGJ1ZiwgJmVuZCwgMTApOwo+IC0JaWYgKGVycm5vICE9 IDAgfHwgcGlkIDw9IDAgfHwgKmVuZCAhPSAnXDAnKSB7Cj4gLQkJY29uZGxvZyg0LCAiaW52YWxp ZCBjb250ZW50cyBpbiAiIERFRkFVTFRfUElERklMRSAiOiAnJXMnIiwKPiAtCQkJYnVmKTsKPiAt CQlyZXR1cm4gMDsKPiAtCX0KPiAtCXNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIi9wcm9j LyVkL2NvbW0iLCBwaWQpOwo+IC0JZiA9IGZvcGVuKHBhdGgsICJyIik7Cj4gLQlpZiAoIWYpIHsK PiAtCQlpZiAoZXJybm8gIT0gRU5PRU5UKQo+IC0JCQljb25kbG9nKDQsICJjYW4ndCBvcGVuICVz OiAlcyIsIHBhdGgsIHN0cmVycm9yKGVycm5vKSk7Cj4gLQkJcmV0dXJuIDA7Cj4gLQl9Cj4gLQlp ZiAoIWZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGYpKSB7Cj4gLQkJaWYgKGZlcnJvcihmKSkKPiAt CQkJY29uZGxvZyg0LCAicmVhZCBvZiAlcyBmYWlsZWQ6ICVzIiwgcGF0aCwKPiAtCQkJCXN0cmVy cm9yKGVycm5vKSk7Cj4gLQkJZmNsb3NlKGYpOwo+IC0JCXJldHVybiAwOwo+IC0JfQo+IC0JZmNs b3NlKGYpOwo+IC0Jc3RyY2hvcChidWYpOwo+IC0JaWYgKHN0cmNtcChidWYsICJtdWx0aXBhdGhk IikgIT0gMCkKPiArCWZkID0gX19tcGF0aF9jb25uZWN0KDEpOwo+ICsJaWYgKGZkID09IC1FQUdB SU4pCj4gKwkJY29uZGxvZygzLCAiZGFlbW9uIGJhY2tsb2cgZXhjZWVkZWQiKTsKPiArCWVsc2Ug aWYgKGZkIDwgMCkKPiAgIAkJcmV0dXJuIDA7Cj4gKwllbHNlCj4gKwkJY2xvc2UoZmQpOwo+ICAg CXJldHVybiAxOwo+ICAgfQo+ICAgCj4gQEAgLTEwODAsNyArMTA1Myw3IEBAIG1haW4gKGludCBh cmdjLCBjaGFyICphcmd2W10pCj4gICAJfQo+ICAgCWlmIChjbWQgPT0gQ01EX1ZBTElEX1BBVEgg JiYKPiAgIAkgICAgZGV2X3R5cGUgPT0gREVWX1VFVkVOVCkgewo+IC0JCWlmICghaXNfbXVsdGlw YXRoZF9ydW5uaW5nKCkpIHsKPiArCQlpZiAoIXRlc3RfbXVsdGlwYXRoZF9zb2NrZXQoKSkgewo+ ICAgCQkJY29uZGxvZygzLCAiJXM6IGRhZW1vbiBpcyBub3QgcnVubmluZyIsIGRldik7Cj4gICAJ CQlpZiAoIXN5c3RlbWRfc2VydmljZV9lbmFibGVkKGRldikpIHsKPiAgIAkJCQlyID0gcHJpbnRf Y21kX3ZhbGlkKFJUVkxfTk8sIE5VTEwsIGNvbmYpOwo+IApSZW1haW5kZXIgbG9va3Mgb2theS4K CkNoZWVycywKCkhhbm5lcwotLSAKRHIuIEhhbm5lcyBSZWluZWNrZQkJICAgVGVhbWxlYWQgU3Rv cmFnZSAmIE5ldHdvcmtpbmcKaGFyZUBzdXNlLmRlCQkJICAgICAgICAgICAgICAgKzQ5IDkxMSA3 NDA1MyA2ODgKU1VTRSBMSU5VWCBHbWJILCBNYXhmZWxkc3RyLiA1LCA5MDQwOSBOw7xybmJlcmcK R0Y6IEZlbGl4IEltZW5kw7ZyZmZlciwgTWFyeSBIaWdnaW5zLCBTcmkgUmFzaWFoCkhSQiAyMTI4 NCAoQUcgTsO8cm5iZXJnKQoKLS0KZG0tZGV2ZWwgbWFpbGluZyBsaXN0CmRtLWRldmVsQHJlZGhh dC5jb20KaHR0cHM6Ly93d3cucmVkaGF0LmNvbS9tYWlsbWFuL2xpc3RpbmZvL2RtLWRldmVs