Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k1QLb-0002jF-Cl for pgsql-hackers@arkaria.postgresql.org; Fri, 31 Jul 2020 08:24:59 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1k1QLY-0003uR-7l for pgsql-hackers@arkaria.postgresql.org; Fri, 31 Jul 2020 08:24:56 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k1QLX-0003uA-NY for pgsql-hackers@lists.postgresql.org; Fri, 31 Jul 2020 08:24:56 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k1QLQ-0000Lg-Cc for pgsql-hackers@postgresql.org; Fri, 31 Jul 2020 08:24:54 +0000 Received: from oss.nttdata.com (localhost [127.0.0.1]) by oss.nttdata.com (Postfix) with ESMTP id 81BC3600CB; Fri, 31 Jul 2020 17:24:44 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.102.3 at oss.nttdata.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_e0668aece236e77ab3cd711b775ec062" Date: Fri, 31 Jul 2020 17:24:44 +0900 From: torikoshia To: Kasahara Tatsuhito Cc: Andres Freund , Fujii Masao , PostgreSQL-development Subject: Re: Creating a function for exposing memory usage of backend process In-Reply-To: References: <78268b5f-53ed-4645-1abb-23c1030cce0a@oss.nttdata.com> <6c828f3a1d44dba81999fc7990b8f1c5@oss.nttdata.com> <062bab2db5645812fae12e3a965de463@oss.nttdata.com> <5cbed0cc-79fc-3b98-120a-20e07848d10a@oss.nttdata.com> <805313b5f7dc2e6c19b209ff930a7a61@oss.nttdata.com> <9ee242b1-9e70-18f5-0033-6a086e71164d@oss.nttdata.com> <3548926512ddfaedfb5eaf967bf2f196@oss.nttdata.com> <20200708170348.rsqry4b4k5mrsu7y@alap3.anarazel.de> <24ea05d7bbdb652feef50caee6fcfbf8@oss.nttdata.com> Message-ID: X-Sender: torikoshia@oss.nttdata.com User-Agent: Roundcube Webmail/1.1.9 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --=_e0668aece236e77ab3cd711b775ec062 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed On 2020-07-30 15:13, Kasahara Tatsuhito wrote: > Hi, > > On Fri, Jul 10, 2020 at 5:32 PM torikoshia > wrote: >> - whether information for identifying parent-child relation is >> necessary >> or it's an overkill > I think it's important to understand the parent-child relationship of > the context. > Personally, I often want to know the following two things .. > > - In which life cycle is the target context? (Remaining as long as the > process is living? per query?) > - Does the target context belong to the correct (parent) context? > >> - if this information is necessary, memory address is suitable or >> other >> means like assigning unique numbers are required > IMO, If each context can be uniquely identified (or easily guessed) by > "name" and "ident", > then I don't think the address information is necessary. > Instead, I like the way that directly shows the context name of the > parent, as in the 0005 patch. Thanks for your opinion! I also feel it'll be sufficient to know not the exact memory context of the parent but the name of the parent context. And as Fujii-san told me in person, exposing memory address seems not preferable considering there are security techniques like address space layout randomization. > On 2020-07-10 08:30:22 +0900, torikoshia wrote: >> On 2020-07-08 22:12, Fujii Masao wrote: >> Another comment about parent column is: dynahash can be parent? >> If yes, its indent instead of name should be displayed in parent >> column? > I'm not sure yet, but considering the changes in the future, it seems > better to do so. Attached a patch which displays ident as parent when dynahash is a parent. I could not find the case when dynahash can be a parent so I tested it using attached test purposed patch. Regards, -- Atsushi Torikoshi NTT DATA CORPORATION --=_e0668aece236e77ab3cd711b775ec062 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0007-Adding-a-function-exposing-memory-usage-of-local-backend.patch Content-Disposition: attachment; filename*0*=UTF-8''0007-Adding-a-function-exposing-memory-usage-of-local-; filename*1*=backend.patch; size=12675 RnJvbSAwNTVhZjkwM2EzZGJmMTQ2ZDk3ZGQzZmIwMWE2YTdkM2QzYmQyYWUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBdHN1c2hpIFRvcmlrb3NoaSA8dG9yaWtvc2hpYUBvc3MubnR0 ZGF0YS5jb20+CkRhdGU6IEZyaSwgMzEgSnVsIDIwMjAgMTY6MjA6MjkgKzA5MDAKU3ViamVjdDog W1BBVENIXSBBZGQgYSBmdW5jdGlvbiBleHBvc2luZyBtZW1vcnkgdXNhZ2Ugb2YgbG9jYWwgYmFj a2VuZC4KClRoaXMgcGF0Y2ggaW1wbGVtZW50cyBhIG5ldyBTUUwtY2FsbGFibGUgZnVuY3Rpb24K cGdfZ2V0X2JhY2tlbmRfbWVtb3J5X2NvbnRleHRzIHdoaWNoIGV4cG9zZXMgbWVtb3J5IHVzYWdl IG9mIHRoZQpsb2NhbCBiYWNrZW5kLgpJdCBhbHNvIGFkZHMgYSBuZXcgdmlldyBwZ19iYWNrZW5k X21lbW9yeV9jb250ZXh0cyBmb3IgZXhwb3NpbmcKbG9jYWwgYmFja2VuZCBtZW1vcnkgY29udGV4 dHMuCgotLS0KIGRvYy9zcmMvc2dtbC9jYXRhbG9ncy5zZ21sICAgICAgICAgICB8IDEyMiArKysr KysrKysrKysrKysrKysrKysrKwogc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3Fs IHwgICAzICsKIHNyYy9iYWNrZW5kL3V0aWxzL21tZ3IvbWN4dC5jICAgICAgICB8IDE0MCArKysr KysrKysrKysrKysrKysrKysrKysrKysKIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQg ICAgICB8ICAgOSArKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgIHwgIDEw ICsrCiA1IGZpbGVzIGNoYW5nZWQsIDI4NCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZG9j L3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwgYi9kb2Mvc3JjL3NnbWwvY2F0YWxvZ3Muc2dtbAppbmRl eCAyNmZkYTIwZDE5Li41YmZjOTgzYTkwIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvY2F0YWxv Z3Muc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvY2F0YWxvZ3Muc2dtbApAQCAtOTI2Niw2ICs5MjY2 LDExIEBAIFNDUkFNLVNIQS0yNTYkPHJlcGxhY2VhYmxlPiZsdDtpdGVyYXRpb24gY291bnQmZ3Q7 PC9yZXBsYWNlYWJsZT46PHJlcGxhY2VhYmxlPiZsCiAgICAgICA8ZW50cnk+bWF0ZXJpYWxpemVk IHZpZXdzPC9lbnRyeT4KICAgICAgPC9yb3c+CiAKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeT48 bGluayBsaW5rZW5kPSJ2aWV3LXBnLWJhY2tlbmQtbWVtb3J5LWNvbnRleHRzIj48c3RydWN0bmFt ZT5wZ19iYWNrZW5kX21lbW9yeV9jb250ZXh0czwvc3RydWN0bmFtZT48L2xpbms+PC9lbnRyeT4K KyAgICAgIDxlbnRyeT5iYWNrZW5kIG1lbW9yeSBjb250ZXh0czwvZW50cnk+CisgICAgIDwvcm93 PgorCiAgICAgIDxyb3c+CiAgICAgICA8ZW50cnk+PGxpbmsgbGlua2VuZD0idmlldy1wZy1wb2xp Y2llcyI+PHN0cnVjdG5hbWU+cGdfcG9saWNpZXM8L3N0cnVjdG5hbWU+PC9saW5rPjwvZW50cnk+ CiAgICAgICA8ZW50cnk+cG9saWNpZXM8L2VudHJ5PgpAQCAtMTA1NDQsNiArMTA1NDksMTIzIEBA IFNFTEVDVCAqIEZST00gcGdfbG9ja3MgcGwgTEVGVCBKT0lOIHBnX3ByZXBhcmVkX3hhY3RzIHBw eAogCiAgPC9zZWN0MT4KIAorIDxzZWN0MSBpZD0idmlldy1wZy1iYWNrZW5kLW1lbW9yeS1jb250 ZXh0cyI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19iYWNrZW5kX21lbW9yeV9jb250ZXh0czwv c3RydWN0bmFtZT48L3RpdGxlPgorCisgIDxpbmRleHRlcm0gem9uZT0idmlldy1wZy1iYWNrZW5k LW1lbW9yeS1jb250ZXh0cyI+CisgICA8cHJpbWFyeT5wZ19iYWNrZW5kX21lbW9yeV9jb250ZXh0 czwvcHJpbWFyeT4KKyAgPC9pbmRleHRlcm0+CisKKyAgPHBhcmE+CisgICBUaGUgdmlldyA8c3Ry dWN0bmFtZT5wZ19iYWNrZW5kX21lbW9yeV9jb250ZXh0czwvc3RydWN0bmFtZT4gZGlzcGxheXMg YWxsCisgICB0aGUgbG9jYWwgYmFja2VuZCBtZW1vcnkgY29udGV4dHMuCisgIDwvcGFyYT4KKyAg PHBhcmE+CisgICA8c3RydWN0bmFtZT5wZ19iYWNrZW5kX21lbW9yeV9jb250ZXh0czwvc3RydWN0 bmFtZT4gY29udGFpbnMgb25lIHJvdworICAgZm9yIGVhY2ggbWVtb3J5IGNvbnRleHQuCisgIDwv cGFyYT4KKworICA8dGFibGU+CisgICA8dGl0bGU+PHN0cnVjdG5hbWU+cGdfYmFja2VuZF9tZW1v cnlfY29udGV4dHM8L3N0cnVjdG5hbWU+IENvbHVtbnM8L3RpdGxlPgorICAgPHRncm91cCBjb2xz PSIxIj4KKyAgICA8dGhlYWQ+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxv Z190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIENv bHVtbiBUeXBlCisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBEZXNjcmlwdGlv bgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorICAgIDwvdGhlYWQ+CisKKyAg ICA8dGJvZHk+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9l bnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD5uYW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+dGV4dDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgIE5hbWUgb2YgdGhlIG1lbW9yeSBjb250ZXh0CisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPmlkZW50PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+dGV4dDwvdHlwZT4K KyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIElkZW50aWZpY2F0aW9uIGluZm9y bWF0aW9uIG9mIHRoZSBtZW1vcnkgY29udGV4dC4gVGhpcyBmaWVsZCBpcyB0cnVuY2F0ZWQgYXQg MTAyNCBieXRlcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5wYXJlbnQ8L3N0cnVjdGZp ZWxkPiA8dHlwZT50ZXh0PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgTmFtZSBvZiB0aGUgcGFyZW50IG9mIHRoaXMgbWVtb3J5IGNvbnRleHQKKyAgICAgIDwvcGFy YT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9 ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAg ICAgICA8c3RydWN0ZmllbGQ+bGV2ZWw8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ0PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgRGlzdGFuY2UgZnJvbSBUb3BNZW1v cnlDb250ZXh0IGluIGNvbnRleHQgdHJlZQorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD50 b3RhbF9ieXRlczwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICBUb3RhbCBieXRlcyBhbGxvY2F0ZWQgZm9yIHRoaXMgbWVt b3J5IGNvbnRleHQKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+dG90YWxfbmJsb2Nrczwv c3RydWN0ZmllbGQ+IDx0eXBlPmludDg8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICBUb3RhbCBudW1iZXIgb2YgYmxvY2tzIGFsbG9jYXRlZCBmb3IgdGhpcyBtZW1v cnkgY29udGV4dAorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5mcmVlX2J5dGVzPC9zdHJ1 Y3RmaWVsZD4gPHR5cGU+aW50ODwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgor ICAgICAgIEZyZWUgc3BhY2UgaW4gYnl0ZXMKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8 L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50 cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ ZnJlZV9jaHVua3M8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQ4PC90eXBlPgorICAgICAgPC9wYXJh PgorICAgICAgPHBhcmE+CisgICAgICAgVG90YWwgbnVtYmVyIG9mIGZyZWUgY2h1bmtzCisgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRy eSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlv biI+CisgICAgICAgPHN0cnVjdGZpZWxkPnVzZWRfYnl0ZXM8L3N0cnVjdGZpZWxkPiA8dHlwZT5p bnQ4PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgVXNlZCBzcGFj ZSBpbiBieXRlcworICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorICAgIDwvdGJv ZHk+CisgICA8L3Rncm91cD4KKyAgPC90YWJsZT4KKworIDwvc2VjdDE+CisKICA8c2VjdDEgaWQ9 InZpZXctcGctbWF0dmlld3MiPgogICA8dGl0bGU+PHN0cnVjdG5hbWU+cGdfbWF0dmlld3M8L3N0 cnVjdG5hbWU+PC90aXRsZT4KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0 ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCmluZGV4 IDg2MjVjYmVhYjYuLmJhNWEyM2FjMjUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cv c3lzdGVtX3ZpZXdzLnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5z cWwKQEAgLTU1NCw2ICs1NTQsOSBAQCBDUkVBVEUgVklFVyBwZ19zaG1lbV9hbGxvY2F0aW9ucyBB UwogUkVWT0tFIEFMTCBPTiBwZ19zaG1lbV9hbGxvY2F0aW9ucyBGUk9NIFBVQkxJQzsKIFJFVk9L RSBFWEVDVVRFIE9OIEZVTkNUSU9OIHBnX2dldF9zaG1lbV9hbGxvY2F0aW9ucygpIEZST00gUFVC TElDOwogCitDUkVBVEUgVklFVyBwZ19iYWNrZW5kX21lbW9yeV9jb250ZXh0cyBBUworICAgIFNF TEVDVCAqIEZST00gcGdfZ2V0X2JhY2tlbmRfbWVtb3J5X2NvbnRleHRzKCk7CisKIC0tIFN0YXRp c3RpY3Mgdmlld3MKIAogQ1JFQVRFIFZJRVcgcGdfc3RhdF9hbGxfdGFibGVzIEFTCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC91dGlscy9tbWdyL21jeHQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL21t Z3IvbWN4dC5jCmluZGV4IGFiZGEyMmZhNTcuLmU0YzY5ZDkwZjYgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3V0aWxzL21tZ3IvbWN4dC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21tZ3IvbWN4 dC5jCkBAIC0yMSw4ICsyMSwxMCBAQAogCiAjaW5jbHVkZSAicG9zdGdyZXMuaCIKIAorI2luY2x1 ZGUgImZ1bmNhcGkuaCIKICNpbmNsdWRlICJtYi9wZ193Y2hhci5oIgogI2luY2x1ZGUgIm1pc2Nh ZG1pbi5oIgorI2luY2x1ZGUgInV0aWxzL2J1aWx0aW5zLmgiCiAjaW5jbHVkZSAidXRpbHMvbWVt ZGVidWcuaCIKICNpbmNsdWRlICJ1dGlscy9tZW11dGlscy5oIgogCkBAIC02Nyw2ICs2OSwxMiBA QCBzdGF0aWMgdm9pZCBNZW1vcnlDb250ZXh0U3RhdHNQcmludChNZW1vcnlDb250ZXh0IGNvbnRl eHQsIHZvaWQgKnBhc3N0aHJ1LAogI2RlZmluZSBBc3NlcnROb3RJbkNyaXRpY2FsU2VjdGlvbihj b250ZXh0KSBcCiAJQXNzZXJ0KENyaXRTZWN0aW9uQ291bnQgPT0gMCB8fCAoY29udGV4dCktPmFs bG93SW5Dcml0U2VjdGlvbikKIAorLyogLS0tLS0tLS0tLQorICogVGhlIG1heCBieXRlcyBmb3Ig c2hvd2luZyBpZGVudGlmaWVycyBvZiBNZW1vcnlDb250ZXh0LgorICogLS0tLS0tLS0tLQorICov CisjZGVmaW5lIE1FTU9SWV9DT05URVhUX0lERU5UX0RJU1BMQVlfU0laRQkxMDI0CisKIC8qKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKgogICoJICBFWFBPUlRFRCBST1VUSU5FUwkJCQkJCQkJCQkJCQkJICoK ICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKi8KQEAgLTEyMjAsMyArMTIyOCwxMzUgQEAgcGNob21wKGNv bnN0IGNoYXIgKmluKQogCQluLS07CiAJcmV0dXJuIHBuc3RyZHVwKGluLCBuKTsKIH0KKworLyoK KyAqIFB1dE1lbW9yeUNvbnRleHRzU3RhdHNUdXBsZVN0b3JlCisgKgkJT25lIHJlY3Vyc2lvbiBs ZXZlbCBmb3IgcGdfZ2V0X2JhY2tlbmRfbWVtb3J5X2NvbnRleHRzLgorICovCitzdGF0aWMgdm9p ZAorUHV0TWVtb3J5Q29udGV4dHNTdGF0c1R1cGxlU3RvcmUoVHVwbGVzdG9yZXN0YXRlICp0dXBz dG9yZSwKKwkJCQkJCQkJVHVwbGVEZXNjIHR1cGRlc2MsIE1lbW9yeUNvbnRleHQgY29udGV4dCwK KwkJCQkJCQkJTWVtb3J5Q29udGV4dCBwYXJlbnQsIGludCBsZXZlbCkKK3sKKyNkZWZpbmUgUEdf R0VUX0JBQ0tFTkRfTUVNT1JZX0NPTlRFWFRTX0NPTFMJOQorCURhdHVtCQl2YWx1ZXNbUEdfR0VU X0JBQ0tFTkRfTUVNT1JZX0NPTlRFWFRTX0NPTFNdOworCWJvb2wJCW51bGxzW1BHX0dFVF9CQUNL RU5EX01FTU9SWV9DT05URVhUU19DT0xTXTsKKwlNZW1vcnlDb250ZXh0Q291bnRlcnMgc3RhdDsK KwlNZW1vcnlDb250ZXh0IGNoaWxkOworCWNvbnN0IGNoYXIgKm5hbWUgPSBjb250ZXh0LT5uYW1l OworCWNvbnN0IGNoYXIgKmlkZW50ID0gY29udGV4dC0+aWRlbnQ7CisKKwlpZiAoY29udGV4dCA9 PSBOVUxMKQorCQlyZXR1cm47CisKKwkvKgorCSAqIFRvIGJlIGNvbnNpc3RlbnQgd2l0aCBsb2dn aW5nIG91dHB1dCwgd2UgbGFiZWwgZHluYWhhc2ggY29udGV4dHMKKwkgKiB3aXRoIGp1c3QgdGhl IGhhc2ggdGFibGUgbmFtZSBhcyB3aXRoIE1lbW9yeUNvbnRleHRTdGF0c1ByaW50KCkuCisJICov CisJaWYgKGlkZW50ICYmIHN0cmNtcChuYW1lLCAiZHluYWhhc2giKSA9PSAwKQorCXsKKwkJbmFt ZSA9IGlkZW50OworCQlpZGVudCA9IE5VTEw7CisJfQorCisJLyogRXhhbWluZSB0aGUgY29udGV4 dCBpdHNlbGYgKi8KKwltZW1zZXQoJnN0YXQsIDAsIHNpemVvZihzdGF0KSk7CisJKCpjb250ZXh0 LT5tZXRob2RzLT5zdGF0cykgKGNvbnRleHQsIE5VTEwsICh2b2lkICopICZsZXZlbCwgJnN0YXQp OworCisJbWVtc2V0KHZhbHVlcywgMCwgc2l6ZW9mKHZhbHVlcykpOworCW1lbXNldChudWxscywg MCwgc2l6ZW9mKG51bGxzKSk7CisKKwl2YWx1ZXNbMF0gPSBDU3RyaW5nR2V0VGV4dERhdHVtKG5h bWUpOworCisJaWYgKGlkZW50KQorCXsKKwkJaW50CQlpZGxlbiA9IHN0cmxlbihpZGVudCk7CisJ CWNoYXIJCWNsaXBwZWRfaWRlbnRbTUVNT1JZX0NPTlRFWFRfSURFTlRfRElTUExBWV9TSVpFXTsK KworCQkvKgorCQkgKiBTb21lIGlkZW50aWZpZXJzIHN1Y2ggYXMgU1FMIHF1ZXJ5IHN0cmluZyBj YW4gYmUgdmVyeSBsb25nLAorCQkgKiB0cnVuY2F0ZSBvdmVyc2l6ZSBpZGVudGlmaWVycy4KKwkJ ICovCisJCWlmIChpZGxlbiA+PSBNRU1PUllfQ09OVEVYVF9JREVOVF9ESVNQTEFZX1NJWkUpCisJ CQlpZGxlbiA9IHBnX21iY2xpcGxlbihpZGVudCwgaWRsZW4sIE1FTU9SWV9DT05URVhUX0lERU5U X0RJU1BMQVlfU0laRSAtIDEpOworCisJCW1lbWNweShjbGlwcGVkX2lkZW50LCBpZGVudCwgaWRs ZW4pOworCQljbGlwcGVkX2lkZW50W2lkbGVuXSA9ICdcMCc7CisJCXZhbHVlc1sxXSA9IENTdHJp bmdHZXRUZXh0RGF0dW0oY2xpcHBlZF9pZGVudCk7CisJfQorCWVsc2UKKwkJbnVsbHNbMV0gPSB0 cnVlOworCisJaWYgKHBhcmVudCA9PSBOVUxMKQorCQludWxsc1syXSA9IHRydWU7CisJZWxzZQor CQkvKgorCQkgKiBXZSBsYWJlbGVkIGR5bmFoYXNoIGNvbnRleHRzIHdpdGgganVzdCB0aGUgaGFz aCB0YWJsZSBuYW1lLgorCQkgKiBUbyBtYWtlIGl0IHBvc3NpYmxlIHRvIGlkZW50aWZ5IGl0cyBw YXJlbnQsIHdlIGFsc28gZGlzcGxheQorCQkgKiBwYXJlbnQncyBpZGVudCBoZXJlLgorCQkgKi8K KwkJaWYgKHBhcmVudC0+aWRlbnQgJiYgc3RyY21wKHBhcmVudC0+bmFtZSwgImR5bmFoYXNoIikg PT0gMCkKKwkJCXZhbHVlc1syXSA9IENTdHJpbmdHZXRUZXh0RGF0dW0ocGFyZW50LT5pZGVudCk7 CisJCWVsc2UKKwkJCXZhbHVlc1syXSA9IENTdHJpbmdHZXRUZXh0RGF0dW0ocGFyZW50LT5uYW1l KTsKKworCXZhbHVlc1szXSA9IEludDMyR2V0RGF0dW0obGV2ZWwpOworCXZhbHVlc1s0XSA9IElu dDY0R2V0RGF0dW0oc3RhdC50b3RhbHNwYWNlKTsKKwl2YWx1ZXNbNV0gPSBJbnQ2NEdldERhdHVt KHN0YXQubmJsb2Nrcyk7CisJdmFsdWVzWzZdID0gSW50NjRHZXREYXR1bShzdGF0LmZyZWVzcGFj ZSk7CisJdmFsdWVzWzddID0gSW50NjRHZXREYXR1bShzdGF0LmZyZWVjaHVua3MpOworCXZhbHVl c1s4XSA9IEludDY0R2V0RGF0dW0oc3RhdC50b3RhbHNwYWNlIC0gc3RhdC5mcmVlc3BhY2UpOwor CXR1cGxlc3RvcmVfcHV0dmFsdWVzKHR1cHN0b3JlLCB0dXBkZXNjLCB2YWx1ZXMsIG51bGxzKTsK KworCWZvciAoY2hpbGQgPSBjb250ZXh0LT5maXJzdGNoaWxkOyBjaGlsZCAhPSBOVUxMOyBjaGls ZCA9IGNoaWxkLT5uZXh0Y2hpbGQpCisJeworCQlQdXRNZW1vcnlDb250ZXh0c1N0YXRzVHVwbGVT dG9yZSh0dXBzdG9yZSwgdHVwZGVzYywKKwkJCQkJCQkJICBjaGlsZCwgY29udGV4dCwgbGV2ZWwg KyAxKTsKKwl9Cit9CisKKy8qCisgKiBwZ19nZXRfYmFja2VuZF9tZW1vcnlfY29udGV4dHMKKyAq CQlTUUwgU1JGIHNob3dpbmcgYmFja2VuZCBtZW1vcnkgY29udGV4dC4KKyAqLworRGF0dW0KK3Bn X2dldF9iYWNrZW5kX21lbW9yeV9jb250ZXh0cyhQR19GVU5DVElPTl9BUkdTKQoreworCVJldHVy blNldEluZm8gKnJzaW5mbyA9IChSZXR1cm5TZXRJbmZvICopIGZjaW5mby0+cmVzdWx0aW5mbzsK KwlUdXBsZURlc2MJdHVwZGVzYzsKKwlUdXBsZXN0b3Jlc3RhdGUgKnR1cHN0b3JlOworCU1lbW9y eUNvbnRleHQgcGVyX3F1ZXJ5X2N0eDsKKwlNZW1vcnlDb250ZXh0IG9sZGNvbnRleHQ7CisKKwkv KiBjaGVjayB0byBzZWUgaWYgY2FsbGVyIHN1cHBvcnRzIHVzIHJldHVybmluZyBhIHR1cGxlc3Rv cmUgKi8KKwlpZiAocnNpbmZvID09IE5VTEwgfHwgIUlzQShyc2luZm8sIFJldHVyblNldEluZm8p KQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQ UE9SVEVEKSwKKwkJCQkgZXJybXNnKCJzZXQtdmFsdWVkIGZ1bmN0aW9uIGNhbGxlZCBpbiBjb250 ZXh0IHRoYXQgY2Fubm90IGFjY2VwdCBhIHNldCIpKSk7CisJaWYgKCEocnNpbmZvLT5hbGxvd2Vk TW9kZXMgJiBTRlJNX01hdGVyaWFsaXplKSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29k ZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQkJIGVycm1zZygibWF0ZXJpYWxp emUgbW9kZSByZXF1aXJlZCwgYnV0IGl0IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCIp KSk7CisKKwkvKiBCdWlsZCBhIHR1cGxlIGRlc2NyaXB0b3IgZm9yIG91ciByZXN1bHQgdHlwZSAq LworCWlmIChnZXRfY2FsbF9yZXN1bHRfdHlwZShmY2luZm8sIE5VTEwsICZ0dXBkZXNjKSAhPSBU WVBFRlVOQ19DT01QT1NJVEUpCisJCWVsb2coRVJST1IsICJyZXR1cm4gdHlwZSBtdXN0IGJlIGEg cm93IHR5cGUiKTsKKworCXBlcl9xdWVyeV9jdHggPSByc2luZm8tPmVjb250ZXh0LT5lY3h0X3Bl cl9xdWVyeV9tZW1vcnk7CisJb2xkY29udGV4dCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhwZXJf cXVlcnlfY3R4KTsKKworCXR1cHN0b3JlID0gdHVwbGVzdG9yZV9iZWdpbl9oZWFwKHRydWUsIGZh bHNlLCB3b3JrX21lbSk7CisJcnNpbmZvLT5yZXR1cm5Nb2RlID0gU0ZSTV9NYXRlcmlhbGl6ZTsK Kwlyc2luZm8tPnNldFJlc3VsdCA9IHR1cHN0b3JlOworCXJzaW5mby0+c2V0RGVzYyA9IHR1cGRl c2M7CisKKwlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY29udGV4dCk7CisKKwlQdXRNZW1vcnlD b250ZXh0c1N0YXRzVHVwbGVTdG9yZSh0dXBzdG9yZSwgdHVwZGVzYywKKwkJCQkJCQkJVG9wTWVt b3J5Q29udGV4dCwgTlVMTCwgMCk7CisKKwkvKiBjbGVhbiB1cCBhbmQgcmV0dXJuIHRoZSB0dXBs ZXN0b3JlICovCisJdHVwbGVzdG9yZV9kb25lc3RvcmluZyh0dXBzdG9yZSk7CisKKwlyZXR1cm4g KERhdHVtKSAwOworfQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRh dCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggMDgyYTExZjI3MC4uMjc5 ODk5NzFkYiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysg Yi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC03ODA3LDYgKzc4MDcsMTUgQEAK ICAgcHJvYXJnbmFtZXMgPT4gJ3tuYW1lLG9mZixzaXplLGFsbG9jYXRlZF9zaXplfScsCiAgIHBy b3NyYyA9PiAncGdfZ2V0X3NobWVtX2FsbG9jYXRpb25zJyB9LAogCisjIG1lbW9yeSBjb250ZXh0 IG9mIGxvY2FsIGJhY2tlbmQKK3sgb2lkID0+ICcyMjgyJywgZGVzY3IgPT4gJ2luZm9ybWF0aW9u IGFib3V0IGFsbCBtZW1vcnkgY29udGV4dHMgb2YgbG9jYWwgYmFja2VuZCcsCisgIHByb25hbWUg PT4gJ3BnX2dldF9iYWNrZW5kX21lbW9yeV9jb250ZXh0cycsIHByb3Jvd3MgPT4gJzEwMCcsIHBy b3JldHNldCA9PiAndCcsCisgIHByb3ZvbGF0aWxlID0+ICd2JywgcHJvcGFyYWxsZWwgPT4gJ3In LCBwcm9yZXR0eXBlID0+ICdyZWNvcmQnLCBwcm9hcmd0eXBlcyA9PiAnJywKKyAgcHJvYWxsYXJn dHlwZXMgPT4gJ3t0ZXh0LHRleHQsdGV4dCxpbnQ0LGludDgsaW50OCxpbnQ4LGludDgsaW50OH0n LAorICBwcm9hcmdtb2RlcyA9PiAne28sbyxvLG8sbyxvLG8sbyxvfScsCisgIHByb2FyZ25hbWVz ID0+ICd7bmFtZSwgaWRlbnQsIHBhcmVudCwgbGV2ZWwsIHRvdGFsX2J5dGVzLCB0b3RhbF9uYmxv Y2tzLCBmcmVlX2J5dGVzLCBmcmVlX2NodW5rcywgdXNlZF9ieXRlc30nLAorICBwcm9zcmMgPT4g J3BnX2dldF9iYWNrZW5kX21lbW9yeV9jb250ZXh0cycgfSwKKwogIyBub24tcGVyc2lzdGVudCBz ZXJpZXMgZ2VuZXJhdG9yCiB7IG9pZCA9PiAnMTA2NicsIGRlc2NyID0+ICdub24tcGVyc2lzdGVu dCBzZXJpZXMgZ2VuZXJhdG9yJywKICAgcHJvbmFtZSA9PiAnZ2VuZXJhdGVfc2VyaWVzJywgcHJv cm93cyA9PiAnMTAwMCcsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1 bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CmluZGV4IDYwMTcz NGE2ZjEuLjJhMThkYzQyM2UgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv cnVsZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0CkBAIC0x MzI0LDYgKzEzMjQsMTYgQEAgcGdfYXZhaWxhYmxlX2V4dGVuc2lvbnN8IFNFTEVDVCBlLm5hbWUs CiAgICAgZS5jb21tZW50CiAgICBGUk9NIChwZ19hdmFpbGFibGVfZXh0ZW5zaW9ucygpIGUobmFt ZSwgZGVmYXVsdF92ZXJzaW9uLCBjb21tZW50KQogICAgICBMRUZUIEpPSU4gcGdfZXh0ZW5zaW9u IHggT04gKChlLm5hbWUgPSB4LmV4dG5hbWUpKSk7CitwZ19iYWNrZW5kX21lbW9yeV9jb250ZXh0 c3wgU0VMRUNUIHBnX2dldF9iYWNrZW5kX21lbW9yeV9jb250ZXh0cy5uYW1lLAorICAgIHBnX2dl dF9iYWNrZW5kX21lbW9yeV9jb250ZXh0cy5pZGVudCwKKyAgICBwZ19nZXRfYmFja2VuZF9tZW1v cnlfY29udGV4dHMucGFyZW50LAorICAgIHBnX2dldF9iYWNrZW5kX21lbW9yeV9jb250ZXh0cy5s ZXZlbCwKKyAgICBwZ19nZXRfYmFja2VuZF9tZW1vcnlfY29udGV4dHMudG90YWxfYnl0ZXMsCisg ICAgcGdfZ2V0X2JhY2tlbmRfbWVtb3J5X2NvbnRleHRzLnRvdGFsX25ibG9ja3MsCisgICAgcGdf Z2V0X2JhY2tlbmRfbWVtb3J5X2NvbnRleHRzLmZyZWVfYnl0ZXMsCisgICAgcGdfZ2V0X2JhY2tl bmRfbWVtb3J5X2NvbnRleHRzLmZyZWVfY2h1bmtzLAorICAgIHBnX2dldF9iYWNrZW5kX21lbW9y eV9jb250ZXh0cy51c2VkX2J5dGVzCisgICBGUk9NIHBnX2dldF9iYWNrZW5kX21lbW9yeV9jb250 ZXh0cygpIHBnX2dldF9iYWNrZW5kX21lbW9yeV9jb250ZXh0cyhuYW1lLCBpZGVudCwgcGFyZW50 LCBsZXZlbCwgdG90YWxfYnl0ZXMsIHRvdGFsX25ibG9ja3MsIGZyZWVfYnl0ZXMsIGZyZWVfY2h1 bmtzLCB1c2VkX2J5dGVzKTsKIHBnX2NvbmZpZ3wgU0VMRUNUIHBnX2NvbmZpZy5uYW1lLAogICAg IHBnX2NvbmZpZy5zZXR0aW5nCiAgICBGUk9NIHBnX2NvbmZpZygpIHBnX2NvbmZpZyhuYW1lLCBz ZXR0aW5nKTsKLS0gCjIuMTguMQoK --=_e0668aece236e77ab3cd711b775ec062 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=TEST-make-child-of-dynahash.patch Content-Disposition: attachment; filename=TEST-make-child-of-dynahash.patch; size=993 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2hhc2gvZHluYWhhc2guYyBiL3NyYy9iYWNr ZW5kL3V0aWxzL2hhc2gvZHluYWhhc2guYwppbmRleCA1OTQ4YjAxYWJjLi4yNDNlNzhiZDFkIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9oYXNoL2R5bmFoYXNoLmMKKysrIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvaGFzaC9keW5haGFzaC5jCkBAIC0zMzcsNiArMzM3LDEwIEBAIGhhc2hfY3Jl YXRlKGNvbnN0IGNoYXIgKnRhYm5hbWUsIGxvbmcgbmVsZW0sIEhBU0hDVEwgKmluZm8sIGludCBm bGFncykKIAl9CiAJZWxzZQogCXsKKwkJLyogdGVzdCAqLworCQlNZW1vcnlDb250ZXh0IGR5bmFf Y2hpbGQ7CisJCS8qIHRlc3QgZW5kKi8KKwogCQkvKiBDcmVhdGUgdGhlIGhhc2ggdGFibGUncyBw cml2YXRlIG1lbW9yeSBjb250ZXh0ICovCiAJCWlmIChmbGFncyAmIEhBU0hfQ09OVEVYVCkKIAkJ CUN1cnJlbnREeW5hSGFzaEN4dCA9IGluZm8tPmhjeHQ7CkBAIC0zNDUsNiArMzQ5LDEyIEBAIGhh c2hfY3JlYXRlKGNvbnN0IGNoYXIgKnRhYm5hbWUsIGxvbmcgbmVsZW0sIEhBU0hDVEwgKmluZm8s IGludCBmbGFncykKIAkJQ3VycmVudER5bmFIYXNoQ3h0ID0gQWxsb2NTZXRDb250ZXh0Q3JlYXRl KEN1cnJlbnREeW5hSGFzaEN4dCwKIAkJCQkJCQkJCQkJCSAgICJkeW5haGFzaCIsCiAJCQkJCQkJ CQkJCQkgICBBTExPQ1NFVF9ERUZBVUxUX1NJWkVTKTsKKwkJLyogdGVzdCAqLworCQlkeW5hX2No aWxkID0gQWxsb2NTZXRDb250ZXh0Q3JlYXRlKEN1cnJlbnREeW5hSGFzaEN4dCwKKwkJCQkJCQkJ CQkJCSAgICJkeW5hX2NoaWxkIiwKKwkJCQkJCQkJCQkJCSAgIEFMTE9DU0VUX0RFRkFVTFRfU0la RVMpOworCQlkeW5hX2NoaWxkLT5pZGVudCA9ICJkeW5hX2NoaWxkX2lkZW50IjsKKwkJLyogdGVz dCBlbmQgKi8KIAl9CiAKIAkvKiBJbml0aWFsaXplIHRoZSBoYXNoIGhlYWRlciwgcGx1cyBhIGNv cHkgb2YgdGhlIHRhYmxlIG5hbWUgKi8K --=_e0668aece236e77ab3cd711b775ec062--