Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1gDGMA-0006it-35 for pgsql-hackers@arkaria.postgresql.org; Thu, 18 Oct 2018 22:01:26 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1gDGK2-0007Rh-ID for pgsql-hackers@arkaria.postgresql.org; Thu, 18 Oct 2018 21:59:14 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1gDGK1-0007RZ-C8 for pgsql-hackers@lists.postgresql.org; Thu, 18 Oct 2018 21:59:14 +0000 Received: from out3-smtp.messagingengine.com ([66.111.4.27]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1gDGJu-0003Fr-1T for pgsql-hackers@postgresql.org; Thu, 18 Oct 2018 21:59:12 +0000 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id B909D229EF; Thu, 18 Oct 2018 17:59:03 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute7.internal (MEProxy); Thu, 18 Oct 2018 17:59:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=CzgS/8 oSG/t8QJk/16yOcSzhsxk2o0FEIJY6EQri6Gk=; b=Bg6BQTtxTozcz+KOf265zd gw69PwDlREUxxMhiWoDgUzFPrLq3ODrEgjvLrYwVoIS5q6fceQBzkKYTdmbNr/6t EF16oL23GvybQoEvQt9ZD7m7P38BnXxq5dsgadUwxy+tO0yWwGfcxwyCd3cvHsVT Wl1l23alNfQVSST74vmAUj/0+cVqL+MCFKkDyOFybJOX9i1xa15P4735LFnsFnPA GEYqzv7GvK+8MeWu7si/g4iUMTL5NboJEYPEbjF5EkPASQx90unEo+ybIsq4GYxK L7F0zNxtGnuuJwvljCsKOyUGG0ovaVyMUeEc7wOAOdLGqVzWcRnLXn2kh3RvSGKQ == X-ME-Sender: X-ME-Proxy: Received: from april.pezone.net (p5df39409.dip0.t-ipconnect.de [93.243.148.9]) by mail.messagingengine.com (Postfix) with ESMTPA id 620F3102A0; Thu, 18 Oct 2018 17:59:01 -0400 (EDT) Subject: Re: file cloning in pg_upgrade and CREATE DATABASE From: Peter Eisentraut To: Michael Paquier , pgsql-hackers References: <20181003014409.GC2609@paquier.xyz> <20181003020706.hykmk4vmy6brovoj@alvherre.pgsql> <20181010195002.GA7806@momjian.us> <325b5baf-adcc-9954-2a55-d67b4f3155f0@2ndquadrant.com> Cc: Bruce Momjian , Alvaro Herrera Openpgp: preference=signencrypt Autocrypt: addr=peter.eisentraut@2ndquadrant.com; prefer-encrypt=mutual; keydata= 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 3jI= Organization: 2ndQuadrant Message-ID: Date: Thu, 18 Oct 2018 23:59:00 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <325b5baf-adcc-9954-2a55-d67b4f3155f0@2ndquadrant.com> Content-Type: multipart/mixed; boundary="------------7227314874FB6362052C0974" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------7227314874FB6362052C0974 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit On 11/10/2018 16:50, Peter Eisentraut wrote: > On 10/10/2018 21:50, Bruce Momjian wrote: >>> I see. Peter is proposing to have a fourth mode, essentially >>> --transfer-mode=clone-or-copy. >> >> Uh, if you use --link, and the two data directories are on different >> file systems, it fails. No one has ever asked for link-or-copy, so why >> are we considering clone-or-copy? Are we going to need >> link-or-clone-or-copy too? I do realize that clone and copy have >> non-destructive behavior on the old cluster once started, so it does >> make some sense to merge them, unlike link. > > I'm OK to get rid of the clone-or-copy mode. I can see the confusion. New patch that removes all the various reflink modes and adds a new option --clone that works similar to --link. I think it's much cleaner now. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --------------7227314874FB6362052C0974 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="v6-0001-pg_upgrade-Allow-use-of-file-cloning.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="v6-0001-pg_upgrade-Allow-use-of-file-cloning.patch" RnJvbSA4YjcyODVlNjFlNDI1ZmFkNGQwN2EwMTFlZmUyY2NkN2ZkMjgwZDU0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlcl9lQGdteC5u ZXQ+CkRhdGU6IFRodSwgMTggT2N0IDIwMTggMjM6MDk6NTkgKzAyMDAKU3ViamVjdDogW1BB VENIIHY2XSBwZ191cGdyYWRlOiBBbGxvdyB1c2Ugb2YgZmlsZSBjbG9uaW5nCgpBZGQgYW5v dGhlciB0cmFuc2ZlciBtb2RlIC0tY2xvbmUgdG8gcGdfdXBncmFkZSAoYmVzaWRlcyB0aGUg ZXhpc3RpbmcKLS1saW5rIGFuZCB0aGUgZGVmYXVsdCBjb3B5KSwgdXNpbmcgc3BlY2lhbCBm aWxlIGNsb25pbmcgY2FsbHMuICBUaGlzCm1ha2VzIHRoZSBmaWxlIHRyYW5zZmVyIGZhc3Rl ciBhbmQgbW9yZSBzcGFjZSBlZmZpY2llbnQsIGFjaGlldmluZwpzcGVlZCBzaW1pbGFyIHRv IC0tbGluayBtb2RlIHdpdGhvdXQgdGhlIGFzc29jaWF0ZWQgZHJhd2JhY2tzLgoKT24gTGlu dXgsIGZpbGUgY2xvbmluZyBpcyBzdXBwb3J0ZWQgb24gQnRyZnMgYW5kIFhGUyAoaWYgZm9y bWF0dGVkIHdpdGgKcmVmbGluayBzdXBwb3J0KS4gIE9uIG1hY09TLCBmaWxlIGNsb25pbmcg aXMgc3VwcG9ydGVkIG9uIEFQRlMuCi0tLQogY29uZmlndXJlICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMiArLQogY29uZmlndXJlLmluICAgICAgICAgICAgICAgICAgICAgfCAgMSAr CiBkb2Mvc3JjL3NnbWwvcmVmL3BndXBncmFkZS5zZ21sICB8IDM3ICsrKysrKysrKystLS0K IHNyYy9iaW4vcGdfdXBncmFkZS9jaGVjay5jICAgICAgIHwgMTMgKysrKy0KIHNyYy9iaW4v cGdfdXBncmFkZS9maWxlLmMgICAgICAgIHwgOTAgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIHNyYy9iaW4vcGdfdXBncmFkZS9vcHRpb24uYyAgICAgIHwgIDggKysrCiBz cmMvYmluL3BnX3VwZ3JhZGUvcGdfdXBncmFkZS5oICB8ICA2ICsrLQogc3JjL2Jpbi9wZ191 cGdyYWRlL3JlbGZpbGVub2RlLmMgfCA0NCArKysrKysrKysrLS0tLS0tCiBzcmMvaW5jbHVk ZS9wZ19jb25maWcuaC5pbiAgICAgICB8ICAzICsrCiA5IGZpbGVzIGNoYW5nZWQsIDE3OSBp bnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb25maWd1cmUg Yi9jb25maWd1cmUKaW5kZXggNDNhZThjODY5ZC4uNWE3YWEwMmIyNyAxMDA3NTUKLS0tIGEv Y29uZmlndXJlCisrKyBiL2NvbmZpZ3VyZQpAQCAtMTUxMzAsNyArMTUxMzAsNyBAQCBmaQog TElCU19pbmNsdWRpbmdfcmVhZGxpbmU9IiRMSUJTIgogTElCUz1gZWNobyAiJExJQlMiIHwg c2VkIC1lICdzLy1sZWRpdC8vZycgLWUgJ3MvLWxyZWFkbGluZS8vZydgCiAKLWZvciBhY19m dW5jIGluIGNicnQgY2xvY2tfZ2V0dGltZSBmZGF0YXN5bmMgZ2V0aWZhZGRycyBnZXRwZWVy dWNyZWQgZ2V0cmxpbWl0IG1ic3Rvd2NzX2wgbWVtbW92ZSBwb2xsIHBvc2l4X2ZhbGxvY2F0 ZSBwcG9sbCBwc3RhdCBwdGhyZWFkX2lzX3RocmVhZGVkX25wIHJlYWRsaW5rIHNldHByb2N0 aXRsZSBzZXRwcm9jdGl0bGVfZmFzdCBzZXRzaWQgc2htX29wZW4gc3RyY2hybnVsIHN5bWxp bmsgc3luY19maWxlX3JhbmdlIHV0aW1lIHV0aW1lcyB3Y3N0b21ic19sCitmb3IgYWNfZnVu YyBpbiBjYnJ0IGNsb2NrX2dldHRpbWUgY29weWZpbGUgZmRhdGFzeW5jIGdldGlmYWRkcnMg Z2V0cGVlcnVjcmVkIGdldHJsaW1pdCBtYnN0b3djc19sIG1lbW1vdmUgcG9sbCBwb3NpeF9m YWxsb2NhdGUgcHBvbGwgcHN0YXQgcHRocmVhZF9pc190aHJlYWRlZF9ucCByZWFkbGluayBz ZXRwcm9jdGl0bGUgc2V0cHJvY3RpdGxlX2Zhc3Qgc2V0c2lkIHNobV9vcGVuIHN0cmNocm51 bCBzeW1saW5rIHN5bmNfZmlsZV9yYW5nZSB1dGltZSB1dGltZXMgd2NzdG9tYnNfbAogZG8g OgogICBhc19hY192YXI9YCRhc19lY2hvICJhY19jdl9mdW5jXyRhY19mdW5jIiB8ICRhc190 cl9zaGAKIGFjX2ZuX2NfY2hlY2tfZnVuYyAiJExJTkVOTyIgIiRhY19mdW5jIiAiJGFzX2Fj X3ZhciIKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgppbmRleCA1 MTllY2Q1ZTFlLi43ZjIyYmNlZTc1IDEwMDY0NAotLS0gYS9jb25maWd1cmUuaW4KKysrIGIv Y29uZmlndXJlLmluCkBAIC0xNjAyLDYgKzE2MDIsNyBAQCBMSUJTPWBlY2hvICIkTElCUyIg fCBzZWQgLWUgJ3MvLWxlZGl0Ly9nJyAtZSAncy8tbHJlYWRsaW5lLy9nJ2AKIEFDX0NIRUNL X0ZVTkNTKG00X25vcm1hbGl6ZShbCiAJY2JydAogCWNsb2NrX2dldHRpbWUKKwljb3B5Zmls ZQogCWZkYXRhc3luYwogCWdldGlmYWRkcnMKIAlnZXRwZWVydWNyZWQKZGlmZiAtLWdpdCBh L2RvYy9zcmMvc2dtbC9yZWYvcGd1cGdyYWRlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL3Bn dXBncmFkZS5zZ21sCmluZGV4IGQ1MTE0NmQ2NDEuLmU2MTZlYTlkYmMgMTAwNjQ0Ci0tLSBh L2RvYy9zcmMvc2dtbC9yZWYvcGd1cGdyYWRlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3Jl Zi9wZ3VwZ3JhZGUuc2dtbApAQCAtMTgyLDYgKzE4MiwyNSBAQCA8dGl0bGU+T3B0aW9uczwv dGl0bGU+CiAgICAgICA8bGlzdGl0ZW0+PHBhcmE+ZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0 aW9uLCB0aGVuIGV4aXQ8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgPC92YXJsaXN0ZW50cnk+ CiAKKyAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgIDx0ZXJtPjxvcHRpb24+LS1jbG9uZTwv b3B0aW9uPjwvdGVybT4KKyAgICAgIDxsaXN0aXRlbT4KKyAgICAgICA8cGFyYT4KKyAgICAg ICAgVXNlIGVmZmljaWVudCBmaWxlIGNsb25pbmcgKGFsc28ga25vd24gYXMgPHF1b3RlPnJl ZmxpbmtzPC9xdW90ZT4pCisgICAgICAgIGluc3RlYWQgb2YgY29weWluZyBmaWxlcyB0byB0 aGUgbmV3IGNsdXN0ZXIuICBUaGlzIGNhbiByZXN1bHQgaW4KKyAgICAgICAgbmVhci1pbnN0 YW50YW5lb3VzIGNvcHlpbmcgb2YgdGhlIGRhdGEgZmlsZXMsIGdpdmluZyB0aGUgc3BlZWQK KyAgICAgICAgYWR2YW50YWdlcyBvZiA8b3B0aW9uPi1rPC9vcHRpb24+LzxvcHRpb24+LS1s aW5rPC9vcHRpb24+IHdoaWxlCisgICAgICAgIGxlYXZpbmcgdGhlIG9sZCBjbHVzdGVyIHVu dG91Y2hlZC4KKyAgICAgICA8L3BhcmE+CisKKyAgICAgICA8cGFyYT4KKyAgICAgICAgQXQg cHJlc2VudCwgcmVmbGlua3MgYXJlIHN1cHBvcnRlZCBvbiBMaW51eCAoa2VybmVsIDQuNSBv ciBsYXRlcikgd2l0aAorICAgICAgICBCdHJmcyBhbmQgWEZTIChvbiBmaWxlIHN5c3RlbXMg Y3JlYXRlZCB3aXRoIHJlZmxpbmsgc3VwcG9ydCwgd2hpY2ggaXMKKyAgICAgICAgbm90IHRo ZSBkZWZhdWx0IGZvciBYRlMgYXQgdGhpcyB3cml0aW5nKSwgYW5kIG9uIG1hY09TIHdpdGgg QVBGUy4KKyAgICAgICA8L3BhcmE+CisgICAgICA8L2xpc3RpdGVtPgorICAgICA8L3Zhcmxp c3RlbnRyeT4KKwogICAgICA8dmFybGlzdGVudHJ5PgogICAgICAgPHRlcm0+PG9wdGlvbj4t Pzwvb3B0aW9uPjwvdGVybT4KICAgICAgIDx0ZXJtPjxvcHRpb24+LS1oZWxwPC9vcHRpb24+ PC90ZXJtPgpAQCAtMzQwLDcgKzM1OSw3IEBAIDx0aXRsZT5SdW4gPGFwcGxpY2F0aW9uPnBn X3VwZ3JhZGU8L2FwcGxpY2F0aW9uPjwvdGl0bGU+CiAgICAgIEFsd2F5cyBydW4gdGhlIDxh cHBsaWNhdGlvbj5wZ191cGdyYWRlPC9hcHBsaWNhdGlvbj4gYmluYXJ5IG9mIHRoZSBuZXcg c2VydmVyLCBub3QgdGhlIG9sZCBvbmUuCiAgICAgIDxhcHBsaWNhdGlvbj5wZ191cGdyYWRl PC9hcHBsaWNhdGlvbj4gcmVxdWlyZXMgdGhlIHNwZWNpZmljYXRpb24gb2YgdGhlIG9sZCBh bmQgbmV3IGNsdXN0ZXIncwogICAgICBkYXRhIGFuZCBleGVjdXRhYmxlICg8ZmlsZW5hbWU+ YmluPC9maWxlbmFtZT4pIGRpcmVjdG9yaWVzLiBZb3UgY2FuIGFsc28gc3BlY2lmeQotICAg ICB1c2VyIGFuZCBwb3J0IHZhbHVlcywgYW5kIHdoZXRoZXIgeW91IHdhbnQgdGhlIGRhdGEg ZmlsZXMgbGlua2VkCisgICAgIHVzZXIgYW5kIHBvcnQgdmFsdWVzLCBhbmQgd2hldGhlciB5 b3Ugd2FudCB0aGUgZGF0YSBmaWxlcyBsaW5rZWQgb3IgY2xvbmVkCiAgICAgIGluc3RlYWQg b2YgdGhlIGRlZmF1bHQgY29weSBiZWhhdmlvci4KICAgICA8L3BhcmE+CiAKQEAgLTM1MSw4 ICszNzAsMTIgQEAgPHRpdGxlPlJ1biA8YXBwbGljYXRpb24+cGdfdXBncmFkZTwvYXBwbGlj YXRpb24+PC90aXRsZT4KICAgICAgb25jZSB5b3Ugc3RhcnQgdGhlIG5ldyBjbHVzdGVyIGFm dGVyIHRoZSB1cGdyYWRlLiAgTGluayBtb2RlIGFsc28KICAgICAgcmVxdWlyZXMgdGhhdCB0 aGUgb2xkIGFuZCBuZXcgY2x1c3RlciBkYXRhIGRpcmVjdG9yaWVzIGJlIGluIHRoZQogICAg ICBzYW1lIGZpbGUgc3lzdGVtLiAgKFRhYmxlc3BhY2VzIGFuZCA8ZmlsZW5hbWU+cGdfd2Fs PC9maWxlbmFtZT4gY2FuIGJlIG9uCi0gICAgIGRpZmZlcmVudCBmaWxlIHN5c3RlbXMuKSAg U2VlIDxsaXRlcmFsPnBnX3VwZ3JhZGUgLS1oZWxwPC9saXRlcmFsPiBmb3IgYSBmdWxsCi0g ICAgIGxpc3Qgb2Ygb3B0aW9ucy4KKyAgICAgZGlmZmVyZW50IGZpbGUgc3lzdGVtcy4pCisg ICAgIFRoZSBjbG9uZSBtb2RlIHByb3ZpZGVzIHRoZSBzYW1lIHNwZWVkIGFuZCBkaXNrIHNw YWNlIGFkdmFudGFnZXMgYnV0IHdpbGwKKyAgICAgbm90IGxlYXZlIHRoZSBvbGQgY2x1c3Rl ciB1bnVzYWJsZSBhZnRlciB0aGUgdXBncmFkZS4gIFRoZSBjbG9uZSBtb2RlCisgICAgIGFs c28gcmVxdWlyZXMgdGhhdCB0aGUgb2xkIGFuZCBuZXcgZGF0YSBkaXJlY3RvcmllcyBiZSBp biB0aGUgc2FtZSBmaWxlCisgICAgIHN5c3RlbS4gIFRoZSBjbG9uZSBtb2RlIGlzIG9ubHkg YXZhaWxhYmxlIG9uIGNlcnRhaW4gb3BlcmF0aW5nIHN5c3RlbXMKKyAgICAgYW5kIGZpbGUg c3lzdGVtcy4KICAgICA8L3BhcmE+CiAKICAgICA8cGFyYT4KQEAgLTM4OCw4ICs0MTEsOSBA QCA8dGl0bGU+UnVuIDxhcHBsaWNhdGlvbj5wZ191cGdyYWRlPC9hcHBsaWNhdGlvbj48L3Rp dGxlPgogICAgICB0byBwZXJmb3JtIG9ubHkgdGhlIGNoZWNrcywgZXZlbiBpZiB0aGUgb2xk IHNlcnZlciBpcyBzdGlsbAogICAgICBydW5uaW5nLiA8Y29tbWFuZD5wZ191cGdyYWRlIC0t Y2hlY2s8L2NvbW1hbmQ+IHdpbGwgYWxzbyBvdXRsaW5lIGFueQogICAgICBtYW51YWwgYWRq dXN0bWVudHMgeW91IHdpbGwgbmVlZCB0byBtYWtlIGFmdGVyIHRoZSB1cGdyYWRlLiAgSWYg eW91Ci0gICAgIGFyZSBnb2luZyB0byBiZSB1c2luZyBsaW5rIG1vZGUsIHlvdSBzaG91bGQg dXNlIHRoZSA8b3B0aW9uPi0tbGluazwvb3B0aW9uPgotICAgICBvcHRpb24gd2l0aCA8b3B0 aW9uPi0tY2hlY2s8L29wdGlvbj4gdG8gZW5hYmxlIGxpbmstbW9kZS1zcGVjaWZpYyBjaGVj a3MuCisgICAgIGFyZSBnb2luZyB0byBiZSB1c2luZyBsaW5rIG9yIGNsb25lIG1vZGUsIHlv dSBzaG91bGQgdXNlIHRoZSBvcHRpb24KKyAgICAgPG9wdGlvbj4tLWxpbms8L29wdGlvbj4g b3IgPG9wdGlvbj4tLWNsb25lPC9vcHRpb24+IHdpdGgKKyAgICAgPG9wdGlvbj4tLWNoZWNr PC9vcHRpb24+IHRvIGVuYWJsZSBtb2RlLXNwZWNpZmljIGNoZWNrcy4KICAgICAgPGNvbW1h bmQ+cGdfdXBncmFkZTwvY29tbWFuZD4gcmVxdWlyZXMgd3JpdGUgcGVybWlzc2lvbiBpbiB0 aGUgY3VycmVudCBkaXJlY3RvcnkuCiAgICAgPC9wYXJhPgogCkBAIC03MjIsNyArNzQ2LDgg QEAgPHRpdGxlPk5vdGVzPC90aXRsZT4KIAogICA8cGFyYT4KICAgIElmIHlvdSB3YW50IHRv IHVzZSBsaW5rIG1vZGUgYW5kIHlvdSBkbyBub3Qgd2FudCB5b3VyIG9sZCBjbHVzdGVyCi0g ICB0byBiZSBtb2RpZmllZCB3aGVuIHRoZSBuZXcgY2x1c3RlciBpcyBzdGFydGVkLCBtYWtl IGEgY29weSBvZiB0aGUKKyAgIHRvIGJlIG1vZGlmaWVkIHdoZW4gdGhlIG5ldyBjbHVzdGVy IGlzIHN0YXJ0ZWQsIGNvbnNpZGVyIHVzaW5nIHRoZSBjbG9uZSBtb2RlLgorICAgSWYgdGhh dCBpcyBub3QgYXZhaWxhYmxlLCBtYWtlIGEgY29weSBvZiB0aGUKICAgIG9sZCBjbHVzdGVy IGFuZCB1cGdyYWRlIHRoYXQgaW4gbGluayBtb2RlLiBUbyBtYWtlIGEgdmFsaWQgY29weQog ICAgb2YgdGhlIG9sZCBjbHVzdGVyLCB1c2UgPGNvbW1hbmQ+cnN5bmM8L2NvbW1hbmQ+IHRv IGNyZWF0ZSBhIGRpcnR5CiAgICBjb3B5IG9mIHRoZSBvbGQgY2x1c3RlciB3aGlsZSB0aGUg c2VydmVyIGlzIHJ1bm5pbmcsIHRoZW4gc2h1dCBkb3duCmRpZmYgLS1naXQgYS9zcmMvYmlu L3BnX3VwZ3JhZGUvY2hlY2suYyBiL3NyYy9iaW4vcGdfdXBncmFkZS9jaGVjay5jCmluZGV4 IDVhNzhkNjAzZGMuLjU1NWU1ZGNiYmEgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfdXBncmFk ZS9jaGVjay5jCisrKyBiL3NyYy9iaW4vcGdfdXBncmFkZS9jaGVjay5jCkBAIC0xNDksOCAr MTQ5LDE3IEBAIGNoZWNrX25ld19jbHVzdGVyKHZvaWQpCiAKIAljaGVja19sb2FkYWJsZV9s aWJyYXJpZXMoKTsKIAotCWlmICh1c2VyX29wdHMudHJhbnNmZXJfbW9kZSA9PSBUUkFOU0ZF Ul9NT0RFX0xJTkspCi0JCWNoZWNrX2hhcmRfbGluaygpOworCXN3aXRjaCAodXNlcl9vcHRz LnRyYW5zZmVyX21vZGUpCisJeworCQljYXNlIFRSQU5TRkVSX01PREVfQ0xPTkU6CisJCQlj aGVja19maWxlX2Nsb25lKCk7CisJCQlicmVhazsKKwkJY2FzZSBUUkFOU0ZFUl9NT0RFX0NP UFk6CisJCQlicmVhazsKKwkJY2FzZSBUUkFOU0ZFUl9NT0RFX0xJTks6CisJCQljaGVja19o YXJkX2xpbmsoKTsKKwkJCWJyZWFrOworCX0KIAogCWNoZWNrX2lzX2luc3RhbGxfdXNlcigm bmV3X2NsdXN0ZXIpOwogCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX3VwZ3JhZGUvZmlsZS5j IGIvc3JjL2Jpbi9wZ191cGdyYWRlL2ZpbGUuYwppbmRleCBjMjdjYzkzZGMyLi4yNDRkZDRk ODhiIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX3VwZ3JhZGUvZmlsZS5jCisrKyBiL3NyYy9i aW4vcGdfdXBncmFkZS9maWxlLmMKQEAgLTE4LDYgKzE4LDEzIEBACiAKICNpbmNsdWRlIDxz eXMvc3RhdC5oPgogI2luY2x1ZGUgPGZjbnRsLmg+CisjaWZkZWYgSEFWRV9DT1BZRklMRQor I2luY2x1ZGUgPGNvcHlmaWxlLmg+CisjZW5kaWYKKyNpZmRlZiBfX2xpbnV4X18KKyNpbmNs dWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorI2VuZGlmCiAKIAog I2lmZGVmIFdJTjMyCkBAIC0yNSw2ICszMiw0NyBAQCBzdGF0aWMgaW50CXdpbjMyX3BnaGFy ZGxpbmsoY29uc3QgY2hhciAqc3JjLCBjb25zdCBjaGFyICpkc3QpOwogI2VuZGlmCiAKIAor LyoKKyAqIGNsb25lRmlsZSgpCisgKgorICogQ2xvbmVzL3JlZmxpbmtzIGEgcmVsYXRpb24g ZmlsZSBmcm9tIHNyYyB0byBkc3QuCisgKgorICogc2NoZW1hTmFtZS9yZWxOYW1lIGFyZSBy ZWxhdGlvbidzIFNRTCBuYW1lICh1c2VkIGZvciBlcnJvciBtZXNzYWdlcyBvbmx5KS4KKyAq Lwordm9pZAorY2xvbmVGaWxlKGNvbnN0IGNoYXIgKnNyYywgY29uc3QgY2hhciAqZHN0LAor CQkgIGNvbnN0IGNoYXIgKnNjaGVtYU5hbWUsIGNvbnN0IGNoYXIgKnJlbE5hbWUpCit7Cisj aWYgZGVmaW5lZChIQVZFX0NPUFlGSUxFKSAmJiBkZWZpbmVkKENPUFlGSUxFX0NMT05FX0ZP UkNFKQorCWlmIChjb3B5ZmlsZShzcmMsIGRzdCwgTlVMTCwgQ09QWUZJTEVfQ0xPTkVfRk9S Q0UpIDwgMCkKKwkJcGdfZmF0YWwoImVycm9yIHdoaWxlIGNsb25pbmcgcmVsYXRpb24gXCIl cy4lc1wiIChcIiVzXCIgdG8gXCIlc1wiKTogJXNcbiIsCisJCQkJIHNjaGVtYU5hbWUsIHJl bE5hbWUsIHNyYywgZHN0LCBzdHJlcnJvcihlcnJubykpOworI2VsaWYgZGVmaW5lZChfX2xp bnV4X18pICYmIGRlZmluZWQoRklDTE9ORSkKKwlpbnQJCQlzcmNfZmQ7CisJaW50CQkJZGVz dF9mZDsKKworCWlmICgoc3JjX2ZkID0gb3BlbihzcmMsIE9fUkRPTkxZIHwgUEdfQklOQVJZ LCAwKSkgPCAwKQorCQlwZ19mYXRhbCgiZXJyb3Igd2hpbGUgY2xvbmluZyByZWxhdGlvbiBc IiVzLiVzXCI6IGNvdWxkIG5vdCBvcGVuIGZpbGUgXCIlc1wiOiAlc1xuIiwKKwkJCQkgc2No ZW1hTmFtZSwgcmVsTmFtZSwgc3JjLCBzdHJlcnJvcihlcnJubykpOworCisJaWYgKChkZXN0 X2ZkID0gb3Blbihkc3QsIE9fUkRXUiB8IE9fQ1JFQVQgfCBPX0VYQ0wgfCBQR19CSU5BUlks CisJCQkJCQlwZ19maWxlX2NyZWF0ZV9tb2RlKSkgPCAwKQorCQlwZ19mYXRhbCgiZXJyb3Ig d2hpbGUgY2xvbmluZyByZWxhdGlvbiBcIiVzLiVzXCI6IGNvdWxkIG5vdCBjcmVhdGUgZmls ZSBcIiVzXCI6ICVzXG4iLAorCQkJCSBzY2hlbWFOYW1lLCByZWxOYW1lLCBkc3QsIHN0cmVy cm9yKGVycm5vKSk7CisKKwlpZiAoaW9jdGwoZGVzdF9mZCwgRklDTE9ORSwgc3JjX2ZkKSA8 IDApCisJeworCQl1bmxpbmsoZHN0KTsKKwkJcGdfZmF0YWwoImVycm9yIHdoaWxlIGNsb25p bmcgcmVsYXRpb24gXCIlcy4lc1wiIChcIiVzXCIgdG8gXCIlc1wiKTogJXNcbiIsCisJCQkJ IHNjaGVtYU5hbWUsIHJlbE5hbWUsIHNyYywgZHN0LCBzdHJlcnJvcihlcnJubykpOworCX0K KworCWNsb3NlKHNyY19mZCk7CisJY2xvc2UoZGVzdF9mZCk7CisjZW5kaWYKK30KKworCiAv KgogICogY29weUZpbGUoKQogICoKQEAgLTI3MCw2ICszMTgsNDggQEAgcmV3cml0ZVZpc2li aWxpdHlNYXAoY29uc3QgY2hhciAqZnJvbWZpbGUsIGNvbnN0IGNoYXIgKnRvZmlsZSwKIAlj bG9zZShzcmNfZmQpOwogfQogCit2b2lkCitjaGVja19maWxlX2Nsb25lKHZvaWQpCit7CisJ Y2hhcgkJZXhpc3RpbmdfZmlsZVtNQVhQR1BBVEhdOworCWNoYXIJCW5ld19saW5rX2ZpbGVb TUFYUEdQQVRIXTsKKworCXNucHJpbnRmKGV4aXN0aW5nX2ZpbGUsIHNpemVvZihleGlzdGlu Z19maWxlKSwgIiVzL1BHX1ZFUlNJT04iLCBvbGRfY2x1c3Rlci5wZ2RhdGEpOworCXNucHJp bnRmKG5ld19saW5rX2ZpbGUsIHNpemVvZihuZXdfbGlua19maWxlKSwgIiVzL1BHX1ZFUlNJ T04uY2xvbmV0ZXN0IiwgbmV3X2NsdXN0ZXIucGdkYXRhKTsKKwl1bmxpbmsobmV3X2xpbmtf ZmlsZSk7CQkvKiBtaWdodCBmYWlsICovCisKKyNpZiBkZWZpbmVkKEhBVkVfQ09QWUZJTEUp ICYmIGRlZmluZWQoQ09QWUZJTEVfQ0xPTkVfRk9SQ0UpCisJaWYgKGNvcHlmaWxlKGV4aXN0 aW5nX2ZpbGUsIG5ld19saW5rX2ZpbGUsIE5VTEwsIENPUFlGSUxFX0NMT05FX0ZPUkNFKSA8 IDApCisJCXBnX2ZhdGFsKCJjb3VsZCBub3QgY2xvbmUgZmlsZSBiZXR3ZWVuIG9sZCBhbmQg bmV3IGRhdGEgZGlyZWN0b3JpZXM6ICVzXG4iLAorCQkJCSBzdHJlcnJvcihlcnJubykpOwor I2VsaWYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoRklDTE9ORSkKKwl7CisJCWlu dAkJCXNyY19mZDsKKwkJaW50CQkJZGVzdF9mZDsKKworCQlpZiAoKHNyY19mZCA9IG9wZW4o ZXhpc3RpbmdfZmlsZSwgT19SRE9OTFkgfCBQR19CSU5BUlksIDApKSA8IDApCisJCQlwZ19m YXRhbCgiY291bGQgbm90IG9wZW4gZmlsZSBcIiVzXCI6ICVzXG4iLAorCQkJCQkgZXhpc3Rp bmdfZmlsZSwgc3RyZXJyb3IoZXJybm8pKTsKKworCQlpZiAoKGRlc3RfZmQgPSBvcGVuKG5l d19saW5rX2ZpbGUsIE9fUkRXUiB8IE9fQ1JFQVQgfCBPX0VYQ0wgfCBQR19CSU5BUlksCisJ CQkJCQkJcGdfZmlsZV9jcmVhdGVfbW9kZSkpIDwgMCkKKwkJCXBnX2ZhdGFsKCJjb3VsZCBu b3QgY3JlYXRlIGZpbGUgXCIlc1wiOiAlc1xuIiwKKwkJCQkJIG5ld19saW5rX2ZpbGUsIHN0 cmVycm9yKGVycm5vKSk7CisKKwkJaWYgKGlvY3RsKGRlc3RfZmQsIEZJQ0xPTkUsIHNyY19m ZCkgPCAwKQorCQkJcGdfZmF0YWwoImNvdWxkIG5vdCBjbG9uZSBmaWxlIGJldHdlZW4gb2xk IGFuZCBuZXcgZGF0YSBkaXJlY3RvcmllczogJXNcbiIsCisJCQkJCSBzdHJlcnJvcihlcnJu bykpOworCisJCWNsb3NlKHNyY19mZCk7CisJCWNsb3NlKGRlc3RfZmQpOworCX0KKyNlbHNl CisJcGdfZmF0YWwoImZpbGUgY2xvbmluZyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZv cm1cbiIpOworI2VuZGlmCisKKwl1bmxpbmsobmV3X2xpbmtfZmlsZSk7Cit9CisKIHZvaWQK IGNoZWNrX2hhcmRfbGluayh2b2lkKQogewpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ191cGdy YWRlL29wdGlvbi5jIGIvc3JjL2Jpbi9wZ191cGdyYWRlL29wdGlvbi5jCmluZGV4IDlkYmM5 MjI1YTYuLmViM2I5ZjYwM2QgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfdXBncmFkZS9vcHRp b24uYworKysgYi9zcmMvYmluL3BnX3VwZ3JhZGUvb3B0aW9uLmMKQEAgLTUzLDYgKzUzLDkg QEAgcGFyc2VDb21tYW5kTGluZShpbnQgYXJnYywgY2hhciAqYXJndltdKQogCQl7InJldGFp biIsIG5vX2FyZ3VtZW50LCBOVUxMLCAncid9LAogCQl7ImpvYnMiLCByZXF1aXJlZF9hcmd1 bWVudCwgTlVMTCwgJ2onfSwKIAkJeyJ2ZXJib3NlIiwgbm9fYXJndW1lbnQsIE5VTEwsICd2 J30sCisKKwkJeyJjbG9uZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAxfSwKKwogCQl7TlVMTCwg MCwgTlVMTCwgMH0KIAl9OwogCWludAkJCW9wdGlvbjsJCQkvKiBDb21tYW5kIGxpbmUgb3B0 aW9uICovCkBAIC0yMDMsNiArMjA2LDEwIEBAIHBhcnNlQ29tbWFuZExpbmUoaW50IGFyZ2Ms IGNoYXIgKmFyZ3ZbXSkKIAkJCQlsb2dfb3B0cy52ZXJib3NlID0gdHJ1ZTsKIAkJCQlicmVh azsKIAorCQkJY2FzZSAxOgorCQkJCXVzZXJfb3B0cy50cmFuc2Zlcl9tb2RlID0gVFJBTlNG RVJfTU9ERV9DTE9ORTsKKwkJCQlicmVhazsKKwogCQkJZGVmYXVsdDoKIAkJCQlwZ19mYXRh bCgiVHJ5IFwiJXMgLS1oZWxwXCIgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iLAogCQkJCQkJ IG9zX2luZm8ucHJvZ25hbWUpOwpAQCAtMjkzLDYgKzMwMCw3IEBAIHVzYWdlKHZvaWQpCiAJ cHJpbnRmKF8oIiAgLVUsIC0tdXNlcm5hbWU9TkFNRSAgICAgICAgICAgY2x1c3RlciBzdXBl cnVzZXIgKGRlZmF1bHQgXCIlc1wiKVxuIiksIG9zX2luZm8udXNlcik7CiAJcHJpbnRmKF8o IiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2UgaW50ZXJu YWwgbG9nZ2luZ1xuIikpOwogCXByaW50ZihfKCIgIC1WLCAtLXZlcnNpb24gICAgICAgICAg ICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiwgdGhlbiBleGl0XG4iKSk7CisJ cHJpbnRmKF8oIiAgLS1jbG9uZSAgICAgICAgICAgICAgICAgICAgICAgY2xvbmUgaW5zdGVh ZCBvZiBjb3B5aW5nIGZpbGVzIHRvIG5ldyBjbHVzdGVyXG4iKSk7CiAJcHJpbnRmKF8oIiAg LT8sIC0taGVscCAgICAgICAgICAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAsIHRoZW4gZXhp dFxuIikpOwogCXByaW50ZihfKCJcbiIKIAkJCSAiQmVmb3JlIHJ1bm5pbmcgcGdfdXBncmFk ZSB5b3UgbXVzdDpcbiIKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfdXBncmFkZS9wZ191cGdy YWRlLmggYi9zcmMvYmluL3BnX3VwZ3JhZGUvcGdfdXBncmFkZS5oCmluZGV4IGY4M2EzZWVi NjcuLjUxYmQyMTFkNDYgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfdXBncmFkZS9wZ191cGdy YWRlLmgKKysrIGIvc3JjL2Jpbi9wZ191cGdyYWRlL3BnX3VwZ3JhZGUuaApAQCAtMjMwLDEw ICsyMzAsMTEgQEAgdHlwZWRlZiBzdHJ1Y3QKIH0gQ29udHJvbERhdGE7CiAKIC8qCi0gKiBF bnVtZXJhdGlvbiB0byBkZW5vdGUgbGluayBtb2RlcworICogRW51bWVyYXRpb24gdG8gZGVu b3RlIHRyYW5zZmVyIG1vZGVzCiAgKi8KIHR5cGVkZWYgZW51bQogeworCVRSQU5TRkVSX01P REVfQ0xPTkUsCiAJVFJBTlNGRVJfTU9ERV9DT1BZLAogCVRSQU5TRkVSX01PREVfTElOSwog fSB0cmFuc2Zlck1vZGU7CkBAIC0zNzIsMTIgKzM3MywxNSBAQCBib29sCQlwaWRfbG9ja19m aWxlX2V4aXN0cyhjb25zdCBjaGFyICpkYXRhZGlyKTsKIAogLyogZmlsZS5jICovCiAKK3Zv aWQgY2xvbmVGaWxlKGNvbnN0IGNoYXIgKnNyYywgY29uc3QgY2hhciAqZHN0LAorCQkgY29u c3QgY2hhciAqc2NoZW1hTmFtZSwgY29uc3QgY2hhciAqcmVsTmFtZSk7CiB2b2lkIGNvcHlG aWxlKGNvbnN0IGNoYXIgKnNyYywgY29uc3QgY2hhciAqZHN0LAogCQkgY29uc3QgY2hhciAq c2NoZW1hTmFtZSwgY29uc3QgY2hhciAqcmVsTmFtZSk7CiB2b2lkIGxpbmtGaWxlKGNvbnN0 IGNoYXIgKnNyYywgY29uc3QgY2hhciAqZHN0LAogCQkgY29uc3QgY2hhciAqc2NoZW1hTmFt ZSwgY29uc3QgY2hhciAqcmVsTmFtZSk7CiB2b2lkIHJld3JpdGVWaXNpYmlsaXR5TWFwKGNv bnN0IGNoYXIgKmZyb21maWxlLCBjb25zdCBjaGFyICp0b2ZpbGUsCiAJCQkJCSBjb25zdCBj aGFyICpzY2hlbWFOYW1lLCBjb25zdCBjaGFyICpyZWxOYW1lKTsKK3ZvaWQJCWNoZWNrX2Zp bGVfY2xvbmUodm9pZCk7CiB2b2lkCQljaGVja19oYXJkX2xpbmsodm9pZCk7CiAKIC8qIGZv cGVuX3ByaXYoKSBpcyBubyBsb25nZXIgZGlmZmVyZW50IGZyb20gZm9wZW4oKSAqLwpkaWZm IC0tZ2l0IGEvc3JjL2Jpbi9wZ191cGdyYWRlL3JlbGZpbGVub2RlLmMgYi9zcmMvYmluL3Bn X3VwZ3JhZGUvcmVsZmlsZW5vZGUuYwppbmRleCBlZDYwNGYyNmNhLi4zYjE2YzkyYTAyIDEw MDY0NAotLS0gYS9zcmMvYmluL3BnX3VwZ3JhZGUvcmVsZmlsZW5vZGUuYworKysgYi9zcmMv YmluL3BnX3VwZ3JhZGUvcmVsZmlsZW5vZGUuYwpAQCAtMzAsMTAgKzMwLDE4IEBAIHZvaWQK IHRyYW5zZmVyX2FsbF9uZXdfdGFibGVzcGFjZXMoRGJJbmZvQXJyICpvbGRfZGJfYXJyLCBE YkluZm9BcnIgKm5ld19kYl9hcnIsCiAJCQkJCQkJIGNoYXIgKm9sZF9wZ2RhdGEsIGNoYXIg Km5ld19wZ2RhdGEpCiB7Ci0JaWYgKHVzZXJfb3B0cy50cmFuc2Zlcl9tb2RlID09IFRSQU5T RkVSX01PREVfTElOSykKLQkJcGdfbG9nKFBHX1JFUE9SVCwgIkxpbmtpbmcgdXNlciByZWxh dGlvbiBmaWxlc1xuIik7Ci0JZWxzZQotCQlwZ19sb2coUEdfUkVQT1JULCAiQ29weWluZyB1 c2VyIHJlbGF0aW9uIGZpbGVzXG4iKTsKKwlzd2l0Y2ggKHVzZXJfb3B0cy50cmFuc2Zlcl9t b2RlKQorCXsKKwkJY2FzZSBUUkFOU0ZFUl9NT0RFX0NMT05FOgorCQkJcGdfbG9nKFBHX1JF UE9SVCwgIkNsb25pbmcgdXNlciByZWxhdGlvbiBmaWxlc1xuIik7CisJCQlicmVhazsKKwkJ Y2FzZSBUUkFOU0ZFUl9NT0RFX0NPUFk6CisJCQlwZ19sb2coUEdfUkVQT1JULCAiQ29weWlu ZyB1c2VyIHJlbGF0aW9uIGZpbGVzXG4iKTsKKwkJCWJyZWFrOworCQljYXNlIFRSQU5TRkVS X01PREVfTElOSzoKKwkJCXBnX2xvZyhQR19SRVBPUlQsICJMaW5raW5nIHVzZXIgcmVsYXRp b24gZmlsZXNcbiIpOworCQkJYnJlYWs7CisJfQogCiAJLyoKIAkgKiBUcmFuc2ZlcnJpbmcg ZmlsZXMgYnkgdGFibGVzcGFjZSBpcyB0cmlja3kgYmVjYXVzZSBhIHNpbmdsZSBkYXRhYmFz ZQpAQCAtMjUwLDE3ICsyNTgsMjMgQEAgdHJhbnNmZXJfcmVsZmlsZShGaWxlTmFtZU1hcCAq bWFwLCBjb25zdCBjaGFyICp0eXBlX3N1ZmZpeCwgYm9vbCB2bV9tdXN0X2FkZF9mcm8KIAkJ CQkgICBvbGRfZmlsZSwgbmV3X2ZpbGUpOwogCQkJcmV3cml0ZVZpc2liaWxpdHlNYXAob2xk X2ZpbGUsIG5ld19maWxlLCBtYXAtPm5zcG5hbWUsIG1hcC0+cmVsbmFtZSk7CiAJCX0KLQkJ ZWxzZSBpZiAodXNlcl9vcHRzLnRyYW5zZmVyX21vZGUgPT0gVFJBTlNGRVJfTU9ERV9DT1BZ KQotCQl7Ci0JCQlwZ19sb2coUEdfVkVSQk9TRSwgImNvcHlpbmcgXCIlc1wiIHRvIFwiJXNc IlxuIiwKLQkJCQkgICBvbGRfZmlsZSwgbmV3X2ZpbGUpOwotCQkJY29weUZpbGUob2xkX2Zp bGUsIG5ld19maWxlLCBtYXAtPm5zcG5hbWUsIG1hcC0+cmVsbmFtZSk7Ci0JCX0KIAkJZWxz ZQotCQl7Ci0JCQlwZ19sb2coUEdfVkVSQk9TRSwgImxpbmtpbmcgXCIlc1wiIHRvIFwiJXNc IlxuIiwKLQkJCQkgICBvbGRfZmlsZSwgbmV3X2ZpbGUpOwotCQkJbGlua0ZpbGUob2xkX2Zp bGUsIG5ld19maWxlLCBtYXAtPm5zcG5hbWUsIG1hcC0+cmVsbmFtZSk7Ci0JCX0KKwkJCXN3 aXRjaCAodXNlcl9vcHRzLnRyYW5zZmVyX21vZGUpCisJCQl7CisJCQkJY2FzZSBUUkFOU0ZF Ul9NT0RFX0NMT05FOgorCQkJCQlwZ19sb2coUEdfVkVSQk9TRSwgImNsb25pbmcgXCIlc1wi IHRvIFwiJXNcIlxuIiwKKwkJCQkJCSAgIG9sZF9maWxlLCBuZXdfZmlsZSk7CisJCQkJCWNs b25lRmlsZShvbGRfZmlsZSwgbmV3X2ZpbGUsIG1hcC0+bnNwbmFtZSwgbWFwLT5yZWxuYW1l KTsKKwkJCQkJYnJlYWs7CisJCQkJY2FzZSBUUkFOU0ZFUl9NT0RFX0NPUFk6CisJCQkJCXBn X2xvZyhQR19WRVJCT1NFLCAiY29weWluZyBcIiVzXCIgdG8gXCIlc1wiXG4iLAorCQkJCQkJ ICAgb2xkX2ZpbGUsIG5ld19maWxlKTsKKwkJCQkJY29weUZpbGUob2xkX2ZpbGUsIG5ld19m aWxlLCBtYXAtPm5zcG5hbWUsIG1hcC0+cmVsbmFtZSk7CisJCQkJCWJyZWFrOworCQkJCWNh c2UgVFJBTlNGRVJfTU9ERV9MSU5LOgorCQkJCQlwZ19sb2coUEdfVkVSQk9TRSwgImxpbmtp bmcgXCIlc1wiIHRvIFwiJXNcIlxuIiwKKwkJCQkJCSAgIG9sZF9maWxlLCBuZXdfZmlsZSk7 CisJCQkJCWxpbmtGaWxlKG9sZF9maWxlLCBuZXdfZmlsZSwgbWFwLT5uc3BuYW1lLCBtYXAt PnJlbG5hbWUpOworCQkJfQogCX0KIH0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3BnX2Nv bmZpZy5oLmluIGIvc3JjL2luY2x1ZGUvcGdfY29uZmlnLmguaW4KaW5kZXggOTc5OGJkMjRi NC4uZDJhMzU2YTM1NiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGdfY29uZmlnLmguaW4K KysrIGIvc3JjL2luY2x1ZGUvcGdfY29uZmlnLmguaW4KQEAgLTExNCw2ICsxMTQsOSBAQAog LyogRGVmaW5lIHRvIDEgaWYgeW91ciBjb21waWxlciBoYW5kbGVzIGNvbXB1dGVkIGdvdG9z LiAqLwogI3VuZGVmIEhBVkVfQ09NUFVURURfR09UTwogCisvKiBEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSB0aGUgYGNvcHlmaWxlJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0NPUFlG SUxFCisKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8Y3J0ZGVmcy5oPiBoZWFk ZXIgZmlsZS4gKi8KICN1bmRlZiBIQVZFX0NSVERFRlNfSAogCgpiYXNlLWNvbW1pdDogZTc0 ZGQwMGY1M2NkNmRjMTg4N2Y3NmI5NjcyZTVmNmRjZjBmZDhhMgotLSAKMi4xOS4xCgo= --------------7227314874FB6362052C0974--