From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pve-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 453271FF164 for <inbox@lore.proxmox.com>; Fri, 11 Apr 2025 13:25:18 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 1D5C5FD9E; Fri, 11 Apr 2025 13:25:11 +0200 (CEST) Message-ID: <204d5cf2-78c1-4939-b0a9-d22e6b414f25@proxmox.com> Date: Fri, 11 Apr 2025 13:24:37 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>, Proxmox VE development discussion <pve-devel@lists.proxmox.com> References: <20250325151254.193177-1-d.kral@proxmox.com> <20250325151254.193177-4-d.kral@proxmox.com> <990ee499-ab4f-4aaa-8df1-b2d1dad1309e@proxmox.com> <1743670423.cy7yczwutf.astroid@yuna.none> Content-Language: en-US From: Daniel Kral <d.kral@proxmox.com> In-Reply-To: <1743670423.cy7yczwutf.astroid@yuna.none> X-SPAM-LEVEL: Spam detection results: 0 AWL 0.012 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [proxmox.com, tools.pm] Subject: Re: [pve-devel] [PATCH ha-manager 02/15] tools: add hash set helper subroutines X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com> List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe> List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/> List-Post: <mailto:pve-devel@lists.proxmox.com> List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help> List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe> Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com> Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com> VGhhbmtzIGhlcmUgZm9yIHRoZSBmZWVkYmFjayBmcm9tIGJvdGggb2YgeW91LgoKSSBhZ3JlZSB3 aXRoIGFsbCB0aGUgY29tbWVudHMgYW5kIHdpbGwgbWFrZSB0aGUgaGVscGVycyBtb3JlIHJldXNh YmxlIHNvIAp0aGF0IHRoZXkgY2FuIGJlIG1vdmVkIHRvIGEgbmV3IGRhdGEgc3RydWN0dXJlL2hh c2ggbW9kdWxlIGluIFBWRTo6VG9vbHMuCgpPbiA0LzMvMjUgMTQ6MTYsIEZhYmlhbiBHcsO8bmJp Y2hsZXIgd3JvdGU6Cj4gT24gTWFyY2ggMjUsIDIwMjUgNjo1MyBwbSwgVGhvbWFzIExhbXByZWNo dCB3cm90ZToKPj4gQW0gMjUuMDMuMjUgdW0gMTY6MTIgc2NocmllYiBEYW5pZWwgS3JhbDoKPj4+ IEltcGxlbWVudCBoZWxwZXIgc3Vicm91dGluZXMsIHdoaWNoIGltcGxlbWVudCBiYXNpYyBzZXQg b3BlcmF0aW9ucyBkb25lCj4+PiBvbiBoYXNoIHNldHMsIGkuZS4gaGFzaGVzIHdpdGggZWxlbWVu dHMgc2V0IHRvIGEgdHJ1ZSB2YWx1ZSwgZS5nLiAxLgo+Pj4KPj4+IFRoZXNlIHdpbGwgYmUgdXNl ZCBmb3IgdmFyaW91cyB0YXNrcyBpbiB0aGUgSEEgTWFuYWdlciBjb2xvY2F0aW9uIHJ1bGVzLAo+ Pj4gZS5nLiBmb3IgdmVyaWZ5aW5nIHRoZSBzYXRpc2ZpYWJpbGl0eSBvZiB0aGUgcnVsZXMgb3Ig YXBwbHlpbmcgdGhlCj4+PiBjb2xvY2F0aW9uIHJ1bGVzIG9uIHRoZSBhbGxvd2VkIHNldCBvZiBu b2Rlcy4KPj4+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgS3JhbCA8ZC5rcmFsQHByb3htb3gu Y29tPgo+Pj4gLS0tCj4+PiBJZiB0aGV5J3JlIHVzZWZ1bCBzb21ld2hlcmUgZWxzZSwgSSBjYW4g bW92ZSB0aGVtIHRvIFBWRTo6VG9vbHMKPj4+IHBvc3QtUkZDLCBidXQgaXQnZCBiZSBwcm9iYWJs eSB1c2VmdWwgdG8gcHJlZml4IHRoZW0gd2l0aCBgaGFzaF9gIHRoZXJlLgo+Pgo+PiBtZWgsIG5v dCBhIGJpZyBmYW4gb2YgZ3Jvd2luZyB0aGUgb3Zlcmx5IGdlbmVyaWMgUFZFOjpUb29scyBtb3Jl LCBpZiwgdGhpcwo+PiBzaG91bGQgZ28gaW50byBhIGRlZGljYXRlZCBtb2R1bGUgZm9yIGhhc2gv ZGF0YSBzdHJ1Y3R1cmUgaGVscGVycyAuLi4KPj4KPj4+IEFGQUlDUyB0aGVyZSB3ZXJlbid0IGFu eSBvdGhlciBoZWxwZXJzIGZvciB0aGlzIHdpdGggYSBxdWljayBncmVwIG92ZXIKPj4+IGFsbCBw cm9qZWN0cyBhbmQgYFBWRTo6VG9vbHM6OmFycmF5X2ludGVyc2VjdCgpYCB3YXNuJ3Qgd2hhdCBJ IG5lZWRlZC4KPj4KPj4gLi4uIHdoaWNoIHRob3NlIGV4aXN0aW5nIG9uZSBzaG91bGQgdGhlbiBh bHNvIG1vdmUgaW50bywgYnV0IG91dCBvZiBzY29wZQo+PiBvZiB0aGlzIHNlcmllcy4KPj4KPj4+ Cj4+PiAgIHNyYy9QVkUvSEEvVG9vbHMucG0gfCA0MiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKPj4+ICAgMSBmaWxlIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKykK Pj4+Cj4+PiBkaWZmIC0tZ2l0IGEvc3JjL1BWRS9IQS9Ub29scy5wbSBiL3NyYy9QVkUvSEEvVG9v bHMucG0KPj4+IGluZGV4IDBmOWU5YTUuLmZjMzI4MmMgMTAwNjQ0Cj4+PiAtLS0gYS9zcmMvUFZF L0hBL1Rvb2xzLnBtCj4+PiArKysgYi9zcmMvUFZFL0hBL1Rvb2xzLnBtCj4+PiBAQCAtMTE1LDYg KzExNSw0OCBAQCBzdWIgd3JpdGVfanNvbl90b19maWxlIHsKPj4+ICAgICAgIFBWRTo6VG9vbHM6 OmZpbGVfc2V0X2NvbnRlbnRzKCRmaWxlbmFtZSwgJHJhdyk7Cj4+PiAgIH0KPj4+ICAgCj4+PiAr c3ViIGlzX2Rpc2pvaW50IHsKPj4KPj4gSU1PIGEgYml0IHRvbyBnZW5lcmljIG5hbWUgZm9yIGJl aW5nIGluIGEgVG9vbHMgbmFtZWQgbW9kdWxlLCBtYXliZQo+PiBwcmVmaXggdGhlbSBhbGwgd2l0 aCBoYXNoXyBvciBoYXNoZXNfID8KClllcywgZ29vZCBjYWxsLCBJIHRoaW5rIEknbGwgZ28gZm9y IHdoYXQgRmFiaWFuIG1lbnRpb25lZCBiZWxvdyB0byAKcHJlZml4IHRoZW0gd2l0aCBoYXNoX3Nl dF8gLyBzZXRfIG9yIHNvbWV0aGluZyBzaW1pbGFyLgoKQW5kIGFzIHdlJ3JlIHdvcmtpbmcgdG93 YXJkcyBtYWtpbmcgdGhvc2UgaGVscGVycyBtb3JlIGFjY2Vzc2libGUgZm9yIApvdGhlciB1c2Ug Y2FzZXMsIEknbGwgYWxzbyBtb3ZlIHRoZW0gdG8gYSBzZXBhcmF0ZSBQVkU6OlRvb2xzOjoqIG1v ZHVsZSAKYXMgc3VnZ2VzdGVkIGFib3ZlIDopCgo+IAo+IGlzX2Rpc2pvaW50IGFsc28gb25seSBy ZWFsbHkgbWFrZXMgc2Vuc2UgYXMgYSBuYW1lIGlmIHlvdSBzZWUgaXQgYXMgYW4KPiBvcGVyYXRp b24gKm9uKiAkaGFzaDEsIHJhdGhlciB0aGFuIGFuIG9wZXJhdGlvbiBpbnZvbHZpbmcgYm90aCBo YXNoZXMuLgo+IAo+IGkuZS4sIGluIFJ1c3QKPiAKPiBzZXQxLmlzX2Rpc2pvaW50KCZzZXQyKTsK PiAKPiBtYWtlcyBzZW5zZS4uCj4gCj4gaW4gUGVybAo+IAo+IGlzX2Rpc2pvaW50KCRzZXQxLCAk c2V0MikKPiAKPiByZWFkcyB3ZWlyZCwgYW5kIHNob3VsZCBtYXliZSBiZQo+IAo+IGNoZWNrX2Rp c2pvaW50KCRzZXQxLCAkc2V0MikKPiAKPiBvciBzb21ldGhpbmcgbGlrZSB0aGF0PwoKWWVzIG1h a2VzIHNlbnNlLCBJIHdhcyBnb2luZyBmb3IgYGFyZV9kaXNqb2ludGAsIGJ1dCBib3RoIGFyZSBm aW5lIGZvciBtZS4KCj4gCj4+Cj4+PiArICAgIG15ICgkaGFzaDEsICRoYXNoMikgPSBAXzsKPj4+ ICsKPj4+ICsgICAgZm9yIG15ICRrZXkgKGtleXMgJSRoYXNoMSkgewo+Pj4gKwlyZXR1cm4gMCBp ZiBleGlzdHMoJGhhc2gyLT57JGtleX0pOwo+Pj4gKyAgICB9Cj4+PiArCj4+PiArICAgIHJldHVy biAxOwo+Pj4gK307Cj4+PiArCj4+PiArc3ViIGludGVyc2VjdCB7Cj4+PiArICAgIG15ICgkaGFz aDEsICRoYXNoMikgPSBAXzsKPj4+ICsKPj4+ICsgICAgbXkgJHJlc3VsdCA9IHsgbWFwIHsgJF8g PT4gJGhhc2gyLT57JF99IH0ga2V5cyAlJGhhc2gxIH07Cj4gCj4gdGhpcyBpcyBhIGJpdCBkYW5n ZXJvdXMgaWYgJGhhc2gyLT57JGtleX0gaXMgaXRzZWxmIGEgcmVmZXJlbmNlPyBpZiBJCj4gbGF0 ZXIgbW9kaWZ5ICRyZXN1bHQgSSdsbCBtb2RpZnkgJGhhc2gyLi4gSSBrbm93IHRoZSBjb21taXQg bWVzc2FnZSBzYXlzCj4gdGhhdCB0aGUgaGFzaGVzIGFyZSBhbGwganVzdCBvZiB0aGUgZm9ybSBr ZXkgPT4gMSwgYnV0IG5vdGhpbmcgaGVyZQo+IHRlbGxzIG1lIHRoYXQgYSB5ZWFyIGxhdGVyIHdo ZW4gSSBhbSBsb29raW5nIGZvciBhIGdlbmVyaWMgaGFzaAo+IGludGVyc2VjdGlvbiBoZWxwZXIg OykgSSB0aGluayB0aGlzIHNob3VsZCBhbHNvIGJlIGNsZWFybHkgbWVudGlvbmVkIGluCj4gdGhl IG1vZHVsZSwgYW5kIGlkZWFsbHksIGFsc28gaW4gdGhlIGhlbHBlciBuYW1lcyAoaS5lLiwgaGF2 ZSAic2V0Igo+IHRoZXJlIGV2ZXJ5d2hlcmUgYW5kIGEgY29tbWVudCBhYm92ZSBlYWNoIHRoYXQg aXQgb25seSB3b3JrcyBmb3IKPiBoYXNoZXMtYXMtc2V0cyBhbmQgbm90IGdlbmVyaWMgaGFzaGVz KS4KPiAKPiB3b3VsZG4ndCBpdCBiZSBmYXN0ZXIvc2ltcGxlciB0byBpdGVyYXRlIG92ZXIgZWl0 aGVyIGhhc2ggb25jZT8KPiAKPiBteSAkcmVzdWx0ID0ge307Cj4gZm9yIG15ICRrZXkgKGtleXMg JSRoYXNoMSkgewo+ICAgICAgJHJlc3VsdC0+eyRrZXl9ID0gMSBpZiAkaGFzaDEtPnska2V5fSAm JiAkaGFzaDItPnska2V5fTsKPiB9Cj4gcmV0dXJuICRyZXN1bHQ7CgpJIGhhdmVuJ3QgdGhvdWdo dCB0b28gbXVjaCBhYm91dCB3aGF0IHsgbWFwIHt9IH0gd291bGQgY29zdCBoZXJlIGZvciB0aGUg ClJGQywgYnV0IHRoZSBhYm92ZSBpcyBib3RoIGVhc2llciB0byByZWFkIGFuZCBhbHNvIHNhZmVy LCBzbyBJJ2xsIGFkYXB0IAp0aGUgc3Vicm91dGluZSB0byB0aGUgYWJvdmUsIHRoYW5rcyA6KS4K Cj4gCj4gCj4+PiArCj4+PiArICAgIGZvciBteSAka2V5IChrZXlzICUkcmVzdWx0KSB7Cj4+PiAr CWRlbGV0ZSAkcmVzdWx0LT57JGtleX0gaWYgIWRlZmluZWQoJHJlc3VsdC0+eyRrZXl9KTsKPj4+ ICsgICAgfQo+Pj4gKwo+Pj4gKyAgICByZXR1cm4gJHJlc3VsdDsKPj4+ICt9Owo+Pj4gKwo+Pj4g K3N1YiBzZXRfZGlmZmVyZW5jZSB7Cj4+PiArICAgIG15ICgkaGFzaDEsICRoYXNoMikgPSBAXzsK Pj4+ICsKPj4+ICsgICAgbXkgJHJlc3VsdCA9IHsgbWFwIHsgJF8gPT4gMSB9IGtleXMgJSRoYXNo MSB9Owo+IAo+IGlmICRoYXNoMSBpcyBvbmx5IG9mIHRoZSBmb3JtIGtleSA9PiAxLCB0aGVuIHRo aXMgaXMganVzdAo+IAo+IG15ICRyZXN1bHQgPSB7ICUkaGFzaDEgfTsKCkJ1dCAkcmVzdWx0IHdv dWxkIHRoZW4gYmUgYSBjb3B5IGluc3RlYWQgb2YgYSByZWZlcmVuY2UgdG8gJSRoYXNoMSBoZXJl IApyaWdodD8gQnV0IG9ubHkgaWYgdGhlcmUncyBubyBvdGhlciByZWZlcmVuY2VzIGluIHRoZXJl PwoKPiAKPj4+ICsKPj4+ICsgICAgZm9yIG15ICRrZXkgKGtleXMgJSRyZXN1bHQpIHsKPj4+ICsJ ZGVsZXRlICRyZXN1bHQtPnska2V5fSBpZiBkZWZpbmVkKCRoYXNoMi0+eyRrZXl9KTsKPj4+ICsg ICAgfQo+Pj4gKwo+IAo+IGJ1dCB0aGUgd2hvbGUgdGhpbmcgY2FuIGJlCj4gCj4gcmV0dXJuIHsg bWFwIHsgJGhhc2gyLT57JF99ID8gKCRfID0+IDEpIDogKCkgfSBrZXlzICUkaGFzaDEgfTsKPiAK PiB0aGlzIHRyYW5zZm9ybXMgaGFzaDEgaW50byBpdHMga2V5cywgYW5kIHRoZW4gcmV0dXJucyBl aXRoZXIgKCRrZXkgPT4gMSkKPiBpZiB0aGUga2V5IGlzIHRydWUgaW4gJGhhc2gyLCBvciB0aGUg ZW1wdHkgdHVwbGUgaWYgbm90LiB0aGUgb3V0ZXIge30KPiB0aGVuIHR1cm4gdGhpcyBzZXF1ZW5j ZSBvZiB0dXBsZXMgaW50byBhIGhhc2ggYWdhaW4sIHdoaWNoIHNraXBzIGVtcHR5Cj4gdHVwbGVz IDspIGNhbiBvZiBjb3Vyc2UgYWxzbyBiZSBhZGFwdGVkIHRvIHVzZSB0aGUgdmFsdWUgZnJvbSBl aXRoZXIKPiBoYXNoLCBjaGVjayBmb3IgZGVmaW5lZG5lc3MgaW5zdGVhZCBvZiB0cnV0aGluZXNz LCAuLgoKSSdsbCBoYXZlIHRvIGNoZWNrIG91dCBtb3JlIG9mIHRoZSBwZXJsZG9jIG9mIHRoZSBt b3JlIGNvbW1vbiBmdW5jdGlvbnMsIApkaWRuJ3Qga25vdyB0aGF0IG1hcCB3aWxsIHNraXAgZW1w dHkgbGlzdHMgaGVyZSwgdGhhbmtzIDopCgo+IAo+Pj4gKyAgICByZXR1cm4gJHJlc3VsdDsKPj4+ ICt9Owo+Pj4gKwo+Pj4gK3N1YiB1bmlvbiB7Cj4+PiArICAgIG15ICgkaGFzaDEsICRoYXNoMikg PSBAXzsKPj4+ICsKPj4+ICsgICAgbXkgJHJlc3VsdCA9IHsgbWFwIHsgJF8gPT4gMSB9IGtleXMg JSRoYXNoMSwga2V5cyAlJGhhc2gyIH07Cj4+PiArCj4+PiArICAgIHJldHVybiAkcmVzdWx0Owo+ Pj4gK307Cj4+PiArCj4+PiAgIHN1YiBjb3VudF9mZW5jZWRfc2VydmljZXMgewo+Pj4gICAgICAg bXkgKCRzcywgJG5vZGUpID0gQF87Cj4+PiAgIAo+Pgo+Pgo+Pgo+PiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+PiBwdmUtZGV2ZWwgbWFpbGluZyBsaXN0 Cj4+IHB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQo+PiBodHRwczovL2xpc3RzLnByb3htb3gu Y29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wdmUtZGV2ZWwKPj4KPj4KPj4KCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHZlLWRldmVsIG1haWxp bmcgbGlzdApwdmUtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6Ly9saXN0cy5wcm94bW94 LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcHZlLWRldmVsCg==