From nobody Thu May 2 06:04:40 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1556202558; cv=none; d=zoho.com; s=zohoarc; b=IzeJx2IpEZ56FXTOhkpcQXQAH0XAbi1qYCuiMG8/WY05rju/dGdxPz22DoVYTU8Zemyal46n4JtcYGx0YaKa9AEkkWorxff/eIB+x03ZKJfGewhPkibROheCJ6k84dvuOYbnSgfGHCeAQTc7ByMcBaY27n3Rh45n7XBf1K+Djrc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1556202558; h=Content-Type:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To:ARC-Authentication-Results; bh=6nf284PFdQedEEecwocjUMjcr9HJqYbEpB6tt6Em8Mg=; b=VBl6knqQhuDlVkKFw1BtU/lQCPMTSd8v/axOwnZxt9IvLReGfIRsRfPE4/MmxPsXxnE/KjgIpFBxFsnnwRdbpfW19k5qtJ9A3lkIbn555JEtOBEKyzqAfs8xA9KyP293sH35H998nrO3zPGDtlVx1Fa4KydBUkEZyjfyUNhn5FA= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1556202558641324.5358538867448; Thu, 25 Apr 2019 07:29:18 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 40FB9308FBA6; Thu, 25 Apr 2019 14:29:17 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C8EB360C8E; Thu, 25 Apr 2019 14:29:16 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 574B0181AC92; Thu, 25 Apr 2019 14:29:16 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x3P5NK0d013527 for ; Thu, 25 Apr 2019 01:23:20 -0400 Received: by smtp.corp.redhat.com (Postfix) id 6B3341001E98; Thu, 25 Apr 2019 05:23:20 +0000 (UTC) Received: from mx1.redhat.com (ext-mx17.extmail.prod.ext.phx2.redhat.com [10.5.110.46]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 643DB1001E81 for ; Thu, 25 Apr 2019 05:23:18 +0000 (UTC) Received: from regular1.263xmail.com (regular1.263xmail.com [211.150.70.195]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6B4A4307B49C for ; Thu, 25 Apr 2019 05:23:14 +0000 (UTC) Received: from yili?winhong.com (unknown [192.168.167.41]) by regular1.263xmail.com (Postfix) with ESMTP id 0939D7E0 for ; Thu, 25 Apr 2019 13:23:11 +0800 (CST) Received: from 76cwstj2qvoi86l (unknown [14.18.236.70]) by smtp.263.net (postfix) whith ESMTP id P30592T140049902921472S1556169790514557_; Thu, 25 Apr 2019 13:23:10 +0800 (CST) X-263anti-spam: KSV:0;BIG:0; X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-KSVirus-check: 0 X-ADDR-CHECKED4: 1 X-ABS-CHECKED: 1 X-SKE-CHECKED: 1 X-ANTISPAM-LEVEL: 2 X-IP-DOMAINF: 1 X-UNIQUE-TAG: <7077f920a9ce90416467ef83f277edb9> X-RL-SENDER: yili@winhong.com X-SENDER: yili@winhong.com X-LOGIN-NAME: yili@winhong.com X-FST-TO: libvir-list@redhat.com X-SENDER-IP: 14.18.236.70 X-ATTACHMENT-NUM: 1 X-DNS-TYPE: 0 Date: Thu, 25 Apr 2019 13:22:06 +0800 From: winhong-yili To: libvir-list X-Priority: 3 X-Has-Attach: yes Mime-Version: 1.0 Message-ID: <201904251322057477586@winhong.com> Content-Type: multipart/mixed; boundary="----=_001_NextPart504610070765_=----" X-Greylist: Sender passed SPF test, ACL 242 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Thu, 25 Apr 2019 05:23:16 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Thu, 25 Apr 2019 05:23:16 +0000 (UTC) for IP:'211.150.70.195' DOMAIN:'regular1.263xmail.com' HELO:'regular1.263xmail.com' FROM:'yili@winhong.com' RCPT:'' X-RedHat-Spam-Score: 0.001 (HTML_FONT_LOW_CONTRAST, HTML_MESSAGE, SPF_PASS) 211.150.70.195 regular1.263xmail.com 211.150.70.195 regular1.263xmail.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.46 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com X-Mailman-Approved-At: Thu, 25 Apr 2019 10:29:15 -0400 Subject: [libvirt] [PATCH] storage: escape ipv6 for ceph mon hosts to librados X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Thu, 25 Apr 2019 14:29:17 +0000 (UTC) X-Zoho-Virus-Status: 1 This is a multi-part message in MIME format. ------=_001_NextPart504610070765_=---- Content-Type: multipart/alternative; boundary="----=_002_NextPart167735257620_=----" ------=_002_NextPart167735257620_=---- Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: base64 SG9zdHMgZm9yIHJiZCBhcmUgY2VwaCBtb25pdG9yIGRhZW1vbnMuIFRoZXNlIGhhdmUgZml4ZWQg SVAgYWRkcmVzc2VzLCANCnNvIHRoZXkgYXJlIG9mdGVuIHJlZmVyZW5jZWQgYnkgSVAgcmF0aGVy IHRoYW4gaG9zdG5hbWUgZm9yIA0KY29udmVuaWVuY2UsIG9yIHRvIGF2b2lkIHJlbHlpbmcgb24g RE5TLiBVc2luZyBJUHY0IGFkZHJlc3NlcyBhcyB0aGUgDQpob3N0IG5hbWUgd29ya3MgYWxyZWFk eSwgYnV0IElQdjYgYWRkcmVzc2VzIHJlcXVpcmUgcmJkLXNwZWNpZmljIA0KZXNjYXBpbmcgYmVj YXVzZSB0aGUgY29sb24gaXMgdXNlZCBhcyBhbiBvcHRpb24gc2VwYXJhdG9yIGluIHRoZSANCnN0 cmluZyBwYXNzZWQgdG8gbGlicmFkb3MuIA0KDQpFc2NhcGUgdGhlc2UgY29sb25zLCBhbmQgZW5j bG9zZSB0aGUgSVB2NiBhZGRyZXNzIGluIHNxdWFyZSBicmFja2V0cyANCnNvIGl0IGlzIGRpc3Rp bmd1aXNoZWQgZnJvbSB0aGUgcG9ydCwgd2hpY2ggaXMgY3VycmVudGx5IG1hbmRhdG9yeS4gDQoN ClNpZ25lZC1vZmYtYnk6IFlpIExpIDx5aWxpQHdpbmhvbmcuY29tPiANCi0tLSANCmRvY3Mvc2No ZW1hcy9zdG9yYWdlcG9vbC5ybmcgfCA1ICsrKystIA0Kc3JjL3N0b3JhZ2Uvc3RvcmFnZV9iYWNr ZW5kX3JiZC5jIHwgMTMgKysrKysrKysrKy0tLSANCnRlc3RzL3N0b3JhZ2Vwb29seG1sMnhtbGlu L3Bvb2wtcmJkLWlwdjYueG1sIHwgMTMgKysrKysrKysrKysrKyANCnRlc3RzL3N0b3JhZ2Vwb29s eG1sMnhtbG91dC9wb29sLXJiZC1pcHY2LnhtbCB8IDE2ICsrKysrKysrKysrKysrKysgDQp0ZXN0 cy9zdG9yYWdlcG9vbHhtbDJ4bWx0ZXN0LmMgfCAxICsgDQo1IGZpbGVzIGNoYW5nZWQsIDQ0IGlu c2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pIA0KY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL3N0 b3JhZ2Vwb29seG1sMnhtbGluL3Bvb2wtcmJkLWlwdjYueG1sIA0KY3JlYXRlIG1vZGUgMTAwNjQ0 IHRlc3RzL3N0b3JhZ2Vwb29seG1sMnhtbG91dC9wb29sLXJiZC1pcHY2LnhtbCANCg0KZGlmZiAt LWdpdCBhL2RvY3Mvc2NoZW1hcy9zdG9yYWdlcG9vbC5ybmcgYi9kb2NzL3NjaGVtYXMvc3RvcmFn ZXBvb2wucm5nIA0KaW5kZXggM2NhOGU3OS4uOTc2YTAyYiAxMDA2NDQgDQotLS0gYS9kb2NzL3Nj aGVtYXMvc3RvcmFnZXBvb2wucm5nIA0KKysrIGIvZG9jcy9zY2hlbWFzL3N0b3JhZ2Vwb29sLnJu ZyANCkBAIC0zMDUsNyArMzA1LDEwIEBAIA0KPG9uZU9yTW9yZT4gDQo8ZWxlbWVudCBuYW1lPSdo b3N0Jz4gDQo8YXR0cmlidXRlIG5hbWU9J25hbWUnPiANCi0gPHRleHQvPiANCisgPGNob2ljZT4g DQorIDxyZWYgbmFtZT0iZG5zTmFtZSIvPiANCisgPHJlZiBuYW1lPSJpcEFkZHIiLz4gDQorIDwv Y2hvaWNlPiANCjwvYXR0cmlidXRlPiANCjxvcHRpb25hbD4gDQo8YXR0cmlidXRlIG5hbWU9J3Bv cnQnPiANCmRpZmYgLS1naXQgYS9zcmMvc3RvcmFnZS9zdG9yYWdlX2JhY2tlbmRfcmJkLmMgYi9z cmMvc3RvcmFnZS9zdG9yYWdlX2JhY2tlbmRfcmJkLmMgDQppbmRleCBmOGM5NjhlLi4zMDU2NTYz IDEwMDY0NCANCi0tLSBhL3NyYy9zdG9yYWdlL3N0b3JhZ2VfYmFja2VuZF9yYmQuYyANCisrKyBi L3NyYy9zdG9yYWdlL3N0b3JhZ2VfYmFja2VuZF9yYmQuYyANCkBAIC0yNjgsOSArMjY4LDE2IEBA IHZpclN0b3JhZ2VCYWNrZW5kUkJET3BlblJBRE9TQ29ubih2aXJTdG9yYWdlQmFja2VuZFJCRFN0 YXRlUHRyIHB0ciwgDQpzb3VyY2UtPmhvc3RzW2ldLm5hbWUpOyANCn0gZWxzZSBpZiAoc291cmNl LT5ob3N0c1tpXS5uYW1lICE9IE5VTEwgJiYgDQpzb3VyY2UtPmhvc3RzW2ldLnBvcnQpIHsgDQot IHZpckJ1ZmZlckFzcHJpbnRmKCZtb25faG9zdCwgIiVzOiVkLCIsIA0KLSBzb3VyY2UtPmhvc3Rz W2ldLm5hbWUsIA0KLSBzb3VyY2UtPmhvc3RzW2ldLnBvcnQpOyANCisgLyogYXNzdW1lIGhvc3Qg Y29udGFpbmluZyA6IGlzIGlwdjYgKi8gDQorIGlmIChzdHJjaHIoc291cmNlLT5ob3N0c1tpXS5u YW1lLCAnOicpKSB7IA0KKyB2aXJCdWZmZXJBc3ByaW50ZigmbW9uX2hvc3QsICJbJXNdOiVkLCIs IA0KKyBzb3VyY2UtPmhvc3RzW2ldLm5hbWUsIA0KKyBzb3VyY2UtPmhvc3RzW2ldLnBvcnQpOyAN CisgfSBlbHNlIHsgDQorIHZpckJ1ZmZlckFzcHJpbnRmKCZtb25faG9zdCwgIiVzOiVkLCIsIA0K KyBzb3VyY2UtPmhvc3RzW2ldLm5hbWUsIA0KKyBzb3VyY2UtPmhvc3RzW2ldLnBvcnQpOyANCisg fSANCn0gZWxzZSB7IA0KdmlyUmVwb3J0RXJyb3IoVklSX0VSUl9JTlRFUk5BTF9FUlJPUiwgIiVz IiwgDQpfKCJyZWNlaXZlZCBtYWxmb3JtZWQgbW9uaXRvciwgY2hlY2sgdGhlIFhNTCBkZWZpbml0 aW9uIikpOyANCmRpZmYgLS1naXQgYS90ZXN0cy9zdG9yYWdlcG9vbHhtbDJ4bWxpbi9wb29sLXJi ZC1pcHY2LnhtbCBiL3Rlc3RzL3N0b3JhZ2Vwb29seG1sMnhtbGluL3Bvb2wtcmJkLWlwdjYueG1s IA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQgDQppbmRleCAwMDAwMDAwLi4wNzQ0YjMzIA0KLS0tIC9k ZXYvbnVsbCANCisrKyBiL3Rlc3RzL3N0b3JhZ2Vwb29seG1sMnhtbGluL3Bvb2wtcmJkLWlwdjYu eG1sIA0KQEAgLTAsMCArMSwxMyBAQCANCis8cG9vbCB0eXBlPSdyYmQnPiANCisgPG5hbWU+Y2Vw aDwvbmFtZT4gDQorIDx1dWlkPjQ3YzFmYWVlLTAyMDctZTc0MS1mNWFlLWQ5YjAxOWI5OGZlMjwv dXVpZD4gDQorIDxzb3VyY2U+IA0KKyA8bmFtZT5yYmQ8L25hbWU+IA0KKyA8aG9zdCBuYW1lPSds b2NhbGhvc3QnIHBvcnQ9JzY3ODknLz4gDQorIDxob3N0IG5hbWU9J2xvY2FsaG9zdCcgcG9ydD0n Njc5MCcvPiANCisgPGhvc3QgbmFtZT0nMjIwNTo6MTkyOjE2ODoyMDU6MTQxJyBwb3J0PSc2Nzg5 Jy8+IA0KKyA8YXV0aCB1c2VybmFtZT0nYWRtaW4nIHR5cGU9J2NlcGgnPiANCisgPHNlY3JldCB1 dWlkPScyZWMxMTVkNy0zYTg4LTNjZWItYmMxMi0wYWM5MDlhNmZkODcnLz4gDQorIDwvYXV0aD4g DQorIDwvc291cmNlPiANCis8L3Bvb2w+IA0KZGlmZiAtLWdpdCBhL3Rlc3RzL3N0b3JhZ2Vwb29s eG1sMnhtbG91dC9wb29sLXJiZC1pcHY2LnhtbCBiL3Rlc3RzL3N0b3JhZ2Vwb29seG1sMnhtbG91 dC9wb29sLXJiZC1pcHY2LnhtbCANCm5ldyBmaWxlIG1vZGUgMTAwNjQ0IA0KaW5kZXggMDAwMDAw MC4uY2MyYTM3OSANCi0tLSAvZGV2L251bGwgDQorKysgYi90ZXN0cy9zdG9yYWdlcG9vbHhtbDJ4 bWxvdXQvcG9vbC1yYmQtaXB2Ni54bWwgDQpAQCAtMCwwICsxLDE2IEBAIA0KKzxwb29sIHR5cGU9 J3JiZCc+IA0KKyA8bmFtZT5jZXBoPC9uYW1lPiANCisgPHV1aWQ+NDdjMWZhZWUtMDIwNy1lNzQx LWY1YWUtZDliMDE5Yjk4ZmUyPC91dWlkPiANCisgPGNhcGFjaXR5IHVuaXQ9J2J5dGVzJz4wPC9j YXBhY2l0eT4gDQorIDxhbGxvY2F0aW9uIHVuaXQ9J2J5dGVzJz4wPC9hbGxvY2F0aW9uPiANCisg PGF2YWlsYWJsZSB1bml0PSdieXRlcyc+MDwvYXZhaWxhYmxlPiANCisgPHNvdXJjZT4gDQorIDxo b3N0IG5hbWU9J2xvY2FsaG9zdCcgcG9ydD0nNjc4OScvPiANCisgPGhvc3QgbmFtZT0nbG9jYWxo b3N0JyBwb3J0PSc2NzkwJy8+IA0KKyA8aG9zdCBuYW1lPScyMjA1OjoxOTI6MTY4OjIwNToxNDEn IHBvcnQ9JzY3ODknLz4gDQorIDxuYW1lPnJiZDwvbmFtZT4gDQorIDxhdXRoIHR5cGU9J2NlcGgn IHVzZXJuYW1lPSdhZG1pbic+IA0KKyA8c2VjcmV0IHV1aWQ9JzJlYzExNWQ3LTNhODgtM2NlYi1i YzEyLTBhYzkwOWE2ZmQ4NycvPiANCisgPC9hdXRoPiANCisgPC9zb3VyY2U+IA0KKzwvcG9vbD4g DQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3RvcmFnZXBvb2x4bWwyeG1sdGVzdC5jIGIvdGVzdHMvc3Rv cmFnZXBvb2x4bWwyeG1sdGVzdC5jIA0KaW5kZXggMmFlNTE0Zi4uYjZmNGNiNCAxMDA2NDQgDQot LS0gYS90ZXN0cy9zdG9yYWdlcG9vbHhtbDJ4bWx0ZXN0LmMgDQorKysgYi90ZXN0cy9zdG9yYWdl cG9vbHhtbDJ4bWx0ZXN0LmMgDQpAQCAtOTUsNiArOTUsNyBAQCBteW1haW4odm9pZCkgDQpET19U RVNUKCJwb29sLXpmcy1zb3VyY2VkZXYiKTsgDQpET19URVNUKCJwb29sLXJiZCIpOyANCiNpZmRl ZiBXSVRIX1NUT1JBR0VfUkJEIA0KKyBET19URVNUKCJwb29sLXJiZC1pcHY2Iik7IA0KRE9fVEVT VCgicG9vbC1yYmQtcmVmcmVzaC12b2x1bWUtYWxsb2NhdGlvbiIpOyANCkRPX1RFU1QoInBvb2wt cmJkLW5zLWNvbmZpZ29wdHMiKTsgDQojZW5kaWYgDQotLSANCjIuNy41IA0KDQoNCg0KIA0K ------=_002_NextPart167735257620_=---- Content-Type: text/html; charset="GB2312" Content-Transfer-Encoding: quoted-printable =0A
= Hosts for= rbd are ceph monitor daemons. These have fixed IP addresses,=0A
so the= y are often referenced by IP rather than hostname for=0A
convenience, o= r to avoid relying on DNS. Using IPv4 addresses as the=0A
host name wor= ks already, but IPv6 addresses require rbd-specific=0A
escaping because= the colon is used as an option separator in the=0A
string passed to li= brados.=0A
=0A
Escape these colons, and enclose the IPv6 address in = square brackets=0A
so it is distinguished from the port, which is curre= ntly mandatory.=0A
=0A
Signed-off-by: Yi Li <yili@winhong.com>= =0A
---=0A
docs/schemas/storagepool.rng | 5 ++++-= =0A
src/storage/storage_backend_rbd.c | 13 ++++++++++---= =0A
tests/storagepoolxml2xmlin/pool-rbd-ipv6.xml | 13 +++++++++++++= =0A
tests/storagepoolxml2xmlout/pool-rbd-ipv6.xml | 16 +++++++++++++++= +=0A
tests/storagepoolxml2xmltest.c | 1 +=0A
5 fil= es changed, 44 insertions(+), 4 deletions(-)=0A
create mode 100644 tes= ts/storagepoolxml2xmlin/pool-rbd-ipv6.xml=0A
create mode 100644 tests/= storagepoolxml2xmlout/pool-rbd-ipv6.xml=0A
=0A
diff --git a/docs/sch= emas/storagepool.rng b/docs/schemas/storagepool.rng=0A
index 3ca8e79..9= 76a02b 100644=0A
--- a/docs/schemas/storagepool.rng=0A
+++ b/docs/sc= hemas/storagepool.rng=0A
@@ -305,7 +305,10 @@=0A
<oneOrMore&= gt;=0A
<element name=3D'host'>=0A
<attribut= e name=3D'name'>=0A
- <text/>=0A
+ <ch= oice>=0A
+ <ref name=3D"dnsName"/>=0A
+ = <ref name=3D"ipAddr"/>=0A
+ </choice>=0A
= </attribute>=0A
<optional>=0A
= <attribute name=3D'port'>=0A
diff --git a/src/storage/storage_bac= kend_rbd.c b/src/storage/storage_backend_rbd.c=0A
index f8c968e..305656= 3 100644=0A
--- a/src/storage/storage_backend_rbd.c=0A
+++ b/src/sto= rage/storage_backend_rbd.c=0A
@@ -268,9 +268,16 @@ virStorageBackendRBD= OpenRADOSConn(virStorageBackendRBDStatePtr ptr,=0A
= source->hosts[i].name);=0A
} else if (source->= ;hosts[i].name !=3D NULL &&=0A
source->hosts[i]= .port) {=0A
- virBufferAsprintf(&mon_host, "%s:%d,",=0A<= br>- source->hosts[i].name,=0A
- = source->hosts[i].port);=0A
+ /* as= sume host containing : is ipv6 */=0A
+ if (strchr(source->= ;hosts[i].name, ':')) {=0A
+ virBufferAsprintf(&mon_= host, "[%s]:%d,",=0A
+ source->host= s[i].name,=0A
+ source->hosts[i].po= rt);=0A
+ } else {=0A
+ virBufferAsprintf(= &mon_host, "%s:%d,",=0A
+ source-&= gt;hosts[i].name,=0A
+ source->host= s[i].port);=0A
+ }=0A
} else {=0A
= virReportError(VIR_ERR_INTERNAL_ERROR, "%s",=0A
= _("received malformed monitor, check the XML definition"));=0A
d= iff --git a/tests/storagepoolxml2xmlin/pool-rbd-ipv6.xml b/tests/storagepo= olxml2xmlin/pool-rbd-ipv6.xml=0A
new file mode 100644=0A
index 00000= 00..0744b33=0A
--- /dev/null=0A
+++ b/tests/storagepoolxml2xmlin/poo= l-rbd-ipv6.xml=0A
@@ -0,0 +1,13 @@=0A
+<pool type=3D'rbd'>=0A<= br>+ <name>ceph</name>=0A
+ <uuid>47c1faee-0207-e74= 1-f5ae-d9b019b98fe2</uuid>=0A
+ <source>=0A
+ <na= me>rbd</name>=0A
+ <host name=3D'localhost' port=3D'6789= '/>=0A
+ <host name=3D'localhost' port=3D'6790'/>=0A
+ = <host name=3D'2205::192:168:205:141' port=3D'6789'/>=0A
+ &l= t;auth username=3D'admin' type=3D'ceph'>=0A
+ <secret uuid= =3D'2ec115d7-3a88-3ceb-bc12-0ac909a6fd87'/>=0A
+ </auth>=0A=
+ </source>=0A
+</pool>=0A
diff --git a/tests/stora= gepoolxml2xmlout/pool-rbd-ipv6.xml b/tests/storagepoolxml2xmlout/pool-rbd-= ipv6.xml=0A
new file mode 100644=0A
index 0000000..cc2a379=0A
---= /dev/null=0A
+++ b/tests/storagepoolxml2xmlout/pool-rbd-ipv6.xml=0A@@ -0,0 +1,16 @@=0A
+<pool type=3D'rbd'>=0A
+ <name>ce= ph</name>=0A
+ <uuid>47c1faee-0207-e741-f5ae-d9b019b98fe2&= lt;/uuid>=0A
+ <capacity unit=3D'bytes'>0</capacity>=0A=
+ <allocation unit=3D'bytes'>0</allocation>=0A
+ <= available unit=3D'bytes'>0</available>=0A
+ <source>=0A=
+ <host name=3D'localhost' port=3D'6789'/>=0A
+ <hos= t name=3D'localhost' port=3D'6790'/>=0A
+ <host name=3D'2205::= 192:168:205:141' port=3D'6789'/>=0A
+ <name>rbd</name>= ;=0A
+ <auth type=3D'ceph' username=3D'admin'>=0A
+ &l= t;secret uuid=3D'2ec115d7-3a88-3ceb-bc12-0ac909a6fd87'/>=0A
+ <= ;/auth>=0A
+ </source>=0A
+</pool>=0A
diff --git = a/tests/storagepoolxml2xmltest.c b/tests/storagepoolxml2xmltest.c=0A
in= dex 2ae514f..b6f4cb4 100644=0A
--- a/tests/storagepoolxml2xmltest.c=0A<= br>+++ b/tests/storagepoolxml2xmltest.c=0A
@@ -95,6 +95,7 @@ mymain(voi= d)=0A
DO_TEST("pool-zfs-sourcedev");=0A
DO_TEST("pool-rbd"= );=0A
#ifdef WITH_STORAGE_RBD=0A
+ DO_TEST("pool-rbd-ipv6");=0A<= br> DO_TEST("pool-rbd-refresh-volume-allocation");=0A
DO_TEST(= "pool-rbd-ns-configopts");=0A
#endif=0A
-- =0A
2.7.5=0A
=0A
=0A


 

=0A
=0A
=0A ------=_002_NextPart167735257620_=------ ------=_001_NextPart504610070765_=---- Content-Type: application/octet-stream; name="0001-storage-escape-ipv6-for-ceph-mon-hosts-to-librados.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-storage-escape-ipv6-for-ceph-mon-hosts-to-librados.patch" RnJvbSA5MTI3NGRhN2NlMTg0MDU1ZjBjNWM1NTgxZTU4NjJjZmI1NzhmZTZiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBZaSBMaSA8eWlsaUB3aW5ob25nLmNvbT4KRGF0ZTogVGh1LCAy NSBBcHIgMjAxOSAxMzowNjoyOCArMDgwMApTdWJqZWN0OiBbUEFUQ0hdIHN0b3JhZ2U6IGVzY2Fw ZSBpcHY2IGZvciBjZXBoIG1vbiBob3N0cyB0byBsaWJyYWRvcwoKSG9zdHMgZm9yIHJiZCBhcmUg Y2VwaCBtb25pdG9yIGRhZW1vbnMuIFRoZXNlIGhhdmUgZml4ZWQgSVAgYWRkcmVzc2VzLApzbyB0 aGV5IGFyZSBvZnRlbiByZWZlcmVuY2VkIGJ5IElQIHJhdGhlciB0aGFuIGhvc3RuYW1lIGZvcgpj b252ZW5pZW5jZSwgb3IgdG8gYXZvaWQgcmVseWluZyBvbiBETlMuIFVzaW5nIElQdjQgYWRkcmVz c2VzIGFzIHRoZQpob3N0IG5hbWUgd29ya3MgYWxyZWFkeSwgYnV0IElQdjYgYWRkcmVzc2VzIHJl cXVpcmUgcmJkLXNwZWNpZmljCmVzY2FwaW5nIGJlY2F1c2UgdGhlIGNvbG9uIGlzIHVzZWQgYXMg YW4gb3B0aW9uIHNlcGFyYXRvciBpbiB0aGUKc3RyaW5nIHBhc3NlZCB0byBsaWJyYWRvcy4KCkVz Y2FwZSB0aGVzZSBjb2xvbnMsIGFuZCBlbmNsb3NlIHRoZSBJUHY2IGFkZHJlc3MgaW4gc3F1YXJl IGJyYWNrZXRzCnNvIGl0IGlzIGRpc3Rpbmd1aXNoZWQgZnJvbSB0aGUgcG9ydCwgd2hpY2ggaXMg Y3VycmVudGx5IG1hbmRhdG9yeS4KClNpZ25lZC1vZmYtYnk6IFlpIExpIDx5aWxpQHdpbmhvbmcu Y29tPgotLS0KIGRvY3Mvc2NoZW1hcy9zdG9yYWdlcG9vbC5ybmcgICAgICAgICAgICAgICAgICB8 ICA1ICsrKystCiBzcmMvc3RvcmFnZS9zdG9yYWdlX2JhY2tlbmRfcmJkLmMgICAgICAgICAgICAg fCAxMyArKysrKysrKysrLS0tCiB0ZXN0cy9zdG9yYWdlcG9vbHhtbDJ4bWxpbi9wb29sLXJiZC1p cHY2LnhtbCAgfCAxMyArKysrKysrKysrKysrCiB0ZXN0cy9zdG9yYWdlcG9vbHhtbDJ4bWxvdXQv cG9vbC1yYmQtaXB2Ni54bWwgfCAxNiArKysrKysrKysrKysrKysrCiB0ZXN0cy9zdG9yYWdlcG9v bHhtbDJ4bWx0ZXN0LmMgICAgICAgICAgICAgICAgfCAgMSArCiA1IGZpbGVzIGNoYW5nZWQsIDQ0 IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMv c3RvcmFnZXBvb2x4bWwyeG1saW4vcG9vbC1yYmQtaXB2Ni54bWwKIGNyZWF0ZSBtb2RlIDEwMDY0 NCB0ZXN0cy9zdG9yYWdlcG9vbHhtbDJ4bWxvdXQvcG9vbC1yYmQtaXB2Ni54bWwKCmRpZmYgLS1n aXQgYS9kb2NzL3NjaGVtYXMvc3RvcmFnZXBvb2wucm5nIGIvZG9jcy9zY2hlbWFzL3N0b3JhZ2Vw b29sLnJuZwppbmRleCAzY2E4ZTc5Li45NzZhMDJiIDEwMDY0NAotLS0gYS9kb2NzL3NjaGVtYXMv c3RvcmFnZXBvb2wucm5nCisrKyBiL2RvY3Mvc2NoZW1hcy9zdG9yYWdlcG9vbC5ybmcKQEAgLTMw NSw3ICszMDUsMTAgQEAKICAgICA8b25lT3JNb3JlPgogICAgICAgPGVsZW1lbnQgbmFtZT0naG9z dCc+CiAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0nbmFtZSc+Ci0gICAgICAgICAgPHRleHQvPgor ICAgICAgICAgIDxjaG9pY2U+CisgICAgICAgICAgICA8cmVmIG5hbWU9ImRuc05hbWUiLz4KKyAg ICAgICAgICAgIDxyZWYgbmFtZT0iaXBBZGRyIi8+CisgICAgICAgICAgPC9jaG9pY2U+CiAgICAg ICAgIDwvYXR0cmlidXRlPgogICAgICAgICA8b3B0aW9uYWw+CiAgICAgICAgICAgPGF0dHJpYnV0 ZSBuYW1lPSdwb3J0Jz4KZGlmZiAtLWdpdCBhL3NyYy9zdG9yYWdlL3N0b3JhZ2VfYmFja2VuZF9y YmQuYyBiL3NyYy9zdG9yYWdlL3N0b3JhZ2VfYmFja2VuZF9yYmQuYwppbmRleCBmOGM5NjhlLi4z MDU2NTYzIDEwMDY0NAotLS0gYS9zcmMvc3RvcmFnZS9zdG9yYWdlX2JhY2tlbmRfcmJkLmMKKysr IGIvc3JjL3N0b3JhZ2Uvc3RvcmFnZV9iYWNrZW5kX3JiZC5jCkBAIC0yNjgsOSArMjY4LDE2IEBA IHZpclN0b3JhZ2VCYWNrZW5kUkJET3BlblJBRE9TQ29ubih2aXJTdG9yYWdlQmFja2VuZFJCRFN0 YXRlUHRyIHB0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZS0+aG9zdHNb aV0ubmFtZSk7CiAgICAgICAgIH0gZWxzZSBpZiAoc291cmNlLT5ob3N0c1tpXS5uYW1lICE9IE5V TEwgJiYKICAgICAgICAgICAgIHNvdXJjZS0+aG9zdHNbaV0ucG9ydCkgewotICAgICAgICAgICAg dmlyQnVmZmVyQXNwcmludGYoJm1vbl9ob3N0LCAiJXM6JWQsIiwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNvdXJjZS0+aG9zdHNbaV0ubmFtZSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNvdXJjZS0+aG9zdHNbaV0ucG9ydCk7CisgICAgICAgICAgICAvKiBhc3N1bWUg aG9zdCBjb250YWluaW5nIDogaXMgaXB2NiAqLworICAgICAgICAgICAgaWYgKHN0cmNocihzb3Vy Y2UtPmhvc3RzW2ldLm5hbWUsICc6JykpIHsKKyAgICAgICAgICAgICAgICB2aXJCdWZmZXJBc3By aW50ZigmbW9uX2hvc3QsICJbJXNdOiVkLCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc291cmNlLT5ob3N0c1tpXS5uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNvdXJjZS0+aG9zdHNbaV0ucG9ydCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAg ICAgICAgICAgICAgIHZpckJ1ZmZlckFzcHJpbnRmKCZtb25faG9zdCwgIiVzOiVkLCIsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlLT5ob3N0c1tpXS5uYW1lLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZS0+aG9zdHNbaV0ucG9ydCk7Cisg ICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICB2aXJSZXBvcnRFcnJv cihWSVJfRVJSX0lOVEVSTkFMX0VSUk9SLCAiJXMiLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgXygicmVjZWl2ZWQgbWFsZm9ybWVkIG1vbml0b3IsIGNoZWNrIHRoZSBYTUwgZGVmaW5pdGlv biIpKTsKZGlmZiAtLWdpdCBhL3Rlc3RzL3N0b3JhZ2Vwb29seG1sMnhtbGluL3Bvb2wtcmJkLWlw djYueG1sIGIvdGVzdHMvc3RvcmFnZXBvb2x4bWwyeG1saW4vcG9vbC1yYmQtaXB2Ni54bWwKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDc0NGIzMwotLS0gL2Rldi9udWxsCisr KyBiL3Rlc3RzL3N0b3JhZ2Vwb29seG1sMnhtbGluL3Bvb2wtcmJkLWlwdjYueG1sCkBAIC0wLDAg KzEsMTMgQEAKKzxwb29sIHR5cGU9J3JiZCc+CisgIDxuYW1lPmNlcGg8L25hbWU+CisgIDx1dWlk PjQ3YzFmYWVlLTAyMDctZTc0MS1mNWFlLWQ5YjAxOWI5OGZlMjwvdXVpZD4KKyAgPHNvdXJjZT4K KyAgICA8bmFtZT5yYmQ8L25hbWU+CisgICAgPGhvc3QgbmFtZT0nbG9jYWxob3N0JyBwb3J0PSc2 Nzg5Jy8+CisgICAgPGhvc3QgbmFtZT0nbG9jYWxob3N0JyBwb3J0PSc2NzkwJy8+CisgICAgPGhv c3QgbmFtZT0nMjIwNTo6MTkyOjE2ODoyMDU6MTQxJyBwb3J0PSc2Nzg5Jy8+CisgICAgPGF1dGgg dXNlcm5hbWU9J2FkbWluJyB0eXBlPSdjZXBoJz4KKyAgICAgIDxzZWNyZXQgdXVpZD0nMmVjMTE1 ZDctM2E4OC0zY2ViLWJjMTItMGFjOTA5YTZmZDg3Jy8+CisgICAgPC9hdXRoPgorICA8L3NvdXJj ZT4KKzwvcG9vbD4KZGlmZiAtLWdpdCBhL3Rlc3RzL3N0b3JhZ2Vwb29seG1sMnhtbG91dC9wb29s LXJiZC1pcHY2LnhtbCBiL3Rlc3RzL3N0b3JhZ2Vwb29seG1sMnhtbG91dC9wb29sLXJiZC1pcHY2 LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYzJhMzc5Ci0tLSAvZGV2 L251bGwKKysrIGIvdGVzdHMvc3RvcmFnZXBvb2x4bWwyeG1sb3V0L3Bvb2wtcmJkLWlwdjYueG1s CkBAIC0wLDAgKzEsMTYgQEAKKzxwb29sIHR5cGU9J3JiZCc+CisgIDxuYW1lPmNlcGg8L25hbWU+ CisgIDx1dWlkPjQ3YzFmYWVlLTAyMDctZTc0MS1mNWFlLWQ5YjAxOWI5OGZlMjwvdXVpZD4KKyAg PGNhcGFjaXR5IHVuaXQ9J2J5dGVzJz4wPC9jYXBhY2l0eT4KKyAgPGFsbG9jYXRpb24gdW5pdD0n Ynl0ZXMnPjA8L2FsbG9jYXRpb24+CisgIDxhdmFpbGFibGUgdW5pdD0nYnl0ZXMnPjA8L2F2YWls YWJsZT4KKyAgPHNvdXJjZT4KKyAgICA8aG9zdCBuYW1lPSdsb2NhbGhvc3QnIHBvcnQ9JzY3ODkn Lz4KKyAgICA8aG9zdCBuYW1lPSdsb2NhbGhvc3QnIHBvcnQ9JzY3OTAnLz4KKyAgICA8aG9zdCBu YW1lPScyMjA1OjoxOTI6MTY4OjIwNToxNDEnIHBvcnQ9JzY3ODknLz4KKyAgICA8bmFtZT5yYmQ8 L25hbWU+CisgICAgPGF1dGggdHlwZT0nY2VwaCcgdXNlcm5hbWU9J2FkbWluJz4KKyAgICAgIDxz ZWNyZXQgdXVpZD0nMmVjMTE1ZDctM2E4OC0zY2ViLWJjMTItMGFjOTA5YTZmZDg3Jy8+CisgICAg PC9hdXRoPgorICA8L3NvdXJjZT4KKzwvcG9vbD4KZGlmZiAtLWdpdCBhL3Rlc3RzL3N0b3JhZ2Vw b29seG1sMnhtbHRlc3QuYyBiL3Rlc3RzL3N0b3JhZ2Vwb29seG1sMnhtbHRlc3QuYwppbmRleCAy YWU1MTRmLi5iNmY0Y2I0IDEwMDY0NAotLS0gYS90ZXN0cy9zdG9yYWdlcG9vbHhtbDJ4bWx0ZXN0 LmMKKysrIGIvdGVzdHMvc3RvcmFnZXBvb2x4bWwyeG1sdGVzdC5jCkBAIC05NSw2ICs5NSw3IEBA IG15bWFpbih2b2lkKQogICAgIERPX1RFU1QoInBvb2wtemZzLXNvdXJjZWRldiIpOwogICAgIERP X1RFU1QoInBvb2wtcmJkIik7CiAjaWZkZWYgV0lUSF9TVE9SQUdFX1JCRAorICAgIERPX1RFU1Qo InBvb2wtcmJkLWlwdjYiKTsKICAgICBET19URVNUKCJwb29sLXJiZC1yZWZyZXNoLXZvbHVtZS1h bGxvY2F0aW9uIik7CiAgICAgRE9fVEVTVCgicG9vbC1yYmQtbnMtY29uZmlnb3B0cyIpOwogI2Vu ZGlmCi0tIAoyLjcuNQoK ------=_001_NextPart504610070765_=---- Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list ------=_001_NextPart504610070765_=------