From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 24BBE7F86 for ; Fri, 26 Jun 2015 12:17:08 -0500 (CDT) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay1.corp.sgi.com (Postfix) with ESMTP id 04ADB8F8037 for ; Fri, 26 Jun 2015 10:17:04 -0700 (PDT) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id CCVsQqbhbQoRDtTo (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 26 Jun 2015 10:17:03 -0700 (PDT) Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (Postfix) with ESMTPS id 47214CC08A for ; Fri, 26 Jun 2015 17:17:03 +0000 (UTC) Date: Fri, 26 Jun 2015 13:17:01 -0400 From: Brian Foster Subject: Re: [PATCH 08/17] mkfs: getbool is redundant Message-ID: <20150626171701.GD40750@bfoster.bfoster> References: <1434711726-13092-1-git-send-email-jtulak@redhat.com> <1434711726-13092-9-git-send-email-jtulak@redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1434711726-13092-9-git-send-email-jtulak@redhat.com> List-Id: XFS Filesystem from SGI List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xfs-bounces@oss.sgi.com Sender: xfs-bounces@oss.sgi.com To: Jan =?utf-8?B?xaR1bMOhaw==?= Cc: Dave Chinner , xfs@oss.sgi.com T24gRnJpLCBKdW4gMTksIDIwMTUgYXQgMDE6MDE6NTdQTSArMDIwMCwgSmFuIMWkdWzDoWsgd3Jv dGU6Cj4gRnJvbTogRGF2ZSBDaGlubmVyIDxkY2hpbm5lckByZWRoYXQuY29tPgo+IAo+IGdldGJv b2woKSBjYW4gYmUgcmVwbGFjZWQgd2l0aCBnZXRudW1fY2hlY2tlZCB3aXRoIGFwcHJvcHJpYXRl Cj4gbWluL21heCB2YWx1ZXMgc2V0IGZvciB0aGUgYm9vbGVhbiB2YXJpYWJsZXMuCj4gCj4gU2ln bmVkLW9mZi1ieTogRGF2ZSBDaGlubmVyIDxkY2hpbm5lckByZWRoYXQuY29tPgo+IFNpZ25lZC1v ZmYtYnk6IEphbiDFpHVsw6FrIDxqdHVsYWtAcmVkaGF0LmNvbT4KPiAtLS0KPiAgbWtmcy94ZnNf bWtmcy5jIHwgMTQ3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAxMDYgaW5zZXJ0aW9ucygrKSwgNDEgZGVs ZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL21rZnMveGZzX21rZnMuYyBiL21rZnMveGZzX21r ZnMuYwo+IGluZGV4IGQzZDFlMTEuLjM4MDM3NzkgMTAwNjQ0Cj4gLS0tIGEvbWtmcy94ZnNfbWtm cy5jCj4gKysrIGIvbWtmcy94ZnNfbWtmcy5jCj4gQEAgLTUzLDYgKzUzLDcgQEAgc3RhdGljIGxv bmcgbG9uZyBjdnRudW0odW5zaWduZWQgaW50IGJsb2Nrc2l6ZSwKPiAgCQkJdW5zaWduZWQgaW50 IHNlY3RvcnNpemUsIGNvbnN0IGNoYXIgKnMpOwo+ICAKPiAgI2RlZmluZSBNQVhfU1VCT1BUUwkx Ngo+ICsjZGVmaW5lIFNVQk9QVF9ORUVEU19WQUwJKC0xTEwpCj4gIHN0cnVjdCBvcHRfcGFyYW1z IHsKPiAgCWNvbnN0IGNoYXIJbmFtZTsKPiAgCWNvbnN0IGNoYXIJKnN1Ym9wdHNbTUFYX1NVQk9Q VFNdOwo+IEBAIC02MCw2ICs2MSw3IEBAIHN0cnVjdCBvcHRfcGFyYW1zIHsKPiAgCQlpbnQJCWlu ZGV4Owo+ICAJCWxvbmcgbG9uZwltaW52YWw7Cj4gIAkJbG9uZyBsb25nCW1heHZhbDsKPiArCQls b25nIGxvbmcJZGVmYXVsdHZhbDsKPiAgCX0JCXN1Ym9wdF9wYXJhbXNbTUFYX1NVQk9QVFNdOwo+ ICB9Owo+ICAKPiBAQCAtNzYsMTAgKzc4LDEyIEBAIGNvbnN0IHN0cnVjdCBvcHRfcGFyYW1zIGJv cHRzID0gewo+ICAJCXsgLmluZGV4ID0gQl9MT0csCj4gIAkJICAubWludmFsID0gWEZTX01JTl9C TE9DS1NJWkVfTE9HLAo+ICAJCSAgLm1heHZhbCA9IFhGU19NQVhfQkxPQ0tTSVpFX0xPRywKPiAr CQkgIC5kZWZhdWx0dmFsID0gU1VCT1BUX05FRURTX1ZBTCwKPiAgCQl9LAo+ICAJCXsgLmluZGV4 ID0gQl9TSVpFLAo+ICAJCSAgLm1pbnZhbCA9IFhGU19NSU5fQkxPQ0tTSVpFLAo+ICAJCSAgLm1h eHZhbCA9IFhGU19NQVhfQkxPQ0tTSVpFLAo+ICsJCSAgLmRlZmF1bHR2YWwgPSBTVUJPUFRfTkVF RFNfVkFMLAo+ICAJCX0sCj4gIAl9LAo+ICB9Owo+IEBAIC0xMjEsMzggKzEyNSw1NSBAQCBjb25z dCBzdHJ1Y3Qgb3B0X3BhcmFtcyBkb3B0cyA9IHsKPiAgCX0sCj4gIAkuc3Vib3B0X3BhcmFtcyA9 IHsKPiAgCQl7IC5pbmRleCA9IERfQUdDT1VOVCwKPiArCQkgIC5kZWZhdWx0dmFsID0gU1VCT1BU X05FRURTX1ZBTCwKPiAgCQl9LAo+ICAJCXsgLmluZGV4ID0gRF9GSUxFLAo+ICsJCSAgLm1pbnZh bCA9IDAsCj4gKwkJICAubWF4dmFsID0gMSwKPiArCQkgIC5kZWZhdWx0dmFsID0gMSwKPiAgCQl9 LAo+ICAJCXsgLmluZGV4ID0gRF9OQU1FLAo+ICsJCSAgLmRlZmF1bHR2YWwgPSBTVUJPUFRfTkVF RFNfVkFMLAo+ICAJCX0sCj4gIAkJeyAuaW5kZXggPSBEX1NJWkUsCj4gKwkJICAuZGVmYXVsdHZh bCA9IFNVQk9QVF9ORUVEU19WQUwsCj4gIAkJfSwKPiAgCQl7IC5pbmRleCA9IERfU1VOSVQsCj4g KwkJICAuZGVmYXVsdHZhbCA9IFNVQk9QVF9ORUVEU19WQUwsCj4gIAkJfSwKPiAgCQl7IC5pbmRl eCA9IERfU1dJRFRILAo+ICsJCSAgLmRlZmF1bHR2YWwgPSBTVUJPUFRfTkVFRFNfVkFMLAo+ICAJ CX0sCj4gIAkJeyAuaW5kZXggPSBEX0FHU0laRSwKPiArCQkgIC5kZWZhdWx0dmFsID0gU1VCT1BU X05FRURTX1ZBTCwKPiAgCQl9LAo+ICAJCXsgLmluZGV4ID0gRF9TVSwKPiArCQkgIC5kZWZhdWx0 dmFsID0gU1VCT1BUX05FRURTX1ZBTCwKPiAgCQl9LAo+ICAJCXsgLmluZGV4ID0gRF9TVywKPiAr CQkgIC5kZWZhdWx0dmFsID0gU1VCT1BUX05FRURTX1ZBTCwKPiAgCQl9LAo+ICAJCXsgLmluZGV4 ID0gRF9TRUNUTE9HLAo+ICAJCSAgLm1pbnZhbCA9IFhGU19NSU5fU0VDVE9SU0laRV9MT0csCj4g IAkJICAubWF4dmFsID0gWEZTX01BWF9TRUNUT1JTSVpFX0xPRywKPiArCQkgIC5kZWZhdWx0dmFs ID0gU1VCT1BUX05FRURTX1ZBTCwKPiAgCQl9LAo+ICAJCXsgLmluZGV4ID0gRF9TRUNUU0laRSwK PiAgCQkgIC5taW52YWwgPSBYRlNfTUlOX1NFQ1RPUlNJWkUsCj4gIAkJICAubWF4dmFsID0gWEZT X01BWF9TRUNUT1JTSVpFLAo+ICsJCSAgLmRlZmF1bHR2YWwgPSBTVUJPUFRfTkVFRFNfVkFMLAo+ ICAJCX0sCj4gIAkJeyAuaW5kZXggPSBEX05PQUxJR04sCj4gKwkJICAuZGVmYXVsdHZhbCA9IFNV Qk9QVF9ORUVEU19WQUwsCj4gIAkJfSwKPiAgCQl7IC5pbmRleCA9IERfUlRJTkhFUklULAo+ICsJ CSAgLmRlZmF1bHR2YWwgPSBTVUJPUFRfTkVFRFNfVkFMLAo+ICAJCX0sCgpJIGRvbid0IHRoaW5r IHRoZSBhYm92ZSB0d28gcmVxdWlyZSB2YWx1ZXMuCgo+ICAJCXsgLmluZGV4ID0gRF9QUk9KSU5I RVJJVCwKPiArCQkgIC5kZWZhdWx0dmFsID0gU1VCT1BUX05FRURTX1ZBTCwKPiAgCQl9LAo+ICAJ CXsgLmluZGV4ID0gRF9FWFRTWklOSEVSSVQsCj4gKwkJICAuZGVmYXVsdHZhbCA9IFNVQk9QVF9O RUVEU19WQUwsCj4gIAkJfSwKPiAgCX0sCj4gIH07Cj4gQEAgLTE4MSwyMCArMjAyLDMxIEBAIGNv bnN0IHN0cnVjdCBvcHRfcGFyYW1zIGlvcHRzID0gewo+ICAJfSwKPiAgCS5zdWJvcHRfcGFyYW1z ID0gewo+ICAJCXsgLmluZGV4ID0gSV9BTElHTiwKPiArCQkgIC5taW52YWwgPSAwLAo+ICsJCSAg Lm1heHZhbCA9IDEsCj4gKwkJICAuZGVmYXVsdHZhbCA9IDEsCj4gIAkJfSwKPiAgCQl7IC5pbmRl eCA9IElfTE9HLAo+ICAJCSAgLm1pbnZhbCA9IFhGU19ESU5PREVfTUlOX0xPRywKPiAgCQkgIC5t YXh2YWwgPSBYRlNfRElOT0RFX01BWF9MT0csCj4gKwkJICAuZGVmYXVsdHZhbCA9IFNVQk9QVF9O RUVEU19WQUwsCj4gIAkJfSwKPiAgCQl7IC5pbmRleCA9IElfTUFYUENULAo+ICsJCSAgLmRlZmF1 bHR2YWwgPSBTVUJPUFRfTkVFRFNfVkFMLAo+ICAJCX0sCj4gIAkJeyAuaW5kZXggPSBJX1BFUkJM T0NLLAo+ICsJCSAgLmRlZmF1bHR2YWwgPSBTVUJPUFRfTkVFRFNfVkFMLAo+ICAJCX0sCj4gIAkJ eyAuaW5kZXggPSBJX1NJWkUsCj4gKwkJICAuZGVmYXVsdHZhbCA9IFNVQk9QVF9ORUVEU19WQUws Cj4gIAkJfSwKPiAgCQl7IC5pbmRleCA9IElfQVRUUiwKPiArCQkgIC5kZWZhdWx0dmFsID0gU1VC T1BUX05FRURTX1ZBTCwKPiAgCQl9LAo+ICAJCXsgLmluZGV4ID0gSV9QUk9KSUQzMkJJVCwKPiAr CQkgIC5taW52YWwgPSAwLAo+ICsJCSAgLm1heHZhbCA9IDEsCj4gKwkJICAuZGVmYXVsdHZhbCA9 IDEsCgpOZWVkIHRvIGhhbmRsZSBzcGFyc2UgaGVyZSB0b28gb25jZSBpdCdzIGFkZGVkIHRvIHRo ZSBwcmV2aW91cyBwYXRjaC4KCj4gIAkJfSwKPiAgCX0sCj4gIH07Cj4gQEAgLTIzMCwzMiArMjYy LDUwIEBAIGNvbnN0IHN0cnVjdCBvcHRfcGFyYW1zIGxvcHRzID0gewo+ICAJfSwKPiAgCS5zdWJv cHRfcGFyYW1zID0gewo+ICAJCXsgLmluZGV4ID0gTF9BR05VTSwKPiArCQkgIC5kZWZhdWx0dmFs ID0gU1VCT1BUX05FRURTX1ZBTCwKPiAgCQl9LAo+ICAJCXsgLmluZGV4ID0gTF9JTlRFUk5BTCwK PiArCQkgIC5taW52YWwgPSAwLAo+ICsJCSAgLm1heHZhbCA9IDEsCj4gKwkJICAuZGVmYXVsdHZh bCA9IDEsCj4gIAkJfSwKPiAgCQl7IC5pbmRleCA9IExfU0laRSwKPiArCQkgIC5kZWZhdWx0dmFs ID0gU1VCT1BUX05FRURTX1ZBTCwKPiAgCQl9LAo+ICAJCXsgLmluZGV4ID0gTF9WRVJTSU9OLAo+ ICsJCSAgLmRlZmF1bHR2YWwgPSBTVUJPUFRfTkVFRFNfVkFMLAo+ICAJCX0sCj4gIAkJeyAuaW5k ZXggPSBMX1NVTklULAo+ICsJCSAgLmRlZmF1bHR2YWwgPSBTVUJPUFRfTkVFRFNfVkFMLAo+ICAJ CX0sCj4gIAkJeyAuaW5kZXggPSBMX1NVLAo+ICsJCSAgLmRlZmF1bHR2YWwgPSBTVUJPUFRfTkVF RFNfVkFMLAo+ICAJCX0sCj4gIAkJeyAuaW5kZXggPSBMX0RFViwKPiArCQkgIC5kZWZhdWx0dmFs ID0gU1VCT1BUX05FRURTX1ZBTCwKPiAgCQl9LAo+ICAJCXsgLmluZGV4ID0gTF9TRUNUTE9HLAo+ ICAJCSAgLm1pbnZhbCA9IFhGU19NSU5fU0VDVE9SU0laRV9MT0csCj4gIAkJICAubWF4dmFsID0g WEZTX01BWF9TRUNUT1JTSVpFX0xPRywKPiArCQkgIC5kZWZhdWx0dmFsID0gU1VCT1BUX05FRURT X1ZBTCwKPiAgCQl9LAo+ICAJCXsgLmluZGV4ID0gTF9TRUNUU0laRSwKPiAgCQkgIC5taW52YWwg PSBYRlNfTUlOX1NFQ1RPUlNJWkUsCj4gIAkJICAubWF4dmFsID0gWEZTX01BWF9TRUNUT1JTSVpF LAo+ICsJCSAgLmRlZmF1bHR2YWwgPSBTVUJPUFRfTkVFRFNfVkFMLAo+ICAJCX0sCj4gIAkJeyAu aW5kZXggPSBMX0ZJTEUsCj4gKwkJICAubWludmFsID0gMCwKPiArCQkgIC5tYXh2YWwgPSAxLAo+ ICsJCSAgLmRlZmF1bHR2YWwgPSAxLAo+ICAJCX0sCj4gIAkJeyAuaW5kZXggPSBMX05BTUUsCj4g KwkJICAuZGVmYXVsdHZhbCA9IFNVQk9QVF9ORUVEU19WQUwsCj4gIAkJfSwKPiAgCQl7IC5pbmRl eCA9IExfTEFaWVNCQ05UUiwKPiArCQkgIC5taW52YWwgPSAwLAo+ICsJCSAgLm1heHZhbCA9IDEs Cj4gKwkJICAuZGVmYXVsdHZhbCA9IDEsCj4gIAkJfSwKPiAgCX0sCj4gIH07Cj4gQEAgLTI3Nywx NCArMzI3LDIwIEBAIGNvbnN0IHN0cnVjdCBvcHRfcGFyYW1zIG5vcHRzID0gewo+ICAJCXsgLmlu ZGV4ID0gTl9MT0csCj4gIAkJICAubWludmFsID0gWEZTX01JTl9SRUNfRElSU0laRSwKPiAgCQkg IC5tYXh2YWwgPSBYRlNfTUFYX0JMT0NLU0laRV9MT0csCj4gKwkJICAuZGVmYXVsdHZhbCA9IFNV Qk9QVF9ORUVEU19WQUwsCj4gIAkJfSwKPiAgCQl7IC5pbmRleCA9IE5fU0laRSwKPiAgCQkgIC5t aW52YWwgPSAxIDw8IFhGU19NSU5fUkVDX0RJUlNJWkUsCj4gIAkJICAubWF4dmFsID0gWEZTX01B WF9CTE9DS1NJWkUsCj4gKwkJICAuZGVmYXVsdHZhbCA9IFNVQk9QVF9ORUVEU19WQUwsCj4gIAkJ fSwKPiAgCQl7IC5pbmRleCA9IE5fVkVSU0lPTiwKPiArCQkgIC5kZWZhdWx0dmFsID0gU1VCT1BU X05FRURTX1ZBTCwKPiAgCQl9LAo+ICAJCXsgLmluZGV4ID0gTl9GVFlQRSwKPiArCQkgIC5taW52 YWwgPSAwLAo+ICsJCSAgLm1heHZhbCA9IDEsCj4gKwkJICAuZGVmYXVsdHZhbCA9IDAsCj4gIAkJ fSwKPiAgCX0sCj4gIH07Cj4gQEAgLTMwOCwxNiArMzY0LDIyIEBAIGNvbnN0IHN0cnVjdCBvcHRf cGFyYW1zIHJvcHRzID0gewo+ICAJfSwKPiAgCS5zdWJvcHRfcGFyYW1zID0gewo+ICAJCXsgLmlu ZGV4ID0gUl9FWFRTSVpFLAo+ICsJCSAgLmRlZmF1bHR2YWwgPSBTVUJPUFRfTkVFRFNfVkFMLAo+ ICAJCX0sCj4gIAkJeyAuaW5kZXggPSBSX1NJWkUsCj4gKwkJICAuZGVmYXVsdHZhbCA9IFNVQk9Q VF9ORUVEU19WQUwsCj4gIAkJfSwKPiAgCQl7IC5pbmRleCA9IFJfREVWLAo+ICsJCSAgLmRlZmF1 bHR2YWwgPSBTVUJPUFRfTkVFRFNfVkFMLAo+ICAJCX0sCj4gIAkJeyAuaW5kZXggPSBSX0ZJTEUs Cj4gKwkJICAuZGVmYXVsdHZhbCA9IFNVQk9QVF9ORUVEU19WQUwsCgpUaGlzIHNob3VsZCBoYXZl IG1pbi9tYXgvZGVmYXVsdCBzaW1pbGFyIHRvIERfRklMRSwgeWVzPwoKPiAgCQl9LAo+ICAJCXsg LmluZGV4ID0gUl9OQU1FLAo+ICsJCSAgLmRlZmF1bHR2YWwgPSBTVUJPUFRfTkVFRFNfVkFMLAo+ ICAJCX0sCj4gIAkJeyAuaW5kZXggPSBSX05PQUxJR04sCj4gKwkJICAuZGVmYXVsdHZhbCA9IFNV Qk9QVF9ORUVEU19WQUwsCgpOb3Qgc3VyZSBhYm91dCB0aGlzIG9uZSwgZWl0aGVyLiBUaGVyZSdz IG5vIHZhbHVlIGFjY29yZGluZyB0byB0aGUgbWFuCnBhZ2UuCgo+ICAJCX0sCj4gIAl9LAo+ICB9 Owo+IEBAIC0zMzksMTggKzQwMSwyMiBAQCBjb25zdCBzdHJ1Y3Qgb3B0X3BhcmFtcyBzb3B0cyA9 IHsKPiAgCQl7IC5pbmRleCA9IFNfTE9HLAo+ICAJCSAgLm1pbnZhbCA9IFhGU19NSU5fU0VDVE9S U0laRV9MT0csCj4gIAkJICAubWF4dmFsID0gWEZTX01BWF9TRUNUT1JTSVpFX0xPRywKPiArCQkg IC5kZWZhdWx0dmFsID0gU1VCT1BUX05FRURTX1ZBTCwKPiAgCQl9LAo+ICAJCXsgLmluZGV4ID0g U19TRUNUTE9HLAo+ICAJCSAgLm1pbnZhbCA9IFhGU19NSU5fU0VDVE9SU0laRV9MT0csCj4gIAkJ ICAubWF4dmFsID0gWEZTX01BWF9TRUNUT1JTSVpFX0xPRywKPiArCQkgIC5kZWZhdWx0dmFsID0g U1VCT1BUX05FRURTX1ZBTCwKPiAgCQl9LAo+ICAJCXsgLmluZGV4ID0gU19TSVpFLAo+ICAJCSAg Lm1pbnZhbCA9IFhGU19NSU5fU0VDVE9SU0laRSwKPiAgCQkgIC5tYXh2YWwgPSBYRlNfTUFYX1NF Q1RPUlNJWkUsCj4gKwkJICAuZGVmYXVsdHZhbCA9IFNVQk9QVF9ORUVEU19WQUwsCj4gIAkJfSwK PiAgCQl7IC5pbmRleCA9IFNfU0VDVFNJWkUsCj4gIAkJICAubWludmFsID0gWEZTX01JTl9TRUNU T1JTSVpFLAo+ICAJCSAgLm1heHZhbCA9IFhGU19NQVhfU0VDVE9SU0laRSwKPiArCQkgIC5kZWZh dWx0dmFsID0gU1VCT1BUX05FRURTX1ZBTCwKPiAgCQl9LAo+ICAJfSwKPiAgfTsKPiBAQCAtMzY2 LDYgKzQzMiw5IEBAIGNvbnN0IHN0cnVjdCBvcHRfcGFyYW1zIG1vcHRzID0gewo+ICAJfSwKPiAg CS5zdWJvcHRfcGFyYW1zID0gewo+ICAJCXsgLmluZGV4ID0gTV9DUkMsCj4gKwkJICAubWludmFs ID0gMCwKPiArCQkgIC5tYXh2YWwgPSAxLAo+ICsJCSAgLmRlZmF1bHR2YWwgPSAwLAo+ICAJCX0s Cj4gIAl9LAoKSG93IGFib3V0IE1fRklOT0JUPwoKQnJpYW4KCj4gIH07Cj4gQEAgLTEyMDUsMjIg KzEyNzQsNiBAQCBnZXRudW0oCj4gIAlyZXR1cm4gaTsKPiAgfQo+ICAKPiAtc3RhdGljIGJvb2wK PiAtZ2V0Ym9vbCgKPiAtCWNvbnN0IGNoYXIJKnN0ciwKPiAtCWNvbnN0IGNoYXIJKmlsbGVnYWxf c3RyLAo+IC0JYm9vbAkJZGVmYXVsdF92YWwpCj4gLXsKPiAtCWxvbmcgbG9uZwljOwo+IC0KPiAt CWlmICghc3RyIHx8ICpzdHIgPT0gJ1wwJykKPiAtCQlyZXR1cm4gZGVmYXVsdF92YWw7Cj4gLQlj ID0gZ2V0bnVtKHN0ciwgMCwgMCwgZmFsc2UpOwo+IC0JaWYgKGMgPCAwIHx8IGMgPiAxKQo+IC0J CWlsbGVnYWwoc3RyLCBpbGxlZ2FsX3N0cik7Cj4gLQlyZXR1cm4gYyA/IHRydWUgOiBmYWxzZTsK PiAtfQo+IC0KPiAgc3RhdGljIF9fYXR0cmlidXRlX18oKG5vcmV0dXJuKSkgdm9pZAo+ICBpbGxl Z2FsX29wdGlvbigKPiAgCWNvbnN0IGNoYXIJKnZhbHVlLAo+IEBAIC0xMjM1LDE4ICsxMjg4LDI4 IEBAIGlsbGVnYWxfb3B0aW9uKAo+ICAKPiAgc3RhdGljIGludAo+ICBnZXRudW1fY2hlY2tlZCgK PiAtCWNvbnN0IGNoYXIJKnN0ciwKPiArCWNvbnN0IGNoYXIJCSpzdHIsCj4gIAljb25zdCBzdHJ1 Y3Qgb3B0X3BhcmFtcwkqb3B0cywKPiAtCWludAkJaW5kZXgpCj4gKwlpbnQJCQlpbmRleCkKPiAg ewo+IC0JbG9uZyBsb25nCWM7Cj4gKwljb25zdCBzdHJ1Y3Qgc3Vib3B0X3BhcmFtICpzcCA9ICZv cHRzLT5zdWJvcHRfcGFyYW1zW2luZGV4XTsKPiArCWxvbmcgbG9uZwkJYzsKPiAgCj4gLQlpZiAo IXN0ciB8fCAqc3RyID09ICdcMCcpCj4gKwlpZiAoc3AtPmluZGV4ICE9IGluZGV4KSB7Cj4gKwkJ ZnByaW50ZihzdGRlcnIsCj4gKwkoIkRldmVsb3BlciBzY3Jld2VkIHVwIG9wdGlvbiBwYXJzaW5n ICglZC8lZCkhIFBsZWFzZSByZXBvcnQhXG4iKSwKPiArCQkJc3AtPmluZGV4LCBpbmRleCk7Cj4g IAkJcmVxdmFsKG9wdHMtPm5hbWUsIChjaGFyICoqKW9wdHMtPnN1Ym9wdHMsIGluZGV4KTsKPiAr CX0KPiArCj4gKwlpZiAoIXN0ciB8fCAqc3RyID09ICdcMCcpIHsKPiArCQlpZiAoc3AtPmRlZmF1 bHR2YWwgPT0gU1VCT1BUX05FRURTX1ZBTCkKPiArCQkJcmVxdmFsKG9wdHMtPm5hbWUsIChjaGFy ICoqKW9wdHMtPnN1Ym9wdHMsIGluZGV4KTsKPiArCQlyZXR1cm4gc3AtPmRlZmF1bHR2YWw7Cj4g Kwl9Cj4gIAo+ICAJYyA9IGdldG51bShzdHIsIDAsIDAsIGZhbHNlKTsKPiAtCWlmIChjIDwgb3B0 cy0+c3Vib3B0X3BhcmFtc1tpbmRleF0ubWludmFsIHx8Cj4gLQkgICAgYyA+IG9wdHMtPnN1Ym9w dF9wYXJhbXNbaW5kZXhdLm1heHZhbCkKPiArCWlmIChjIDwgc3AtPm1pbnZhbCB8fCBjID4gc3At Pm1heHZhbCkKPiAgCQlpbGxlZ2FsX29wdGlvbihzdHIsIG9wdHMsIGluZGV4KTsKPiAgCXJldHVy biBjOwo+ICB9Cj4gQEAgLTE0NzAsOCArMTUzMyw4IEBAIG1haW4oCj4gIAkJCQkJZGFzaXplID0g MTsKPiAgCQkJCQlicmVhazsKPiAgCQkJCWNhc2UgRF9GSUxFOgo+IC0JCQkJCXhpLmRpc2ZpbGUg PSBnZXRib29sKHZhbHVlLCAiZCBmaWxlIiwKPiAtCQkJCQkJCSAgICAgdHJ1ZSk7Cj4gKwkJCQkJ eGkuZGlzZmlsZSA9IGdldG51bV9jaGVja2VkKHZhbHVlLAo+ICsJCQkJCQkJCSZkb3B0cywgRF9G SUxFKTsKPiAgCQkJCQlpZiAoeGkuZGlzZmlsZSAmJiAhTmZsYWcpCj4gIAkJCQkJCXhpLmRjcmVh dCA9IDE7Cj4gIAkJCQkJYnJlYWs7Cj4gQEAgLTE2MTMsOCArMTY3Niw4IEBAIG1haW4oCj4gIAkJ CQlzd2l0Y2ggKGdldHN1Ym9wdCgmcCwgKGNvbnN0cHApc3Vib3B0cywKPiAgCQkJCQkJICAmdmFs dWUpKSB7Cj4gIAkJCQljYXNlIElfQUxJR046Cj4gLQkJCQkJc2JfZmVhdC5pbm9kZV9hbGlnbiA9 IGdldGJvb2woCj4gLQkJCQkJCQl2YWx1ZSwgImkgYWxpZ24iLCB0cnVlKTsKPiArCQkJCQlzYl9m ZWF0Lmlub2RlX2FsaWduID0gZ2V0bnVtX2NoZWNrZWQoCj4gKwkJCQkJCQl2YWx1ZSwgJmlvcHRz LCBJX0FMSUdOKTsKPiAgCQkJCQlicmVhazsKPiAgCQkJCWNhc2UgSV9MT0c6Cj4gIAkJCQkJaWYg KGlsZmxhZykKPiBAQCAtMTY4NCw4ICsxNzQ3LDkgQEAgbWFpbigKPiAgCQkJCQlzYl9mZWF0LmF0 dHJfdmVyc2lvbiA9IGM7Cj4gIAkJCQkJYnJlYWs7Cj4gIAkJCQljYXNlIElfUFJPSklEMzJCSVQ6 Cj4gLQkJCQkJc2JfZmVhdC5wcm9qaWQxNmJpdCA9ICFnZXRib29sKHZhbHVlLAo+IC0JCQkJCQkJ ImkgcHJvamlkMzJiaXQiLCBmYWxzZSk7Cj4gKwkJCQkJc2JfZmVhdC5wcm9qaWQxNmJpdCA9Cj4g KwkJCQkJCSFnZXRudW1fY2hlY2tlZCh2YWx1ZSwgJmlvcHRzLAo+ICsJCQkJCQkJCUlfUFJPSklE MzJCSVQpOwo+ICAJCQkJCWJyZWFrOwo+ICAJCQkJY2FzZSBJX1NQSU5PREVTOgo+ICAJCQkJCWlm ICghdmFsdWUgfHwgKnZhbHVlID09ICdcMCcpCj4gQEAgLTE3MjMsOCArMTc4Nyw4IEBAIG1haW4o Cj4gIAkJCQkJaWYgKGxvZ2ludGVybmFsKQo+ICAJCQkJCQljb25mbGljdCgnbCcsIHN1Ym9wdHMs IExfSU5URVJOQUwsCj4gIAkJCQkJCQkgTF9GSUxFKTsKPiAtCQkJCQl4aS5saXNmaWxlID0gZ2V0 Ym9vbCh2YWx1ZSwgImwgZmlsZSIsCj4gLQkJCQkJCQkgICAgIHRydWUpOwo+ICsJCQkJCXhpLmxp c2ZpbGUgPSBnZXRudW1fY2hlY2tlZCh2YWx1ZSwKPiArCQkJCQkJCQkmbG9wdHMsIExfRklMRSk7 Cj4gIAkJCQkJaWYgKHhpLmxpc2ZpbGUpCj4gIAkJCQkJCXhpLmxjcmVhdCA9IDE7Cj4gIAkJCQkJ YnJlYWs7Cj4gQEAgLTE3MzcsOCArMTgwMSw4IEBAIG1haW4oCj4gIAkJCQkJaWYgKGxpZmxhZykK PiAgCQkJCQkJcmVzcGVjKCdsJywgc3Vib3B0cywgTF9JTlRFUk5BTCk7Cj4gIAo+IC0JCQkJCWxv Z2ludGVybmFsID0gZ2V0Ym9vbCh2YWx1ZSwKPiAtCQkJCQkJCSJsIGludGVybmFsIiwgdHJ1ZSk7 Cj4gKwkJCQkJbG9naW50ZXJuYWwgPSBnZXRudW1fY2hlY2tlZCh2YWx1ZSwKPiArCQkJCQkJCSZs b3B0cywgTF9JTlRFUk5BTCk7Cj4gIAkJCQkJbGlmbGFnID0gMTsKPiAgCQkJCQlicmVhazsKPiAg CQkJCWNhc2UgTF9TVToKPiBAQCAtMTgyNSw5ICsxODg5LDkgQEAgbWFpbigKPiAgCQkJCQlsc3Nm bGFnID0gMTsKPiAgCQkJCQlicmVhazsKPiAgCQkJCWNhc2UgTF9MQVpZU0JDTlRSOgo+IC0JCQkJ CXNiX2ZlYXQubGF6eV9zYl9jb3VudGVycyA9IGdldGJvb2woCj4gLQkJCQkJCQl2YWx1ZSwgImwg bGF6eS1jb3VudCIsCj4gLQkJCQkJCQl0cnVlKTsKPiArCQkJCQlzYl9mZWF0Lmxhenlfc2JfY291 bnRlcnMgPQo+ICsJCQkJCQlnZXRudW1fY2hlY2tlZCh2YWx1ZSwgJmxvcHRzLAo+ICsJCQkJCQkJ ICAgICAgIExfTEFaWVNCQ05UUik7Cj4gIAkJCQkJYnJlYWs7Cj4gIAkJCQlkZWZhdWx0Ogo+ICAJ CQkJCXVua25vd24oJ2wnLCB2YWx1ZSk7Cj4gQEAgLTE4NDgsOCArMTkxMiw5IEBAIG1haW4oCj4g IAkJCQlzd2l0Y2ggKGdldHN1Ym9wdCgmcCwgKGNvbnN0cHApc3Vib3B0cywKPiAgCQkJCQkJICAm dmFsdWUpKSB7Cj4gIAkJCQljYXNlIE1fQ1JDOgo+IC0JCQkJCXNiX2ZlYXQuY3Jjc19lbmFibGVk ID0gZ2V0Ym9vbCgKPiAtCQkJCQkJCXZhbHVlLCAibSBjcmMiLCBmYWxzZSk7Cj4gKwkJCQkJc2Jf ZmVhdC5jcmNzX2VuYWJsZWQgPQo+ICsJCQkJCQlnZXRudW1fY2hlY2tlZCh2YWx1ZSwgJm1vcHRz LAo+ICsJCQkJCQkJICAgICAgIE1fQ1JDKTsKPiAgCQkJCQlpZiAoc2JfZmVhdC5jcmNzX2VuYWJs ZWQgJiYgbmZ0eXBlKSB7Cj4gIAkJCQkJCWZwcmludGYoc3RkZXJyLAo+ICBfKCJjYW5ub3Qgc3Bl Y2lmeSBib3RoIC1tIGNyYz0xIGFuZCAtbiBmdHlwZVxuIikpOwo+IEBAIC0xOTMyLDggKzE5OTcs OCBAQCBfKCJjYW5ub3Qgc3BlY2lmeSBib3RoIC1tIGNyYz0xIGFuZCAtbiBmdHlwZVxuIikpOwo+ ICBfKCJjYW5ub3Qgc3BlY2lmeSBib3RoIC1tIGNyYz0xIGFuZCAtbiBmdHlwZVxuIikpOwo+ICAJ CQkJCQl1c2FnZSgpOwo+ICAJCQkJCX0KPiAtCQkJCQlzYl9mZWF0LmRpcmZ0eXBlID0gZ2V0Ym9v bCh2YWx1ZSwKPiAtCQkJCQkJCSAgICAgIm4gZnR5cGUiLCBmYWxzZSk7Cj4gKwkJCQkJc2JfZmVh dC5kaXJmdHlwZSA9IGdldG51bV9jaGVja2VkKHZhbHVlLAo+ICsJCQkJCQkJCSZub3B0cywgTl9G VFlQRSk7Cj4gIAkJCQkJbmZ0eXBlID0gMTsKPiAgCQkJCQlicmVhazsKPiAgCQkJCWRlZmF1bHQ6 Cj4gQEAgLTE5NzEsOCArMjAzNiw4IEBAIF8oImNhbm5vdCBzcGVjaWZ5IGJvdGggLW0gY3JjPTEg YW5kIC1uIGZ0eXBlXG4iKSk7Cj4gIAkJCQkJcnRleHRzaXplID0gdmFsdWU7Cj4gIAkJCQkJYnJl YWs7Cj4gIAkJCQljYXNlIFJfRklMRToKPiAtCQkJCQl4aS5yaXNmaWxlID0gZ2V0Ym9vbCh2YWx1 ZSwKPiAtCQkJCQkJCSAgICAgInIgZmlsZSIsIHRydWUpOwo+ICsJCQkJCXhpLnJpc2ZpbGUgPSBn ZXRudW1fY2hlY2tlZCh2YWx1ZSwKPiArCQkJCQkJCQkmcm9wdHMsIFJfRklMRSk7Cj4gIAkJCQkJ aWYgKHhpLnJpc2ZpbGUpCj4gIAkJCQkJCXhpLnJjcmVhdCA9IDE7Cj4gIAkJCQkJYnJlYWs7Cj4g LS0gCj4gMi4xLjAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+IHhmcyBtYWlsaW5nIGxpc3QKPiB4ZnNAb3NzLnNnaS5jb20KPiBodHRwOi8vb3Nz LnNnaS5jb20vbWFpbG1hbi9saXN0aW5mby94ZnMKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCnhmcyBtYWlsaW5nIGxpc3QKeGZzQG9zcy5zZ2kuY29tCmh0 dHA6Ly9vc3Muc2dpLmNvbS9tYWlsbWFuL2xpc3RpbmZvL3hmcwo=