Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1j3kQH-0001n8-PQ for pgsql-hackers@arkaria.postgresql.org; Mon, 17 Feb 2020 17:43:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1j3kQG-0003vt-9z for pgsql-hackers@arkaria.postgresql.org; Mon, 17 Feb 2020 17:43:08 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1j3kQE-0003v6-SF for pgsql-hackers@lists.postgresql.org; Mon, 17 Feb 2020 17:43:07 +0000 Received: from wout1-smtp.messagingengine.com ([64.147.123.24]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1j3kQ7-000851-9p for pgsql-hackers@postgresql.org; Mon, 17 Feb 2020 17:43:05 +0000 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id 67DE53AB; Mon, 17 Feb 2020 12:42:57 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Mon, 17 Feb 2020 12:42:57 -0500 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=fm2; bh=ZiUcqw 5e6W1I4sAW4gSyK9UbImXbulwfAKBS6aGN5vs=; b=aZ1lc3ejwP2TQUx6Cdmdlt bHGT8wQ8rqmNgiC1JJr99j4RuAazLotfhO+6rLshtJKuhgFvkQNX/snWYmGiFN/x gOD3912kX2ge1zCwsJthz1PhANjNe6Lj15d3/1A2Cr6rlyok66X+P8WRROz1fJYk p5AdODSyCruEAYjSRFfQeYKv50OkTkBC6GynuEMeeyma71cW7c9ZjDcKZC1yBpjL IDOa91havDwTj53JmXik2+crqSCTObAwrncBLbNCKQV50+tIjI/3QsA+glsogp0R IkG8CANG9/9j3bqf+iXSX72hhRH9fTVx7In7OCuQYyLt5Wiq5Iige5SddOlw5CpQ == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedrjeeigddutdehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepuffvfhfhohfkffgfgggjtgesmhdtreertdefjeenucfhrhhomheprfgvthgv rhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdrvghishgvnhhtrhgruhhtsedvnhguqh hurggurhgrnhhtrdgtohhmqeenucffohhmrghinhepvdhnughquhgrughrrghnthdrtgho mhenucfkphepleefrddvgedvrddvheehrdduuddvnecuvehluhhsthgvrhfuihiivgeptd enucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrhdrvghishgvnhhtrhgruhhtsedv nhguqhhurggurhgrnhhtrdgtohhm X-ME-Proxy: Received: from april.pezone.net (p5df2ff70.dip0.t-ipconnect.de [93.242.255.112]) by mail.messagingengine.com (Postfix) with ESMTPA id DCFC1328005E; Mon, 17 Feb 2020 12:42:53 -0500 (EST) Subject: Re: base backup client as auxiliary backend process To: Andres Freund References: <20191107041630.GK1768@paquier.xyz> <4792e456-d75f-8e6a-2d47-34b8f78c266f@2ndquadrant.com> <116725031573825947@iva1-ef4837f8671e.qloud-c.yandex.net> <8d8c851a-c951-f98e-22c2-f62621c32d3b@2ndquadrant.com> <4c79f835-b443-7b02-9097-aa1a40f46be9@2ndquadrant.com> <7925a361-d48c-db03-30b4-fcd331ef7f02@2ndquadrant.com> <5686daaa-e39f-3814-7ece-e96462f20616@2ndquadrant.com> <20200203124731.ykmyps26ohan4fsx@alap3.anarazel.de> Cc: Masahiko Sawada , Sergei Kornilov , Michael Paquier , pgsql-hackers From: Peter Eisentraut Organization: 2ndQuadrant Message-ID: Date: Mon, 17 Feb 2020 18:42:52 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20200203124731.ykmyps26ohan4fsx@alap3.anarazel.de> Content-Type: multipart/mixed; boundary="------------0DA66935E7760217A20E2A2F" 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. --------------0DA66935E7760217A20E2A2F Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 2020-02-03 13:47, Andres Freund wrote: > Comment: > > - It'd be good to split out the feature independent refactorings, like > the introduction of InitControlFile(), into their own commit. Right > now it's hard to separate out what should just should be moved code, > and what should be behavioural changes. Especially when there's stuff > like just reindenting comments as part of the patch. Agreed. Here are three refactoring patches extracted that seem useful on their own. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --------------0DA66935E7760217A20E2A2F Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0001-pg_resetwal-Rename-function-to-avoid-potential-confl.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-pg_resetwal-Rename-function-to-avoid-potential-confl.pa"; filename*1="tch" RnJvbSA0OWI1MWIzNjJiNGQ4NjEwM2M3NDA1NzE4NjE1NGE0MmI5ZWYzMzViIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAxNyBGZWIgMjAyMCAxNzozNTo0OCArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMS8zXSBwZ19yZXNldHdhbDogUmVuYW1lIGZ1bmN0aW9uIHRvIGF2b2lkIHBv dGVudGlhbCBjb25mbGljdAoKUmVhZENvbnRyb2xGaWxlKCkgaGVyZSBjb25mbGljdHMgd2l0 aCBhIGZ1bmN0aW9uIG9mIHRoZSBzYW1lIG5hbWUgaW4KeGxvZy5jLiAgVGhlcmUgaXMgbm8g YWN0dWFsIGNvbmZsaWN0IHJpZ2h0IG5vdywgYnV0IHNpbmNlCnBnX3Jlc2V0d2FsLmMgcmVh Y2hlcyBkZWVwIGluc2lkZSBiYWNrZW5kIGhlYWRlcnMsIGl0J3MgcG9zc2libGUgaW4KdGhl IGZ1dHVyZS4KLS0tCiBzcmMvYmluL3BnX3Jlc2V0d2FsL3BnX3Jlc2V0d2FsLmMgfCA2ICsr Ky0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX3Jlc2V0d2FsL3BnX3Jlc2V0d2FsLmMgYi9zcmMv YmluL3BnX3Jlc2V0d2FsL3BnX3Jlc2V0d2FsLmMKaW5kZXggZjljZmVhZTI2NC4uYzllZGVi NTRkMyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19yZXNldHdhbC9wZ19yZXNldHdhbC5jCisr KyBiL3NyYy9iaW4vcGdfcmVzZXR3YWwvcGdfcmVzZXR3YWwuYwpAQCAtNzYsNyArNzYsNyBA QCBzdGF0aWMgaW50CVdhbFNlZ1N6Owogc3RhdGljIGludAlzZXRfd2FsX3NlZ3NpemU7CiAK IHN0YXRpYyB2b2lkIENoZWNrRGF0YVZlcnNpb24odm9pZCk7Ci1zdGF0aWMgYm9vbCBSZWFk Q29udHJvbEZpbGUodm9pZCk7CitzdGF0aWMgYm9vbCByZWFkX2NvbnRyb2xmaWxlKHZvaWQp Owogc3RhdGljIHZvaWQgR3Vlc3NDb250cm9sVmFsdWVzKHZvaWQpOwogc3RhdGljIHZvaWQg UHJpbnRDb250cm9sVmFsdWVzKGJvb2wgZ3Vlc3NlZCk7CiBzdGF0aWMgdm9pZCBQcmludE5l d0NvbnRyb2xWYWx1ZXModm9pZCk7CkBAIC0zOTMsNyArMzkzLDcgQEAgbWFpbihpbnQgYXJn YywgY2hhciAqYXJndltdKQogCS8qCiAJICogQXR0ZW1wdCB0byByZWFkIHRoZSBleGlzdGlu ZyBwZ19jb250cm9sIGZpbGUKIAkgKi8KLQlpZiAoIVJlYWRDb250cm9sRmlsZSgpKQorCWlm ICghcmVhZF9jb250cm9sZmlsZSgpKQogCQlHdWVzc0NvbnRyb2xWYWx1ZXMoKTsKIAogCS8q CkBAIC01NzgsNyArNTc4LDcgQEAgQ2hlY2tEYXRhVmVyc2lvbih2b2lkKQogICogdG8gdGhl IGN1cnJlbnQgZm9ybWF0LiAgKEN1cnJlbnRseSB3ZSBkb24ndCBkbyBhbnl0aGluZyBvZiB0 aGUgc29ydC4pCiAgKi8KIHN0YXRpYyBib29sCi1SZWFkQ29udHJvbEZpbGUodm9pZCkKK3Jl YWRfY29udHJvbGZpbGUodm9pZCkKIHsKIAlpbnQJCQlmZDsKIAlpbnQJCQlsZW47Ci0tIAoy LjI1LjAKCg== --------------0DA66935E7760217A20E2A2F Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0002-Reformat-code-comment.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0002-Reformat-code-comment.patch" RnJvbSA5MWM4MTY1MzNhOWU3OTYyMzU3NmE5MzAzYjJhNzkzZWU3MTNlYWVkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAxNyBGZWIgMjAyMCAxNzo0NjozNyArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMi8zXSBSZWZvcm1hdCBjb2RlIGNvbW1lbnQKCi0tLQogc3JjL2JhY2tlbmQv YWNjZXNzL3RyYW5zYW0veGxvZy5jIHwgMjEgKysrKysrKysrKystLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jIGIvc3JjL2JhY2tlbmQv YWNjZXNzL3RyYW5zYW0veGxvZy5jCmluZGV4IDM4MTNlYWRmYjQuLmIwMTdmZDI4NmYgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cuYworKysgYi9zcmMv YmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nLmMKQEAgLTYyOTcsMTYgKzYyOTcsMTcgQEAg U3RhcnR1cFhMT0codm9pZCkKIAogCS8qLS0tLS0tLS0tLQogCSAqIElmIHdlIHByZXZpb3Vz bHkgY3Jhc2hlZCwgcGVyZm9ybSBhIGNvdXBsZSBvZiBhY3Rpb25zOgotCSAqCS0gVGhlIHBn X3dhbCBkaXJlY3RvcnkgbWF5IHN0aWxsIGluY2x1ZGUgc29tZSB0ZW1wb3JhcnkgV0FMIHNl Z21lbnRzCi0JICogdXNlZCB3aGVuIGNyZWF0aW5nIGEgbmV3IHNlZ21lbnQsIHNvIHBlcmZv cm0gc29tZSBjbGVhbiB1cCB0byBub3QKLQkgKiBibG9hdCB0aGlzIHBhdGguICBUaGlzIGlz IGRvbmUgZmlyc3QgYXMgdGhlcmUgaXMgbm8gcG9pbnQgdG8gc3luYyB0aGlzCi0JICogdGVt cG9yYXJ5IGRhdGEuCi0JICoJLSBUaGVyZSBtaWdodCBiZSBkYXRhIHdoaWNoIHdlIGhhZCB3 cml0dGVuLCBpbnRlbmRpbmcgdG8gZnN5bmMgaXQsCi0JICogYnV0IHdoaWNoIHdlIGhhZCBu b3QgYWN0dWFsbHkgZnN5bmMnZCB5ZXQuIFRoZXJlZm9yZSwgYSBwb3dlciBmYWlsdXJlCi0J ICogaW4gdGhlIG5lYXIgZnV0dXJlIG1pZ2h0IGNhdXNlIGVhcmxpZXIgdW5mbHVzaGVkIHdy aXRlcyB0byBiZSBsb3N0LAotCSAqIGV2ZW4gdGhvdWdoIG1vcmUgcmVjZW50IGRhdGEgd3Jp dHRlbiB0byBkaXNrIGZyb20gaGVyZSBvbiB3b3VsZCBiZQotCSAqIHBlcnNpc3RlZC4gIFRv IGF2b2lkIHRoYXQsIGZzeW5jIHRoZSBlbnRpcmUgZGF0YSBkaXJlY3RvcnkuCi0JICotLS0t LS0tLS0KKwkgKgorCSAqIC0gVGhlIHBnX3dhbCBkaXJlY3RvcnkgbWF5IHN0aWxsIGluY2x1 ZGUgc29tZSB0ZW1wb3JhcnkgV0FMIHNlZ21lbnRzCisJICogICB1c2VkIHdoZW4gY3JlYXRp bmcgYSBuZXcgc2VnbWVudCwgc28gcGVyZm9ybSBzb21lIGNsZWFuIHVwIHRvIG5vdAorCSAq ICAgYmxvYXQgdGhpcyBwYXRoLiAgVGhpcyBpcyBkb25lIGZpcnN0IGFzIHRoZXJlIGlzIG5v IHBvaW50IHRvIHN5bmMKKwkgKiAgIHRoaXMgdGVtcG9yYXJ5IGRhdGEuCisJICoKKwkgKiAt IFRoZXJlIG1pZ2h0IGJlIGRhdGEgd2hpY2ggd2UgaGFkIHdyaXR0ZW4sIGludGVuZGluZyB0 byBmc3luYyBpdCwgYnV0CisJICogICB3aGljaCB3ZSBoYWQgbm90IGFjdHVhbGx5IGZzeW5j J2QgeWV0LiAgVGhlcmVmb3JlLCBhIHBvd2VyIGZhaWx1cmUgaW4KKwkgKiAgIHRoZSBuZWFy IGZ1dHVyZSBtaWdodCBjYXVzZSBlYXJsaWVyIHVuZmx1c2hlZCB3cml0ZXMgdG8gYmUgbG9z dCwgZXZlbgorCSAqICAgdGhvdWdoIG1vcmUgcmVjZW50IGRhdGEgd3JpdHRlbiB0byBkaXNr IGZyb20gaGVyZSBvbiB3b3VsZCBiZQorCSAqICAgcGVyc2lzdGVkLiAgVG8gYXZvaWQgdGhh dCwgZnN5bmMgdGhlIGVudGlyZSBkYXRhIGRpcmVjdG9yeS4KIAkgKi8KIAlpZiAoQ29udHJv bEZpbGUtPnN0YXRlICE9IERCX1NIVVRET1dORUQgJiYKIAkJQ29udHJvbEZpbGUtPnN0YXRl ICE9IERCX1NIVVRET1dORURfSU5fUkVDT1ZFUlkpCi0tIAoyLjI1LjAKCg== --------------0DA66935E7760217A20E2A2F Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0003-Factor-out-InitControlFile-from-BootStrapXLOG.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0003-Factor-out-InitControlFile-from-BootStrapXLOG.patch" RnJvbSAwY2ViYjE5ZjcxOWYxODk0MTQwZjEzNzM5ZjRhMTg1MWE5MjkxODZkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAxNyBGZWIgMjAyMCAxNzo1ODowMiArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMy8zXSBGYWN0b3Igb3V0IEluaXRDb250cm9sRmlsZSgpIGZyb20gQm9vdFN0 cmFwWExPRygpCgpSaWdodCBub3cgdGhpcyBvbmx5IG1ha2VzIEJvb3RTdHJhcFhMT0coKSBh IGJpdCBtb3JlIG1hbmFnZWFibGUsIGJ1dAppbiB0aGUgZnV0dXJlIHRoZXJlIG1heSBiZSBl eHRlcm5hbCBjYWxsZXJzLgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cu YyB8IDcwICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCAzOSBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJh bnNhbS94bG9nLmMKaW5kZXggYjAxN2ZkMjg2Zi4uZmQ1MjdmMjBjNSAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jCisrKyBiL3NyYy9iYWNrZW5kL2Fj Y2Vzcy90cmFuc2FtL3hsb2cuYwpAQCAtOTAzLDYgKzkwMyw3IEBAIHN0YXRpYyB2b2lkIENo ZWNrUmVjb3ZlcnlDb25zaXN0ZW5jeSh2b2lkKTsKIHN0YXRpYyBYTG9nUmVjb3JkICpSZWFk Q2hlY2twb2ludFJlY29yZChYTG9nUmVhZGVyU3RhdGUgKnhsb2dyZWFkZXIsCiAJCQkJCQkJ CQkJWExvZ1JlY1B0ciBSZWNQdHIsIGludCB3aGljaENoa3B0LCBib29sIHJlcG9ydCk7CiBz dGF0aWMgYm9vbCByZXNjYW5MYXRlc3RUaW1lTGluZSh2b2lkKTsKK3N0YXRpYyB2b2lkIElu aXRDb250cm9sRmlsZSh1aW50NjQgc3lzaWRlbnRpZmllcik7CiBzdGF0aWMgdm9pZCBXcml0 ZUNvbnRyb2xGaWxlKHZvaWQpOwogc3RhdGljIHZvaWQgUmVhZENvbnRyb2xGaWxlKHZvaWQp Owogc3RhdGljIGNoYXIgKnN0cl90aW1lKHBnX3RpbWVfdCB0bm93KTsKQEAgLTQ0ODYsMTIg KzQ0ODcsNDkgQEAgcmVzY2FuTGF0ZXN0VGltZUxpbmUodm9pZCkKICAqIGdpdmVuIGEgcHJl bG9hZGVkIGJ1ZmZlciwgUmVhZENvbnRyb2xGaWxlKCkgbG9hZHMgdGhlIGJ1ZmZlciBmcm9t CiAgKiB0aGUgcGdfY29udHJvbCBmaWxlIChkdXJpbmcgcG9zdG1hc3RlciBvciBzdGFuZGFs b25lLWJhY2tlbmQgc3RhcnR1cCksCiAgKiBhbmQgVXBkYXRlQ29udHJvbEZpbGUoKSByZXdy aXRlcyBwZ19jb250cm9sIGFmdGVyIHdlIG1vZGlmeSB4bG9nIHN0YXRlLgorICogSW5pdENv bnRyb2xGaWxlKCkgZmlsbHMgdGhlIGJ1ZmZlciB3aXRoIGluaXRpYWwgdmFsdWVzLgogICoK ICAqIEZvciBzaW1wbGljaXR5LCBXcml0ZUNvbnRyb2xGaWxlKCkgaW5pdGlhbGl6ZXMgdGhl IGZpZWxkcyBvZiBwZ19jb250cm9sCiAgKiB0aGF0IGFyZSByZWxhdGVkIHRvIGNoZWNraW5n IGJhY2tlbmQvZGF0YWJhc2UgY29tcGF0aWJpbGl0eSwgYW5kCiAgKiBSZWFkQ29udHJvbEZp bGUoKSB2ZXJpZmllcyB0aGV5IGFyZSBjb3JyZWN0LiAgV2UgY291bGQgc3BsaXQgb3V0IHRo ZQogICogSS9PIGFuZCBjb21wYXRpYmlsaXR5LWNoZWNrIGZ1bmN0aW9ucywgYnV0IHRoZXJl IHNlZW1zIG5vIG5lZWQgY3VycmVudGx5LgogICovCisKK3N0YXRpYyB2b2lkCitJbml0Q29u dHJvbEZpbGUodWludDY0IHN5c2lkZW50aWZpZXIpCit7CisJY2hhcgkJbW9ja19hdXRoX25v bmNlW01PQ0tfQVVUSF9OT05DRV9MRU5dOworCisJLyoKKwkgKiBHZW5lcmF0ZSBhIHJhbmRv bSBub25jZS4gVGhpcyBpcyB1c2VkIGZvciBhdXRoZW50aWNhdGlvbiByZXF1ZXN0cyB0aGF0 CisJICogd2lsbCBmYWlsIGJlY2F1c2UgdGhlIHVzZXIgZG9lcyBub3QgZXhpc3QuIFRoZSBu b25jZSBpcyB1c2VkIHRvIGNyZWF0ZQorCSAqIGEgZ2VudWluZS1sb29raW5nIHBhc3N3b3Jk IGNoYWxsZW5nZSBmb3IgdGhlIG5vbi1leGlzdGVudCB1c2VyLCBpbiBsaWV1CisJICogb2Yg YW4gYWN0dWFsIHN0b3JlZCBwYXNzd29yZC4KKwkgKi8KKwlpZiAoIXBnX3N0cm9uZ19yYW5k b20obW9ja19hdXRoX25vbmNlLCBNT0NLX0FVVEhfTk9OQ0VfTEVOKSkKKwkJZXJlcG9ydChQ QU5JQywKKwkJCQkoZXJyY29kZShFUlJDT0RFX0lOVEVSTkFMX0VSUk9SKSwKKwkJCQkgZXJy bXNnKCJjb3VsZCBub3QgZ2VuZXJhdGUgc2VjcmV0IGF1dGhvcml6YXRpb24gdG9rZW4iKSkp OworCisJbWVtc2V0KENvbnRyb2xGaWxlLCAwLCBzaXplb2YoQ29udHJvbEZpbGVEYXRhKSk7 CisJLyogSW5pdGlhbGl6ZSBwZ19jb250cm9sIHN0YXR1cyBmaWVsZHMgKi8KKwlDb250cm9s RmlsZS0+c3lzdGVtX2lkZW50aWZpZXIgPSBzeXNpZGVudGlmaWVyOworCW1lbWNweShDb250 cm9sRmlsZS0+bW9ja19hdXRoZW50aWNhdGlvbl9ub25jZSwgbW9ja19hdXRoX25vbmNlLCBN T0NLX0FVVEhfTk9OQ0VfTEVOKTsKKwlDb250cm9sRmlsZS0+c3RhdGUgPSBEQl9TSFVURE9X TkVEOworCUNvbnRyb2xGaWxlLT51bmxvZ2dlZExTTiA9IEZpcnN0Tm9ybWFsVW5sb2dnZWRM U047CisKKwkvKiBTZXQgaW1wb3J0YW50IHBhcmFtZXRlciB2YWx1ZXMgZm9yIHVzZSB3aGVu IHJlcGxheWluZyBXQUwgKi8KKwlDb250cm9sRmlsZS0+TWF4Q29ubmVjdGlvbnMgPSBNYXhD b25uZWN0aW9uczsKKwlDb250cm9sRmlsZS0+bWF4X3dvcmtlcl9wcm9jZXNzZXMgPSBtYXhf d29ya2VyX3Byb2Nlc3NlczsKKwlDb250cm9sRmlsZS0+bWF4X3dhbF9zZW5kZXJzID0gbWF4 X3dhbF9zZW5kZXJzOworCUNvbnRyb2xGaWxlLT5tYXhfcHJlcGFyZWRfeGFjdHMgPSBtYXhf cHJlcGFyZWRfeGFjdHM7CisJQ29udHJvbEZpbGUtPm1heF9sb2Nrc19wZXJfeGFjdCA9IG1h eF9sb2Nrc19wZXJfeGFjdDsKKwlDb250cm9sRmlsZS0+d2FsX2xldmVsID0gd2FsX2xldmVs OworCUNvbnRyb2xGaWxlLT53YWxfbG9nX2hpbnRzID0gd2FsX2xvZ19oaW50czsKKwlDb250 cm9sRmlsZS0+dHJhY2tfY29tbWl0X3RpbWVzdGFtcCA9IHRyYWNrX2NvbW1pdF90aW1lc3Rh bXA7CisJQ29udHJvbEZpbGUtPmRhdGFfY2hlY2tzdW1fdmVyc2lvbiA9IGJvb3RzdHJhcF9k YXRhX2NoZWNrc3VtX3ZlcnNpb247Cit9CisKIHN0YXRpYyB2b2lkCiBXcml0ZUNvbnRyb2xG aWxlKHZvaWQpCiB7CkBAIC01MDg4LDcgKzUxMjYsNiBAQCBCb290U3RyYXBYTE9HKHZvaWQp CiAJY2hhcgkgICAqcmVjcHRyOwogCWJvb2wJCXVzZV9leGlzdGVudDsKIAl1aW50NjQJCXN5 c2lkZW50aWZpZXI7Ci0JY2hhcgkJbW9ja19hdXRoX25vbmNlW01PQ0tfQVVUSF9OT05DRV9M RU5dOwogCXN0cnVjdCB0aW1ldmFsIHR2OwogCXBnX2NyYzMyYwljcmM7CiAKQEAgLTUxMDks MTcgKzUxNDYsNiBAQCBCb290U3RyYXBYTE9HKHZvaWQpCiAJc3lzaWRlbnRpZmllciB8PSAo KHVpbnQ2NCkgdHYudHZfdXNlYykgPDwgMTI7CiAJc3lzaWRlbnRpZmllciB8PSBnZXRwaWQo KSAmIDB4RkZGOwogCi0JLyoKLQkgKiBHZW5lcmF0ZSBhIHJhbmRvbSBub25jZS4gVGhpcyBp cyB1c2VkIGZvciBhdXRoZW50aWNhdGlvbiByZXF1ZXN0cyB0aGF0Ci0JICogd2lsbCBmYWls IGJlY2F1c2UgdGhlIHVzZXIgZG9lcyBub3QgZXhpc3QuIFRoZSBub25jZSBpcyB1c2VkIHRv IGNyZWF0ZQotCSAqIGEgZ2VudWluZS1sb29raW5nIHBhc3N3b3JkIGNoYWxsZW5nZSBmb3Ig dGhlIG5vbi1leGlzdGVudCB1c2VyLCBpbiBsaWV1Ci0JICogb2YgYW4gYWN0dWFsIHN0b3Jl ZCBwYXNzd29yZC4KLQkgKi8KLQlpZiAoIXBnX3N0cm9uZ19yYW5kb20obW9ja19hdXRoX25v bmNlLCBNT0NLX0FVVEhfTk9OQ0VfTEVOKSkKLQkJZXJlcG9ydChQQU5JQywKLQkJCQkoZXJy Y29kZShFUlJDT0RFX0lOVEVSTkFMX0VSUk9SKSwKLQkJCQkgZXJybXNnKCJjb3VsZCBub3Qg Z2VuZXJhdGUgc2VjcmV0IGF1dGhvcml6YXRpb24gdG9rZW4iKSkpOwotCiAJLyogRmlyc3Qg dGltZWxpbmUgSUQgaXMgYWx3YXlzIDEgKi8KIAlUaGlzVGltZUxpbmVJRCA9IDE7CiAKQEAg LTUyMjcsMzAgKzUyNTMsMTIgQEAgQm9vdFN0cmFwWExPRyh2b2lkKQogCW9wZW5Mb2dGaWxl ID0gLTE7CiAKIAkvKiBOb3cgY3JlYXRlIHBnX2NvbnRyb2wgKi8KLQotCW1lbXNldChDb250 cm9sRmlsZSwgMCwgc2l6ZW9mKENvbnRyb2xGaWxlRGF0YSkpOwotCS8qIEluaXRpYWxpemUg cGdfY29udHJvbCBzdGF0dXMgZmllbGRzICovCi0JQ29udHJvbEZpbGUtPnN5c3RlbV9pZGVu dGlmaWVyID0gc3lzaWRlbnRpZmllcjsKLQltZW1jcHkoQ29udHJvbEZpbGUtPm1vY2tfYXV0 aGVudGljYXRpb25fbm9uY2UsIG1vY2tfYXV0aF9ub25jZSwgTU9DS19BVVRIX05PTkNFX0xF Tik7Ci0JQ29udHJvbEZpbGUtPnN0YXRlID0gREJfU0hVVERPV05FRDsKKwlJbml0Q29udHJv bEZpbGUoc3lzaWRlbnRpZmllcik7CiAJQ29udHJvbEZpbGUtPnRpbWUgPSBjaGVja1BvaW50 LnRpbWU7CiAJQ29udHJvbEZpbGUtPmNoZWNrUG9pbnQgPSBjaGVja1BvaW50LnJlZG87CiAJ Q29udHJvbEZpbGUtPmNoZWNrUG9pbnRDb3B5ID0gY2hlY2tQb2ludDsKLQlDb250cm9sRmls ZS0+dW5sb2dnZWRMU04gPSBGaXJzdE5vcm1hbFVubG9nZ2VkTFNOOwotCi0JLyogU2V0IGlt cG9ydGFudCBwYXJhbWV0ZXIgdmFsdWVzIGZvciB1c2Ugd2hlbiByZXBsYXlpbmcgV0FMICov Ci0JQ29udHJvbEZpbGUtPk1heENvbm5lY3Rpb25zID0gTWF4Q29ubmVjdGlvbnM7Ci0JQ29u dHJvbEZpbGUtPm1heF93b3JrZXJfcHJvY2Vzc2VzID0gbWF4X3dvcmtlcl9wcm9jZXNzZXM7 Ci0JQ29udHJvbEZpbGUtPm1heF93YWxfc2VuZGVycyA9IG1heF93YWxfc2VuZGVyczsKLQlD b250cm9sRmlsZS0+bWF4X3ByZXBhcmVkX3hhY3RzID0gbWF4X3ByZXBhcmVkX3hhY3RzOwot CUNvbnRyb2xGaWxlLT5tYXhfbG9ja3NfcGVyX3hhY3QgPSBtYXhfbG9ja3NfcGVyX3hhY3Q7 Ci0JQ29udHJvbEZpbGUtPndhbF9sZXZlbCA9IHdhbF9sZXZlbDsKLQlDb250cm9sRmlsZS0+ d2FsX2xvZ19oaW50cyA9IHdhbF9sb2dfaGludHM7Ci0JQ29udHJvbEZpbGUtPnRyYWNrX2Nv bW1pdF90aW1lc3RhbXAgPSB0cmFja19jb21taXRfdGltZXN0YW1wOwotCUNvbnRyb2xGaWxl LT5kYXRhX2NoZWNrc3VtX3ZlcnNpb24gPSBib290c3RyYXBfZGF0YV9jaGVja3N1bV92ZXJz aW9uOwogCiAJLyogc29tZSBhZGRpdGlvbmFsIENvbnRyb2xGaWxlIGZpZWxkcyBhcmUgc2V0 IGluIFdyaXRlQ29udHJvbEZpbGUoKSAqLwotCiAJV3JpdGVDb250cm9sRmlsZSgpOwogCiAJ LyogQm9vdHN0cmFwIHRoZSBjb21taXQgbG9nLCB0b28gKi8KLS0gCjIuMjUuMAoK --------------0DA66935E7760217A20E2A2F--