Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1svIRj-00DtkF-5W for pgsql-hackers@arkaria.postgresql.org; Mon, 30 Sep 2024 15:36:24 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1svIRi-0028HW-6a for pgsql-hackers@arkaria.postgresql.org; Mon, 30 Sep 2024 15:36:22 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1svIRh-0028Fc-Jp for pgsql-hackers@lists.postgresql.org; Mon, 30 Sep 2024 15:36:21 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by makus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1svIRd-001oOV-28 for pgsql-hackers@postgresql.org; Mon, 30 Sep 2024 15:36:20 +0000 Received: from [192.168.11.3] (p3610184-ipxg13101funabasi.chiba.ocn.ne.jp [60.45.23.184]) by oss.nttdata.com (Postfix) with ESMTPSA id B465A609D9; Tue, 1 Oct 2024 00:36:12 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at oss.nttdata.com Content-Type: multipart/mixed; boundary="------------KoZoVnwcADb2D9HO2lKQrsd4" Message-ID: Date: Tue, 1 Oct 2024 00:36:11 +0900 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Add on_error and log_verbosity options to file_fdw Content-Language: en-US To: torikoshia Cc: Michael Paquier , sawada.mshk@gmail.com, Pgsql Hackers References: <841721f3ca9a69574a72eb141c83933c@oss.nttdata.com> <79a336ccebc70401625743686c41b81a@oss.nttdata.com> <5739a8ee4320a31ca04752fe3972aa73@oss.nttdata.com> <81844000-703c-408a-9296-14f5e176098d@oss.nttdata.com> <156b2c1bfe27441aa5e59a52d0af5142@oss.nttdata.com> <1b24fcc9-0f18-40bf-b532-ab4cbe4b9e32@oss.nttdata.com> <6383a9a5b90a36dbe60c6f30286d2254@oss.nttdata.com> From: Fujii Masao In-Reply-To: <6383a9a5b90a36dbe60c6f30286d2254@oss.nttdata.com> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------KoZoVnwcADb2D9HO2lKQrsd4 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 2024/09/26 21:57, torikoshia wrote: > Updated the patches. Thanks for updating the patches! I’ve made some changes based on your work, which are attached. Barring any objections, I'm thinking to push these patches. For patches 0001 and 0003, I ran pgindent and updated the commit message. Regarding patch 0002: - I updated the regression test to run ANALYZE on the file_fdw foreign table since the on_error option also affects the ANALYZE command. To ensure test stability, the test now runs ANALYZE with log_verbosity = 'silent'. - I removed the code that updated the count of skipped rows for the pg_stat_progress_copy view. As far as I know, file_fdw doesn’t currently support tracking pg_stat_progress_copy.tuples_processed. Supporting only tuples_skipped seems inconsistent, so I suggest creating a separate patch to extend file_fdw to track both tuples_processed and tuples_skipped in this view. - I refactored the for-loop handling on_error = 'ignore' in fileIterateForeignScan() by replacing it with a goto statement for improved readability. - I modified file_fdw to log a NOTICE message about skipped rows at the end of ANALYZE if any rows are skipped due to the on_error = 'ignore' setting. Regarding the "file contains XXX rows" message reported by the ANALYZE VERBOSE command on the file_fdw foreign table, what number should be reflected in XXX, especially when some rows are skipped due to on_error = 'ignore'? Currently, the count only includes valid rows, excluding any skipped rows. I haven't modified this code yet. Should we instead count all rows (valid and erroneous) and report that total? I noticed the code for reporting the number of skipped rows due to on_error = 'ignore' appears in three places. I’m considering creating a common function for this reporting to eliminate redundancy but haven’t implemented it yet. - I’ve updated the commit message and run pgindent. Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION --------------KoZoVnwcADb2D9HO2lKQrsd4 Content-Type: text/plain; charset=UTF-8; name="v6-0001-Add-log_verbosity-silent-support-to-COPY-command.patch" Content-Disposition: attachment; filename*0="v6-0001-Add-log_verbosity-silent-support-to-COPY-command.pat"; filename*1="ch" Content-Transfer-Encoding: base64 RnJvbSA2YmNmNTZkYzA1NTZiM2U5ZGVkNzIwMDIyOWMwNWM2OWU5YzRmZDZhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBdHN1c2hpIFRvcmlrb3NoaSA8dG9yaWtvc2hpYUBv c3MubnR0ZGF0YS5jb20+CkRhdGU6IFdlZCwgMjUgU2VwIDIwMjQgMjE6Mjg6MTUgKzA5MDAK U3ViamVjdDogW1BBVENIIHY2IDEvM10gQWRkIGxvZ192ZXJib3NpdHkgPSAnc2lsZW50JyBz dXBwb3J0IHRvIENPUFkgY29tbWFuZC4KClByZXZpb3VzbHksIHdoZW4gdGhlIG9uX2Vycm9y IG9wdGlvbiB3YXMgc2V0IHRvIGlnbm9yZSwgdGhlIENPUFkgY29tbWFuZAp3b3VsZCBhbHdh eXMgbG9nIE5PVElDRSBtZXNzYWdlcyBmb3IgaW5wdXQgcm93cyBkaXNjYXJkZWQgZHVlIHRv CmRhdGEgdHlwZSBpbmNvbXBhdGliaWxpdHkuIFVzZXJzIGhhZCBubyB3YXkgdG8gc3VwcHJl c3MgdGhlc2UgbWVzc2FnZXMuCgpUaGlzIGNvbW1pdCBpbnRyb2R1Y2VzIGEgbmV3IGxvZ192 ZXJib3NpdHkgc2V0dGluZywgJ3NpbGVudCcsCndoaWNoIHByZXZlbnRzIHRoZSBDT1BZIGNv bW1hbmQgZnJvbSBlbWl0dGluZyBOT1RJQ0UgbWVzc2FnZXMKd2hlbiBvbl9lcnJvciA9ICdp Z25vcmUnIGlzIHVzZWQsIGV2ZW4gaWYgcm93cyBhcmUgZGlzY2FyZGVkLgpUaGlzIGZlYXR1 cmUgaXMgcGFydGljdWxhcmx5IHVzZWZ1bCB3aGVuIHByb2Nlc3NpbmcgbWFsZm9ybWVkIGZp bGVzCmZyZXF1ZW50bHksIHdoZXJlIGEgZmxvb2Qgb2YgTk9USUNFIG1lc3NhZ2VzIGNhbiBi ZSB1bmRlc2lyYWJsZS4KCkZvciBleGFtcGxlLCB3aGVuIGZyZXF1ZW50bHkgbG9hZGluZyBt YWxmb3JtZWQgZmlsZXMgdmlhIHRoZSBDT1BZIGNvbW1hbmQKb3IgcXVlcnlpbmcgZm9yZWln biB0YWJsZXMgdXNpbmcgZmlsZV9mZHcgKHdpdGggYW4gdXBjb21pbmcgcGF0Y2ggdG8KYWRk IG9uX2Vycm9yIHN1cHBvcnQgZm9yIGZpbGVfZmR3KSwgdXNlcnMgbWF5IHByZWZlciB0byBz dXBwcmVzcwp0aGVzZSBtZXNzYWdlcyB0byByZWR1Y2UgbG9nIG5vaXNlIGFuZCBpbXByb3Zl IGNsYXJpdHkuCgpBdXRob3I6IEF0c3VzaGkgVG9yaWtvc2hpClJldmlld2VkLWJ5OiBGdWpp aSBNYXNhbwpEaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL2FiNTlkYWQxMDQ5MGVh MzczNGNmMDIyYjE2YzI0Y2ZkQG9zcy5udHRkYXRhLmNvbQotLS0KIGRvYy9zcmMvc2dtbC9y ZWYvY29weS5zZ21sICAgICAgICAgIHwgMTAgKysrKysrKy0tLQogc3JjL2JhY2tlbmQvY29t bWFuZHMvY29weS5jICAgICAgICAgfCAgNCArKystCiBzcmMvYmFja2VuZC9jb21tYW5kcy9j b3B5ZnJvbS5jICAgICB8ICAzICsrLQogc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5jICAg ICAgICAgfCAgMiArLQogc3JjL2luY2x1ZGUvY29tbWFuZHMvY29weS5oICAgICAgICAgfCAg NCArKystCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NvcHkyLm91dCB8ICA0ICsrKy0K IHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NvcHkyLnNxbCAgICAgIHwgIDQgKysrKwogNyBmaWxl cyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RvYy9zcmMvc2dtbC9yZWYvY29weS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9jb3B5 LnNnbWwKaW5kZXggMTUxOGFmOGEwNC4uZDg3Njg0YTViZSAxMDA2NDQKLS0tIGEvZG9jL3Ny Yy9zZ21sL3JlZi9jb3B5LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jb3B5LnNnbWwK QEAgLTQwNyw2ICs0MDcsOCBAQCBDT1BZIHsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbICggPHJlcGxhY2VhYmxlCiAgICAgICA8 bGl0ZXJhbD52ZXJib3NlPC9saXRlcmFsPiwgYSA8bGl0ZXJhbD5OT1RJQ0U8L2xpdGVyYWw+ IG1lc3NhZ2UKICAgICAgIGNvbnRhaW5pbmcgdGhlIGxpbmUgb2YgdGhlIGlucHV0IGZpbGUg YW5kIHRoZSBjb2x1bW4gbmFtZSB3aG9zZSBpbnB1dAogICAgICAgY29udmVyc2lvbiBoYXMg ZmFpbGVkIGlzIGVtaXR0ZWQgZm9yIGVhY2ggZGlzY2FyZGVkIHJvdy4KKyAgICAgIFdoZW4g aXQgaXMgc2V0IHRvIDxsaXRlcmFsPnNpbGVudDwvbGl0ZXJhbD4sIG5vIG1lc3NhZ2UgaXMg ZW1pdHRlZAorICAgICAgcmVnYXJkaW5nIGlnbm9yZWQgcm93cy4KICAgICAgPC9wYXJhPgog ICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KQEAgLTQyOCw5ICs0MzAsMTEg QEAgQ09QWSB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9y ZXBsYWNlYWJsZT4gWyAoIDxyZXBsYWNlYWJsZQogICAgIDxsaXN0aXRlbT4KICAgICAgPHBh cmE+CiAgICAgICBTcGVjaWZ5IHRoZSBhbW91bnQgb2YgbWVzc2FnZXMgZW1pdHRlZCBieSBh IDxjb21tYW5kPkNPUFk8L2NvbW1hbmQ+Ci0gICAgICBjb21tYW5kOiA8bGl0ZXJhbD5kZWZh dWx0PC9saXRlcmFsPiBvciA8bGl0ZXJhbD52ZXJib3NlPC9saXRlcmFsPi4gSWYKLSAgICAg IDxsaXRlcmFsPnZlcmJvc2U8L2xpdGVyYWw+IGlzIHNwZWNpZmllZCwgYWRkaXRpb25hbCBt ZXNzYWdlcyBhcmUgZW1pdHRlZAotICAgICAgZHVyaW5nIHByb2Nlc3NpbmcuCisgICAgICBj b21tYW5kOiA8bGl0ZXJhbD5kZWZhdWx0PC9saXRlcmFsPiwgPGxpdGVyYWw+dmVyYm9zZTwv bGl0ZXJhbD4sIG9yCisgICAgICA8bGl0ZXJhbD5zaWxlbnQ8L2xpdGVyYWw+LgorICAgICAg SWYgPGxpdGVyYWw+dmVyYm9zZTwvbGl0ZXJhbD4gaXMgc3BlY2lmaWVkLCBhZGRpdGlvbmFs IG1lc3NhZ2VzIGFyZQorICAgICAgZW1pdHRlZCBkdXJpbmcgcHJvY2Vzc2luZy4KKyAgICAg IDxsaXRlcmFsPnNpbGVudDwvbGl0ZXJhbD4gc3VwcHJlc3NlcyBib3RoIHZlcmJvc2UgYW5k IGRlZmF1bHQgbWVzc2FnZXMuCiAgICAgIDwvcGFyYT4KICAgICAgPHBhcmE+CiAgICAgICBU aGlzIGlzIGN1cnJlbnRseSB1c2VkIGluIDxjb21tYW5kPkNPUFkgRlJPTTwvY29tbWFuZD4g Y29tbWFuZCB3aGVuCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9jb3B5LmMg Yi9zcmMvYmFja2VuZC9jb21tYW5kcy9jb3B5LmMKaW5kZXggM2JiNTc5YTNhNC4uMDNlYjdh NGViYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvY29weS5jCisrKyBiL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL2NvcHkuYwpAQCAtNDI3LDkgKzQyNywxMSBAQCBkZWZHZXRD b3B5TG9nVmVyYm9zaXR5Q2hvaWNlKERlZkVsZW0gKmRlZiwgUGFyc2VTdGF0ZSAqcHN0YXRl KQogCWNoYXIJICAgKnN2YWw7CiAKIAkvKgotCSAqIEFsbG93ICJkZWZhdWx0Iiwgb3IgInZl cmJvc2UiIHZhbHVlcy4KKwkgKiBBbGxvdyAic2lsZW50IiwgImRlZmF1bHQiLCBvciAidmVy Ym9zZSIgdmFsdWVzLgogCSAqLwogCXN2YWwgPSBkZWZHZXRTdHJpbmcoZGVmKTsKKwlpZiAo cGdfc3RyY2FzZWNtcChzdmFsLCAic2lsZW50IikgPT0gMCkKKwkJcmV0dXJuIENPUFlfTE9H X1ZFUkJPU0lUWV9TSUxFTlQ7CiAJaWYgKHBnX3N0cmNhc2VjbXAoc3ZhbCwgImRlZmF1bHQi KSA9PSAwKQogCQlyZXR1cm4gQ09QWV9MT0dfVkVSQk9TSVRZX0RFRkFVTFQ7CiAJaWYgKHBn X3N0cmNhc2VjbXAoc3ZhbCwgInZlcmJvc2UiKSA9PSAwKQpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvY29weWZyb20uYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2NvcHlm cm9tLmMKaW5kZXggMmQzNDYyOTEzZS4uNDc4Nzk5OTRmNyAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvY29weWZyb20uYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9j b3B5ZnJvbS5jCkBAIC0xMzIwLDcgKzEzMjAsOCBAQCBDb3B5RnJvbShDb3B5RnJvbVN0YXRl IGNzdGF0ZSkKIAllcnJvcl9jb250ZXh0X3N0YWNrID0gZXJyY2FsbGJhY2sucHJldmlvdXM7 CiAKIAlpZiAoY3N0YXRlLT5vcHRzLm9uX2Vycm9yICE9IENPUFlfT05fRVJST1JfU1RPUCAm JgotCQljc3RhdGUtPm51bV9lcnJvcnMgPiAwKQorCQljc3RhdGUtPm51bV9lcnJvcnMgPiAw ICYmCisJCWNzdGF0ZS0+b3B0cy5sb2dfdmVyYm9zaXR5ID49IENPUFlfTE9HX1ZFUkJPU0lU WV9ERUZBVUxUKQogCQllcmVwb3J0KE5PVElDRSwKIAkJCQllcnJtc2dfcGx1cmFsKCIlbGx1 IHJvdyB3YXMgc2tpcHBlZCBkdWUgdG8gZGF0YSB0eXBlIGluY29tcGF0aWJpbGl0eSIsCiAJ CQkJCQkJICAiJWxsdSByb3dzIHdlcmUgc2tpcHBlZCBkdWUgdG8gZGF0YSB0eXBlIGluY29t cGF0aWJpbGl0eSIsCmRpZmYgLS1naXQgYS9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmMg Yi9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmMKaW5kZXggYTdjY2RlNmQ3ZC4uNjUzMGIw ZjFjZSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5jCisrKyBiL3Ny Yy9iaW4vcHNxbC90YWItY29tcGxldGUuYwpAQCAtMjkxNiw3ICsyOTE2LDcgQEAgcHNxbF9j b21wbGV0aW9uKGNvbnN0IGNoYXIgKnRleHQsIGludCBzdGFydCwgaW50IGVuZCkKIAogCS8q IENvbXBsZXRlIENPUFkgPHN0aD4gRlJPTSBmaWxlbmFtZSBXSVRIIChMT0dfVkVSQk9TSVRZ ICovCiAJZWxzZSBpZiAoTWF0Y2hlcygiQ09QWXxcXGNvcHkiLCBNYXRjaEFueSwgIkZST018 VE8iLCBNYXRjaEFueSwgIldJVEgiLCAiKCIsICJMT0dfVkVSQk9TSVRZIikpCi0JCUNPTVBM RVRFX1dJVEgoImRlZmF1bHQiLCAidmVyYm9zZSIpOworCQlDT01QTEVURV9XSVRIKCJzaWxl bnQiLCAiZGVmYXVsdCIsICJ2ZXJib3NlIik7CiAKIAkvKiBDb21wbGV0ZSBDT1BZIDxzdGg+ IEZST00gPHN0aD4gV0lUSCAoPG9wdGlvbnM+KSAqLwogCWVsc2UgaWYgKE1hdGNoZXMoIkNP UFl8XFxjb3B5IiwgTWF0Y2hBbnksICJGUk9NIiwgTWF0Y2hBbnksICJXSVRIIiwgTWF0Y2hB bnkpKQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvY29weS5oIGIvc3JjL2lu Y2x1ZGUvY29tbWFuZHMvY29weS5oCmluZGV4IDE0MWZkNDhkYzEuLjZmNjRkOTdmZGQgMTAw NjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL2NvcHkuaAorKysgYi9zcmMvaW5jbHVk ZS9jb21tYW5kcy9jb3B5LmgKQEAgLTQ1LDcgKzQ1LDkgQEAgdHlwZWRlZiBlbnVtIENvcHlP bkVycm9yQ2hvaWNlCiAgKi8KIHR5cGVkZWYgZW51bSBDb3B5TG9nVmVyYm9zaXR5Q2hvaWNl CiB7Ci0JQ09QWV9MT0dfVkVSQk9TSVRZX0RFRkFVTFQgPSAwLCAvKiBsb2dzIG5vIGFkZGl0 aW9uYWwgbWVzc2FnZXMsIGRlZmF1bHQgKi8KKwlDT1BZX0xPR19WRVJCT1NJVFlfU0lMRU5U ID0gLTEsIC8qIGxvZ3Mgbm9uZSAqLworCUNPUFlfTE9HX1ZFUkJPU0lUWV9ERUZBVUxUID0g MCwgLyogbG9ncyBubyBhZGRpdGlvbmFsIG1lc3NhZ2VzLiBBcyB0aGlzIGlzCisJCQkJCQkJ CQkgKiB0aGUgZGVmYXVsdCwgYXNzaWduIDAgKi8KIAlDT1BZX0xPR19WRVJCT1NJVFlfVkVS Qk9TRSwgLyogbG9ncyBhZGRpdGlvbmFsIG1lc3NhZ2VzICovCiB9IENvcHlMb2dWZXJib3Np dHlDaG9pY2U7CiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY29w eTIub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jb3B5Mi5vdXQKaW5kZXggNjFh MTljZGM0Yy4uNGU3NTI5NzdiNSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9jb3B5Mi5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jb3B5Mi5v dXQKQEAgLTc2MCw2ICs3NjAsNyBAQCBDT1BZIGNoZWNrX2lnbl9lcnIyIEZST00gU1RESU4g V0lUSCAob25fZXJyb3IgaWdub3JlLCBsb2dfdmVyYm9zaXR5IHZlcmJvc2UpOwogTk9USUNF OiAgc2tpcHBpbmcgcm93IGR1ZSB0byBkYXRhIHR5cGUgaW5jb21wYXRpYmlsaXR5IGF0IGxp bmUgMiBmb3IgY29sdW1uICJsIjogbnVsbCBpbnB1dAogQ09OVEVYVDogIENPUFkgY2hlY2tf aWduX2VycjIKIE5PVElDRTogIDEgcm93IHdhcyBza2lwcGVkIGR1ZSB0byBkYXRhIHR5cGUg aW5jb21wYXRpYmlsaXR5CitDT1BZIGNoZWNrX2lnbl9lcnIyIEZST00gU1RESU4gV0lUSCAo b25fZXJyb3IgaWdub3JlLCBsb2dfdmVyYm9zaXR5IHNpbGVudCk7CiAtLSByZXNldCBjb250 ZXh0IGNob2ljZQogXHNldCBTSE9XX0NPTlRFWFQgZXJyb3JzCiBTRUxFQ1QgKiBGUk9NIGNo ZWNrX2lnbl9lcnI7CkBAIC03NzQsNyArNzc1LDggQEAgU0VMRUNUICogRlJPTSBjaGVja19p Z25fZXJyMjsKICBuIHwgIG0gIHwgayB8ICAgbCAgIAogLS0tKy0tLS0tKy0tLSstLS0tLS0t CiAgMSB8IHsxfSB8IDEgfCAnZm9vJwotKDEgcm93KQorIDMgfCB7M30gfCAzIHwgJ2JhcicK KygyIHJvd3MpCiAKIC0tIHRlc3QgZGF0YXR5cGUgZXJyb3IgdGhhdCBjYW4ndCBiZSBoYW5k bGVkIGFzIHNvZnQ6IHNob3VsZCBmYWlsCiBDUkVBVEUgVEFCTEUgaGFyZF9lcnIoZm9vIHdp ZGdldCk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jb3B5Mi5zcWwgYi9z cmMvdGVzdC9yZWdyZXNzL3NxbC9jb3B5Mi5zcWwKaW5kZXggOGIxNDk2MjE5NC4uZmE2YWEx NzM0NCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY29weTIuc3FsCisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NvcHkyLnNxbApAQCAtNTMzLDYgKzUzMywxMCBAQCBD T1BZIGNoZWNrX2lnbl9lcnIyIEZST00gU1RESU4gV0lUSCAob25fZXJyb3IgaWdub3JlLCBs b2dfdmVyYm9zaXR5IHZlcmJvc2UpOwogMQl7MX0JMQknZm9vJwogMgl7Mn0JMglcTgogXC4K K0NPUFkgY2hlY2tfaWduX2VycjIgRlJPTSBTVERJTiBXSVRIIChvbl9lcnJvciBpZ25vcmUs IGxvZ192ZXJib3NpdHkgc2lsZW50KTsKKzMJezN9CTMJJ2JhcicKKzQJezR9CTQJXE4KK1wu CiAKIC0tIHJlc2V0IGNvbnRleHQgY2hvaWNlCiBcc2V0IFNIT1dfQ09OVEVYVCBlcnJvcnMK LS0gCjIuNDUuMgoK --------------KoZoVnwcADb2D9HO2lKQrsd4 Content-Type: text/plain; charset=UTF-8; name="v6-0002-file_fdw-Add-on_error-and-log_verbosity-options-t.patch" Content-Disposition: attachment; filename*0="v6-0002-file_fdw-Add-on_error-and-log_verbosity-options-t.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAxZmIwZDdhMWQ0YWY4OTYxZWRiNTZlOGQwNTQwMGExMThlOWE1ODRjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBGdWppaSBNYXNhbyA8ZnVqaWlAcG9zdGdyZXNxbC5v cmc+CkRhdGU6IE1vbiwgMzAgU2VwIDIwMjQgMjM6MDU6MjYgKzA5MDAKU3ViamVjdDogW1BB VENIIHY2IDIvM10gZmlsZV9mZHc6IEFkZCBvbl9lcnJvciBhbmQgbG9nX3ZlcmJvc2l0eSBv cHRpb25zIHRvCiBmaWxlX2Zkdy4KCkluIHYxNywgdGhlIG9uX2Vycm9yIGFuZCBsb2dfdmVy Ym9zaXR5IG9wdGlvbnMgd2VyZSBpbnRyb2R1Y2VkIGZvcgp0aGUgQ09QWSBjb21tYW5kLiBU aGlzIGNvbW1pdCBleHRlbmRzIHN1cHBvcnQgZm9yIHRoZXNlIG9wdGlvbnMKdG8gZmlsZV9m ZHcuCgpTZXR0aW5nIG9uX2Vycm9yID0gJ2lnbm9yZScgZm9yIGEgZmlsZV9mZHcgZm9yZWln biB0YWJsZSBhbGxvd3MgdXNlcnMKdG8gcXVlcnkgaXQgd2l0aG91dCBlcnJvcnMsIGV2ZW4g d2hlbiB0aGUgaW5wdXQgZmlsZSBjb250YWlucwptYWxmb3JtZWQgcm93cywgYnkgc2tpcHBp bmcgdGhlIHByb2JsZW1hdGljIHJvd3MuCgpCb3RoIG9uX2Vycm9yIGFuZCBsb2dfdmVyYm9z aXR5IG9wdGlvbnMgYXBwbHkgdG8gU0VMRUNUIGFuZCBBTkFMWVpFCm9wZXJhdGlvbnMgb24g ZmlsZV9mZHcgZm9yZWlnbiB0YWJsZXMuCgpBdXRob3I6IEF0c3VzaGkgVG9yaWtvc2hpClJl dmlld2VkLWJ5OiBGdWppaSBNYXNhbwpEaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9t L2FiNTlkYWQxMDQ5MGVhMzczNGNmMDIyYjE2YzI0Y2ZkQG9zcy5udHRkYXRhLmNvbQotLS0K IGNvbnRyaWIvZmlsZV9mZHcvZXhwZWN0ZWQvZmlsZV9mZHcub3V0IHwgMTkgKysrKysrKwog Y29udHJpYi9maWxlX2Zkdy9maWxlX2Zkdy5jICAgICAgICAgICAgfCA3MiArKysrKysrKysr KysrKysrKysrKysrKy0tLQogY29udHJpYi9maWxlX2Zkdy9zcWwvZmlsZV9mZHcuc3FsICAg ICAgfCAgNyArKysKIGRvYy9zcmMvc2dtbC9maWxlLWZkdy5zZ21sICAgICAgICAgICAgIHwg MjMgKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMTEzIGluc2VydGlvbnMoKyksIDggZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29udHJpYi9maWxlX2Zkdy9leHBlY3RlZC9maWxl X2Zkdy5vdXQgYi9jb250cmliL2ZpbGVfZmR3L2V4cGVjdGVkL2ZpbGVfZmR3Lm91dAppbmRl eCA4NmMxNDhhODZiLi41OTNmZGM3ODJlIDEwMDY0NAotLS0gYS9jb250cmliL2ZpbGVfZmR3 L2V4cGVjdGVkL2ZpbGVfZmR3Lm91dAorKysgYi9jb250cmliL2ZpbGVfZmR3L2V4cGVjdGVk L2ZpbGVfZmR3Lm91dApAQCAtMjA2LDYgKzIwNiwyNSBAQCBTRUxFQ1QgKiBGUk9NIGFnZ19j c3YgYyBKT0lOIGFnZ190ZXh0IHQgT04gKHQuYSA9IGMuYSkgT1JERVIgQlkgYy5hOwogU0VM RUNUICogRlJPTSBhZ2dfYmFkOyAgICAgICAgICAgICAgIC0tIEVSUk9SCiBFUlJPUjogIGlu dmFsaWQgaW5wdXQgc3ludGF4IGZvciB0eXBlIHJlYWw6ICJhYWEiCiBDT05URVhUOiAgQ09Q WSBhZ2dfYmFkLCBsaW5lIDMsIGNvbHVtbiBiOiAiYWFhIgorLS0gb25fZXJyb3IgYW5kIGxv Z192ZXJib3NpdHkgdGVzdHMKK0FMVEVSIEZPUkVJR04gVEFCTEUgYWdnX2JhZCBPUFRJT05T IChBREQgb25fZXJyb3IgJ2lnbm9yZScpOworU0VMRUNUICogRlJPTSBhZ2dfYmFkOworTk9U SUNFOiAgMSByb3cgd2FzIHNraXBwZWQgZHVlIHRvIGRhdGEgdHlwZSBpbmNvbXBhdGliaWxp dHkKKyAgYSAgfCAgIGIgICAgCistLS0tLSstLS0tLS0tLQorIDEwMCB8IDk5LjA5NworICA0 MiB8IDMyNC43OAorKDIgcm93cykKKworQUxURVIgRk9SRUlHTiBUQUJMRSBhZ2dfYmFkIE9Q VElPTlMgKEFERCBsb2dfdmVyYm9zaXR5ICdzaWxlbnQnKTsKK1NFTEVDVCAqIEZST00gYWdn X2JhZDsKKyAgYSAgfCAgIGIgICAgCistLS0tLSstLS0tLS0tLQorIDEwMCB8IDk5LjA5Nwor ICA0MiB8IDMyNC43OAorKDIgcm93cykKKworQU5BTFlaRSBhZ2dfYmFkOwogLS0gbWlzYyBx dWVyeSB0ZXN0cwogXHQgb24KIFNFTEVDVCBleHBsYWluX2ZpbHRlcignRVhQTEFJTiAoVkVS Qk9TRSwgQ09TVFMgRkFMU0UpIFNFTEVDVCAqIEZST00gYWdnX2NzdicpOwpkaWZmIC0tZ2l0 IGEvY29udHJpYi9maWxlX2Zkdy9maWxlX2Zkdy5jIGIvY29udHJpYi9maWxlX2Zkdy9maWxl X2Zkdy5jCmluZGV4IGQxNjgyMWY4ZTEuLjFlMjhjMjA3OTcgMTAwNjQ0Ci0tLSBhL2NvbnRy aWIvZmlsZV9mZHcvZmlsZV9mZHcuYworKysgYi9jb250cmliL2ZpbGVfZmR3L2ZpbGVfZmR3 LmMKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX2F1dGhpZC5oIgog I2luY2x1ZGUgImNhdGFsb2cvcGdfZm9yZWlnbl90YWJsZS5oIgogI2luY2x1ZGUgImNvbW1h bmRzL2NvcHkuaCIKKyNpbmNsdWRlICJjb21tYW5kcy9jb3B5ZnJvbV9pbnRlcm5hbC5oIgog I2luY2x1ZGUgImNvbW1hbmRzL2RlZnJlbS5oIgogI2luY2x1ZGUgImNvbW1hbmRzL2V4cGxh aW4uaCIKICNpbmNsdWRlICJjb21tYW5kcy92YWN1dW0uaCIKQEAgLTc0LDYgKzc1LDggQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBGaWxlRmR3T3B0aW9uIHZhbGlkX29wdGlvbnNbXSA9IHsK IAl7Im51bGwiLCBGb3JlaWduVGFibGVSZWxhdGlvbklkfSwKIAl7ImRlZmF1bHQiLCBGb3Jl aWduVGFibGVSZWxhdGlvbklkfSwKIAl7ImVuY29kaW5nIiwgRm9yZWlnblRhYmxlUmVsYXRp b25JZH0sCisJeyJvbl9lcnJvciIsIEZvcmVpZ25UYWJsZVJlbGF0aW9uSWR9LAorCXsibG9n X3ZlcmJvc2l0eSIsIEZvcmVpZ25UYWJsZVJlbGF0aW9uSWR9LAogCXsiZm9yY2Vfbm90X251 bGwiLCBBdHRyaWJ1dGVSZWxhdGlvbklkfSwKIAl7ImZvcmNlX251bGwiLCBBdHRyaWJ1dGVS ZWxhdGlvbklkfSwKIApAQCAtNzI1LDEyICs3MjgsMTIgQEAgZmlsZUl0ZXJhdGVGb3JlaWdu U2NhbihGb3JlaWduU2NhblN0YXRlICpub2RlKQogCUV4cHJDb250ZXh0ICplY29udGV4dDsK IAlNZW1vcnlDb250ZXh0IG9sZGNvbnRleHQ7CiAJVHVwbGVUYWJsZVNsb3QgKnNsb3QgPSBu b2RlLT5zcy5zc19TY2FuVHVwbGVTbG90OwotCWJvb2wJCWZvdW5kOworCUNvcHlGcm9tU3Rh dGUgY3N0YXRlID0gZmVzdGF0ZS0+Y3N0YXRlOwogCUVycm9yQ29udGV4dENhbGxiYWNrIGVy cmNhbGxiYWNrOwogCiAJLyogU2V0IHVwIGNhbGxiYWNrIHRvIGlkZW50aWZ5IGVycm9yIGxp bmUgbnVtYmVyLiAqLwogCWVycmNhbGxiYWNrLmNhbGxiYWNrID0gQ29weUZyb21FcnJvckNh bGxiYWNrOwotCWVycmNhbGxiYWNrLmFyZyA9ICh2b2lkICopIGZlc3RhdGUtPmNzdGF0ZTsK KwllcnJjYWxsYmFjay5hcmcgPSAodm9pZCAqKSBjc3RhdGU7CiAJZXJyY2FsbGJhY2sucHJl dmlvdXMgPSBlcnJvcl9jb250ZXh0X3N0YWNrOwogCWVycm9yX2NvbnRleHRfc3RhY2sgPSAm ZXJyY2FsbGJhY2s7CiAKQEAgLTc1MSwxMCArNzU0LDI3IEBAIGZpbGVJdGVyYXRlRm9yZWln blNjYW4oRm9yZWlnblNjYW5TdGF0ZSAqbm9kZSkKIAkgKiBzd2l0Y2ggaW4gY2FzZSB3ZSBh cmUgZG9pbmcgdGhhdC4KIAkgKi8KIAlvbGRjb250ZXh0ID0gTWVtb3J5Q29udGV4dFN3aXRj aFRvKEdldFBlclR1cGxlTWVtb3J5Q29udGV4dChlc3RhdGUpKTsKLQlmb3VuZCA9IE5leHRD b3B5RnJvbShmZXN0YXRlLT5jc3RhdGUsIGVjb250ZXh0LAotCQkJCQkJIHNsb3QtPnR0c192 YWx1ZXMsIHNsb3QtPnR0c19pc251bGwpOwotCWlmIChmb3VuZCkKKworcmV0cnk6CisJaWYg KE5leHRDb3B5RnJvbShjc3RhdGUsIGVjb250ZXh0LCBzbG90LT50dHNfdmFsdWVzLCBzbG90 LT50dHNfaXNudWxsKSkKKwl7CisJCWlmIChjc3RhdGUtPm9wdHMub25fZXJyb3IgPT0gQ09Q WV9PTl9FUlJPUl9JR05PUkUgJiYKKwkJCWNzdGF0ZS0+ZXNjb250ZXh0LT5lcnJvcl9vY2N1 cnJlZCkKKwkJeworCQkJLyoKKwkJCSAqIFNvZnQgZXJyb3Igb2NjdXJyZWQsIHNraXAgdGhp cyB0dXBsZSBhbmQganVzdCBtYWtlCisJCQkgKiBFcnJvclNhdmVDb250ZXh0IHJlYWR5IGZv ciB0aGUgbmV4dCBOZXh0Q29weUZyb20uIFNpbmNlIHdlCisJCQkgKiBkb24ndCBzZXQgZGV0 YWlsc193YW50ZWQgYW5kIGVycm9yX2RhdGEgaXMgbm90IHRvIGJlIGZpbGxlZCwKKwkJCSAq IGp1c3QgcmVzZXR0aW5nIGVycm9yX29jY3VycmVkIGlzIGVub3VnaC4KKwkJCSAqLworCQkJ Y3N0YXRlLT5lc2NvbnRleHQtPmVycm9yX29jY3VycmVkID0gZmFsc2U7CisKKwkJCS8qIFJl cGVhdCBOZXh0Q29weUZyb20oKSB1bnRpbCBubyBzb2Z0IGVycm9yIG9jY3VycyAqLworCQkJ Z290byByZXRyeTsKKwkJfQorCiAJCUV4ZWNTdG9yZVZpcnR1YWxUdXBsZShzbG90KTsKKwl9 CiAKIAkvKiBTd2l0Y2ggYmFjayB0byBvcmlnaW5hbCBtZW1vcnkgY29udGV4dCAqLwogCU1l bW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRjb250ZXh0KTsKQEAgLTc5Niw4ICs4MTYsMTkgQEAg ZmlsZUVuZEZvcmVpZ25TY2FuKEZvcmVpZ25TY2FuU3RhdGUgKm5vZGUpCiAJRmlsZUZkd0V4 ZWN1dGlvblN0YXRlICpmZXN0YXRlID0gKEZpbGVGZHdFeGVjdXRpb25TdGF0ZSAqKSBub2Rl LT5mZHdfc3RhdGU7CiAKIAkvKiBpZiBmZXN0YXRlIGlzIE5VTEwsIHdlIGFyZSBpbiBFWFBM QUlOOyBub3RoaW5nIHRvIGRvICovCi0JaWYgKGZlc3RhdGUpCi0JCUVuZENvcHlGcm9tKGZl c3RhdGUtPmNzdGF0ZSk7CisJaWYgKCFmZXN0YXRlKQorCQlyZXR1cm47CisKKwlpZiAoZmVz dGF0ZS0+Y3N0YXRlLT5vcHRzLm9uX2Vycm9yID09IENPUFlfT05fRVJST1JfSUdOT1JFICYm CisJCWZlc3RhdGUtPmNzdGF0ZS0+bnVtX2Vycm9ycyA+IDAgJiYKKwkJZmVzdGF0ZS0+Y3N0 YXRlLT5vcHRzLmxvZ192ZXJib3NpdHkgPj0gQ09QWV9MT0dfVkVSQk9TSVRZX0RFRkFVTFQp CisJCWVyZXBvcnQoTk9USUNFLAorCQkJCWVycm1zZ19wbHVyYWwoIiVsbHUgcm93IHdhcyBz a2lwcGVkIGR1ZSB0byBkYXRhIHR5cGUgaW5jb21wYXRpYmlsaXR5IiwKKwkJCQkJCQkgICIl bGx1IHJvd3Mgd2VyZSBza2lwcGVkIGR1ZSB0byBkYXRhIHR5cGUgaW5jb21wYXRpYmlsaXR5 IiwKKwkJCQkJCQkgICh1bnNpZ25lZCBsb25nIGxvbmcpIGZlc3RhdGUtPmNzdGF0ZS0+bnVt X2Vycm9ycywKKwkJCQkJCQkgICh1bnNpZ25lZCBsb25nIGxvbmcpIGZlc3RhdGUtPmNzdGF0 ZS0+bnVtX2Vycm9ycykpOworCisJRW5kQ29weUZyb20oZmVzdGF0ZS0+Y3N0YXRlKTsKIH0K IAogLyoKQEAgLTExMTMsNyArMTE0NCw4IEBAIGVzdGltYXRlX2Nvc3RzKFBsYW5uZXJJbmZv ICpyb290LCBSZWxPcHRJbmZvICpiYXNlcmVsLAogICogd2hpY2ggbXVzdCBoYXZlIGF0IGxl YXN0IHRhcmdyb3dzIGVudHJpZXMuCiAgKiBUaGUgYWN0dWFsIG51bWJlciBvZiByb3dzIHNl bGVjdGVkIGlzIHJldHVybmVkIGFzIHRoZSBmdW5jdGlvbiByZXN1bHQuCiAgKiBXZSBhbHNv IGNvdW50IHRoZSB0b3RhbCBudW1iZXIgb2Ygcm93cyBpbiB0aGUgZmlsZSBhbmQgcmV0dXJu IGl0IGludG8KLSAqICp0b3RhbHJvd3MuICBOb3RlIHRoYXQgKnRvdGFsZGVhZHJvd3MgaXMg YWx3YXlzIHNldCB0byAwLgorICogKnRvdGFscm93cy4gIFJvd3Mgc2tpcHBlZCBkdWUgdG8g b25fZXJyb3IgPSAnaWdub3JlJyBhcmUgbm90IGluY2x1ZGVkCisgKiBpbiB0aGlzIGNvdW50 LiAgTm90ZSB0aGF0ICp0b3RhbGRlYWRyb3dzIGlzIGFsd2F5cyBzZXQgdG8gMC4KICAqCiAg KiBOb3RlIHRoYXQgdGhlIHJldHVybmVkIGxpc3Qgb2Ygcm93cyBpcyBub3QgYWx3YXlzIGlu IG9yZGVyIGJ5IHBoeXNpY2FsCiAgKiBwb3NpdGlvbiBpbiB0aGUgZmlsZS4gIFRoZXJlZm9y ZSwgY29ycmVsYXRpb24gZXN0aW1hdGVzIGRlcml2ZWQgbGF0ZXIKQEAgLTExOTEsNiArMTIy MywyMSBAQCBmaWxlX2FjcXVpcmVfc2FtcGxlX3Jvd3MoUmVsYXRpb24gb25lcmVsLCBpbnQg ZWxldmVsLAogCQlpZiAoIWZvdW5kKQogCQkJYnJlYWs7CiAKKwkJaWYgKGNzdGF0ZS0+b3B0 cy5vbl9lcnJvciA9PSBDT1BZX09OX0VSUk9SX0lHTk9SRSAmJgorCQkJY3N0YXRlLT5lc2Nv bnRleHQtPmVycm9yX29jY3VycmVkKQorCQl7CisJCQkvKgorCQkJICogU29mdCBlcnJvciBv Y2N1cnJlZCwgc2tpcCB0aGlzIHR1cGxlIGFuZCBqdXN0IG1ha2UKKwkJCSAqIEVycm9yU2F2 ZUNvbnRleHQgcmVhZHkgZm9yIHRoZSBuZXh0IE5leHRDb3B5RnJvbS4gU2luY2Ugd2UKKwkJ CSAqIGRvbid0IHNldCBkZXRhaWxzX3dhbnRlZCBhbmQgZXJyb3JfZGF0YSBpcyBub3QgdG8g YmUgZmlsbGVkLAorCQkJICoganVzdCByZXNldHRpbmcgZXJyb3Jfb2NjdXJyZWQgaXMgZW5v dWdoLgorCQkJICovCisJCQljc3RhdGUtPmVzY29udGV4dC0+ZXJyb3Jfb2NjdXJyZWQgPSBm YWxzZTsKKworCQkJLyogUmVwZWF0IE5leHRDb3B5RnJvbSgpIHVudGlsIG5vIHNvZnQgZXJy b3Igb2NjdXJzICovCisJCQljb250aW51ZTsKKwkJfQorCiAJCS8qCiAJCSAqIFRoZSBmaXJz dCB0YXJncm93cyBzYW1wbGUgcm93cyBhcmUgc2ltcGx5IGNvcGllZCBpbnRvIHRoZQogCQkg KiByZXNlcnZvaXIuICBUaGVuIHdlIHN0YXJ0IHJlcGxhY2luZyB0dXBsZXMgaW4gdGhlIHNh bXBsZSB1bnRpbCB3ZQpAQCAtMTIzNiw2ICsxMjgzLDE1IEBAIGZpbGVfYWNxdWlyZV9zYW1w bGVfcm93cyhSZWxhdGlvbiBvbmVyZWwsIGludCBlbGV2ZWwsCiAJLyogQ2xlYW4gdXAuICov CiAJTWVtb3J5Q29udGV4dERlbGV0ZSh0dXBjb250ZXh0KTsKIAorCWlmIChjc3RhdGUtPm9w dHMub25fZXJyb3IgPT0gQ09QWV9PTl9FUlJPUl9JR05PUkUgJiYKKwkJY3N0YXRlLT5udW1f ZXJyb3JzID4gMCAmJgorCQljc3RhdGUtPm9wdHMubG9nX3ZlcmJvc2l0eSA+PSBDT1BZX0xP R19WRVJCT1NJVFlfREVGQVVMVCkKKwkJZXJlcG9ydChOT1RJQ0UsCisJCQkJZXJybXNnX3Bs dXJhbCgiJWxsdSByb3cgd2FzIHNraXBwZWQgZHVlIHRvIGRhdGEgdHlwZSBpbmNvbXBhdGli aWxpdHkiLAorCQkJCQkJCSAgIiVsbHUgcm93cyB3ZXJlIHNraXBwZWQgZHVlIHRvIGRhdGEg dHlwZSBpbmNvbXBhdGliaWxpdHkiLAorCQkJCQkJCSAgKHVuc2lnbmVkIGxvbmcgbG9uZykg Y3N0YXRlLT5udW1fZXJyb3JzLAorCQkJCQkJCSAgKHVuc2lnbmVkIGxvbmcgbG9uZykgY3N0 YXRlLT5udW1fZXJyb3JzKSk7CisKIAlFbmRDb3B5RnJvbShjc3RhdGUpOwogCiAJcGZyZWUo dmFsdWVzKTsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvZmlsZV9mZHcvc3FsL2ZpbGVfZmR3LnNx bCBiL2NvbnRyaWIvZmlsZV9mZHcvc3FsL2ZpbGVfZmR3LnNxbAppbmRleCBmMDU0OGUxNGUx Li5lZGQ3N2M1Y2QyIDEwMDY0NAotLS0gYS9jb250cmliL2ZpbGVfZmR3L3NxbC9maWxlX2Zk dy5zcWwKKysrIGIvY29udHJpYi9maWxlX2Zkdy9zcWwvZmlsZV9mZHcuc3FsCkBAIC0xNTAs NiArMTUwLDEzIEBAIFNFTEVDVCAqIEZST00gYWdnX2NzdiBjIEpPSU4gYWdnX3RleHQgdCBP TiAodC5hID0gYy5hKSBPUkRFUiBCWSBjLmE7CiAtLSBlcnJvciBjb250ZXh0IHJlcG9ydCB0 ZXN0cwogU0VMRUNUICogRlJPTSBhZ2dfYmFkOyAgICAgICAgICAgICAgIC0tIEVSUk9SCiAK Ky0tIG9uX2Vycm9yIGFuZCBsb2dfdmVyYm9zaXR5IHRlc3RzCitBTFRFUiBGT1JFSUdOIFRB QkxFIGFnZ19iYWQgT1BUSU9OUyAoQUREIG9uX2Vycm9yICdpZ25vcmUnKTsKK1NFTEVDVCAq IEZST00gYWdnX2JhZDsKK0FMVEVSIEZPUkVJR04gVEFCTEUgYWdnX2JhZCBPUFRJT05TIChB REQgbG9nX3ZlcmJvc2l0eSAnc2lsZW50Jyk7CitTRUxFQ1QgKiBGUk9NIGFnZ19iYWQ7CitB TkFMWVpFIGFnZ19iYWQ7CisKIC0tIG1pc2MgcXVlcnkgdGVzdHMKIFx0IG9uCiBTRUxFQ1Qg ZXhwbGFpbl9maWx0ZXIoJ0VYUExBSU4gKFZFUkJPU0UsIENPU1RTIEZBTFNFKSBTRUxFQ1Qg KiBGUk9NIGFnZ19jc3YnKTsKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9maWxlLWZkdy5z Z21sIGIvZG9jL3NyYy9zZ21sL2ZpbGUtZmR3LnNnbWwKaW5kZXggZjJmMmFmOWE1OS4uYmIz NTc5YjA3NyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2ZpbGUtZmR3LnNnbWwKKysrIGIv ZG9jL3NyYy9zZ21sL2ZpbGUtZmR3LnNnbWwKQEAgLTEyNiw2ICsxMjYsMjkgQEAKICAgIDwv bGlzdGl0ZW0+CiAgIDwvdmFybGlzdGVudHJ5PgogCisgIDx2YXJsaXN0ZW50cnk+CisgICA8 dGVybT48bGl0ZXJhbD5vbl9lcnJvcjwvbGl0ZXJhbD48L3Rlcm0+CisKKyAgIDxsaXN0aXRl bT4KKyAgICA8cGFyYT4KKyAgICAgU3BlY2lmaWVzIGhvdyB0byBiZWhhdmUgd2hlbiBlbmNv dW50ZXJpbmcgYW4gZXJyb3IgY29udmVydGluZyBhIGNvbHVtbidzCisgICAgIGlucHV0IHZh bHVlIGludG8gaXRzIGRhdGEgdHlwZSwKKyAgICAgdGhlIHNhbWUgYXMgPGNvbW1hbmQ+Q09Q WTwvY29tbWFuZD4ncyA8bGl0ZXJhbD5PTl9FUlJPUjwvbGl0ZXJhbD4gb3B0aW9uLgorICAg IDwvcGFyYT4KKyAgIDwvbGlzdGl0ZW0+CisgIDwvdmFybGlzdGVudHJ5PgorCisgIDx2YXJs aXN0ZW50cnk+CisgICA8dGVybT48bGl0ZXJhbD5sb2dfdmVyYm9zaXR5PC9saXRlcmFsPjwv dGVybT4KKworICAgPGxpc3RpdGVtPgorICAgIDxwYXJhPgorICAgICBTcGVjaWZpZXMgdGhl IGFtb3VudCBvZiBtZXNzYWdlcyBlbWl0dGVkIGJ5IDxsaXRlcmFsPmZpbGVfZmR3PC9saXRl cmFsPiwKKyAgICAgdGhlIHNhbWUgYXMgPGNvbW1hbmQ+Q09QWTwvY29tbWFuZD4ncyA8bGl0 ZXJhbD5MT0dfVkVSQk9TSVRZPC9saXRlcmFsPiBvcHRpb24uCisgICAgPC9wYXJhPgorICAg PC9saXN0aXRlbT4KKyAgPC92YXJsaXN0ZW50cnk+CisKICA8L3ZhcmlhYmxlbGlzdD4KIAog IDxwYXJhPgotLSAKMi40NS4yCgo= --------------KoZoVnwcADb2D9HO2lKQrsd4 Content-Type: text/plain; charset=UTF-8; name="v6-0003-Refactor-CopyFrom-in-copyfrom.c.patch" Content-Disposition: attachment; filename="v6-0003-Refactor-CopyFrom-in-copyfrom.c.patch" Content-Transfer-Encoding: base64 RnJvbSA2ODY2M2MyMzBiYmZjNTRlOGJkNzMwMjU4ZTNhMWE0MjBlYjBhOTJlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBdHN1c2hpIFRvcmlrb3NoaSA8dG9yaWtvc2hpYUBv c3MubnR0ZGF0YS5jb20+CkRhdGU6IFdlZCwgMjUgU2VwIDIwMjQgMjE6MzA6MjYgKzA5MDAK U3ViamVjdDogW1BBVENIIHY2IDMvM10gUmVmYWN0b3IgQ29weUZyb20oKSBpbiBjb3B5ZnJv bS5jLgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJz ZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKVGhpcyBjb21taXQg c2ltcGxpZmllcyBDb3B5RnJvbSgpIGJ5IHJlbW92aW5nIHRoZSB1bm5lY2Vzc2FyeSBsb2Nh bCB2YXJpYWJsZQonc2tpcHBlZCcsIHdoaWNoIHRyYWNrZWQgdGhlIG51bWJlciBvZiByb3dz IHNraXBwZWQgZHVlIHRvIG9uX2Vycm9yID0gJ2lnbm9yZScuClRoYXQgY291bnQgaXMgYWxy ZWFkeSBoYW5kbGVkIGJ5IGNzdGF0ZS0+bnVtX2Vycm9ycywgc28gdGhlICdza2lwcGVkJyB2 YXJpYWJsZQp3YXMgcmVkdW5kYW50LgoKQWRkaXRpb25hbGx5LCB0aGUgY29uZGl0aW9uIG9u X2Vycm9yICE9IENPUFlfT05fRVJST1JfU1RPUCBpcyByZW1vdmVkLgpTaW5jZSBvbl9lcnJv ciA9PSBDT1BZX09OX0VSUk9SX0lHTk9SRSBpcyBhbHJlYWR5IGNoZWNrZWQsIGFuZCBvbl9l cnJvcgpvbmx5IGhhcyB0d28gdmFsdWVzIChpZ25vcmUgYW5kIHN0b3ApLCB0aGUgYWRkaXRp b25hbCBjaGVjayB3YXMgcmVkdW5kYW50CmFuZCBtYWRlIHRoZSBsb2dpYyBoYXJkZXIgdG8g cmVhZC4gU2VlbWluZ2x5IHRoaXMgd2FzIGludHJvZHVjZWQKaW4gcHJlcGFyYXRpb24gZm9y IGEgZnV0dXJlIHBhdGNoLCBidXQgdGhlIGN1cnJlbnQgY2hlY2tzIGRvbuKAmXQgb2ZmZXIK Y2xlYXIgdmFsdWUgYW5kIGhhdmUgYmVlbiByZW1vdmVkIHRvIGltcHJvdmUgcmVhZGFiaWxp dHkuCgpBdXRob3I6IEF0c3VzaGkgVG9yaWtvc2hpClJldmlld2VkLWJ5OiBGdWppaSBNYXNh bwpEaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL2FiNTlkYWQxMDQ5MGVhMzczNGNm MDIyYjE2YzI0Y2ZkQG9zcy5udHRkYXRhLmNvbQotLS0KIHNyYy9iYWNrZW5kL2NvbW1hbmRz L2NvcHlmcm9tLmMgfCAyMSArKysrKysrKy0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCA4IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2NvbW1hbmRzL2NvcHlmcm9tLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9jb3B5 ZnJvbS5jCmluZGV4IDQ3ODc5OTk0ZjcuLjkxMzlhNDA3ODUgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2NvbW1hbmRzL2NvcHlmcm9tLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv Y29weWZyb20uYwpAQCAtNjU3LDcgKzY1Nyw2IEBAIENvcHlGcm9tKENvcHlGcm9tU3RhdGUg Y3N0YXRlKQogCUNvcHlNdWx0aUluc2VydEluZm8gbXVsdGlJbnNlcnRJbmZvID0gezB9Owkv KiBwYWNpZnkgY29tcGlsZXIgKi8KIAlpbnQ2NAkJcHJvY2Vzc2VkID0gMDsKIAlpbnQ2NAkJ ZXhjbHVkZWQgPSAwOwotCWludDY0CQlza2lwcGVkID0gMDsKIAlib29sCQloYXNfYmVmb3Jl X2luc2VydF9yb3dfdHJpZzsKIAlib29sCQloYXNfaW5zdGVhZF9pbnNlcnRfcm93X3RyaWc7 CiAJYm9vbAkJbGVhZnBhcnRfdXNlX211bHRpX2luc2VydCA9IGZhbHNlOwpAQCAtMTAwNCwy NiArMTAwMywyMiBAQCBDb3B5RnJvbShDb3B5RnJvbVN0YXRlIGNzdGF0ZSkKIAkJaWYgKCFO ZXh0Q29weUZyb20oY3N0YXRlLCBlY29udGV4dCwgbXlzbG90LT50dHNfdmFsdWVzLCBteXNs b3QtPnR0c19pc251bGwpKQogCQkJYnJlYWs7CiAKLQkJaWYgKGNzdGF0ZS0+b3B0cy5vbl9l cnJvciAhPSBDT1BZX09OX0VSUk9SX1NUT1AgJiYKKwkJaWYgKGNzdGF0ZS0+b3B0cy5vbl9l cnJvciA9PSBDT1BZX09OX0VSUk9SX0lHTk9SRSAmJgogCQkJY3N0YXRlLT5lc2NvbnRleHQt PmVycm9yX29jY3VycmVkKQogCQl7CiAJCQkvKgotCQkJICogU29mdCBlcnJvciBvY2N1cnJl ZCwgc2tpcCB0aGlzIHR1cGxlIGFuZCBkZWFsIHdpdGggZXJyb3IKLQkJCSAqIGluZm9ybWF0 aW9uIGFjY29yZGluZyB0byBPTl9FUlJPUi4KKwkJCSAqIFNvZnQgZXJyb3Igb2NjdXJyZWQs IHNraXAgdGhpcyB0dXBsZSBhbmQganVzdCBtYWtlCisJCQkgKiBFcnJvclNhdmVDb250ZXh0 IHJlYWR5IGZvciB0aGUgbmV4dCBOZXh0Q29weUZyb20uIFNpbmNlIHdlCisJCQkgKiBkb24n dCBzZXQgZGV0YWlsc193YW50ZWQgYW5kIGVycm9yX2RhdGEgaXMgbm90IHRvIGJlIGZpbGxl ZCwKKwkJCSAqIGp1c3QgcmVzZXR0aW5nIGVycm9yX29jY3VycmVkIGlzIGVub3VnaC4KIAkJ CSAqLwotCQkJaWYgKGNzdGF0ZS0+b3B0cy5vbl9lcnJvciA9PSBDT1BZX09OX0VSUk9SX0lH Tk9SRSkKLQotCQkJCS8qCi0JCQkJICogSnVzdCBtYWtlIEVycm9yU2F2ZUNvbnRleHQgcmVh ZHkgZm9yIHRoZSBuZXh0IE5leHRDb3B5RnJvbS4KLQkJCQkgKiBTaW5jZSB3ZSBkb24ndCBz ZXQgZGV0YWlsc193YW50ZWQgYW5kIGVycm9yX2RhdGEgaXMgbm90IHRvCi0JCQkJICogYmUg ZmlsbGVkLCBqdXN0IHJlc2V0dGluZyBlcnJvcl9vY2N1cnJlZCBpcyBlbm91Z2guCi0JCQkJ ICovCi0JCQkJY3N0YXRlLT5lc2NvbnRleHQtPmVycm9yX29jY3VycmVkID0gZmFsc2U7CisJ CQljc3RhdGUtPmVzY29udGV4dC0+ZXJyb3Jfb2NjdXJyZWQgPSBmYWxzZTsKIAogCQkJLyog UmVwb3J0IHRoYXQgdGhpcyB0dXBsZSB3YXMgc2tpcHBlZCBieSB0aGUgT05fRVJST1IgY2xh dXNlICovCiAJCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX0NPUFlf VFVQTEVTX1NLSVBQRUQsCi0JCQkJCQkJCQkJICsrc2tpcHBlZCk7CisJCQkJCQkJCQkJIGNz dGF0ZS0+bnVtX2Vycm9ycyk7CiAKKwkJCS8qIFJlcGVhdCBOZXh0Q29weUZyb20oKSB1bnRp bCBubyBzb2Z0IGVycm9yIG9jY3VycyAqLwogCQkJY29udGludWU7CiAJCX0KIAotLSAKMi40 NS4yCgo= --------------KoZoVnwcADb2D9HO2lKQrsd4--