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 1tM6k7-001oLg-NA for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Dec 2024 14:34:12 +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 1tM6k5-007TSU-37 for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Dec 2024 14:34:10 +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 1tM6k4-007TQ7-G5 for pgsql-hackers@lists.postgresql.org; Fri, 13 Dec 2024 14:34:09 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tM6k1-002dV2-MG for pgsql-hackers@lists.postgresql.org; Fri, 13 Dec 2024 14:34:08 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1734100442; bh=rgia3+wdKtQ49eyifuO5CZnlVPR1KCDtNbeKSJjkGiY=; h=From:In-Reply-To:References:Date:To:Message-ID:Subject:User-Agent: From; b=oOEAnBkk3myjkmnBmq+/rnHTzd41IskzCKHhZDUss8RO/2gAmc4iiSXOWZTR8wXYx 4Ub6NMwssTAiul69iun5kMRHckdBrxsyzYlcgyiYpzyKmPILtAOsgy7nAezZerAeRb zys++NJgYwb8Tr4DST294DmlXxAhY3zQeX2jU9Idy27X0LidTXIjq7Ndg9XYylMA/Z vUiPA+Y0Osg3aGEebV8hZKa7PI4l8dmsWt+DVUsEMOYlEV1mxlAwEuJdYI1wpcv7g8 TrRd5sUtQZljN+mMdn78/Ap4aU6fhOqEnM6vTL8CTLoUZXUje9Pe6g1QTV1Lj3bj7Q EryX9n13M3ljQ== Received: from sogo.postgrespro.ru (sogo.l.postgrespro.ru [192.168.2.5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) by mail.postgrespro.ru (Postfix/587) with ESMTPS id D7CFE60ADF for ; Fri, 13 Dec 2024 17:34:01 +0300 (MSK) From: "Vitaly Davydov" Content-Type: multipart/mixed; boundary="----=_=-_OpenGroupware_org_NGMime-79336-1734100441.762848-11------" In-Reply-To: X-Forward: 93.174.131.141 References: <1d12d2-67235980-35-19a406a0@63439497> <683f3c82-d38e-436d-88fd-27722af62005@vondra.me> <8679fea7-94ce-4a52-8e48-1a8cd0857fcb@vondra.me> Date: Fri, 13 Dec 2024 17:34:01 +0300 To: pgsql-hackers@lists.postgresql.org MIME-Version: 1.0 Message-ID: <135e8-675c4600-21-304d7f40@228322535> Subject: =?utf-8?q?Re=3A?= Slot's =?utf-8?q?restart=5Flsn?= may point to removed WAL segment after hard restart unexpectedly User-Agent: SOGoMail 5.11.2 X-KSMG-AntiPhishing: NotDetected X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.1.0.7854, bases: 2024/12/13 12:33:00 #26873825 X-KSMG-AntiVirus-Status: NotDetected, skipped X-KSMG-LinksScanning: not scanned, disabled by settings X-KSMG-Message-Action: skipped X-KSMG-Rule-ID: 1 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk ------=_=-_OpenGroupware_org_NGMime-79336-1734100441.762848-11------ Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-Length: 1008 > On 11/21/24 14:59, Tomas Vondra wrote: > > I don't have a great idea how to improve this. It seems wrong for > ReplicationSlotsComputeRequiredLSN() to calculate the LSN using value= s > from dirty slots, so maybe it should simply retry if any slot is dirt= y? > Or retry on that one slot? But various places update the restart=5Fls= n > before marking the slot as dirty, so right now this won't work. To ping the topic, I would like to propose a new version of my patch. A= ll the check-world tests seems to pass ok.=20 The idea of the patch is pretty simple - keep flushed restart=5Flsn in = memory and use this value to calculate required lsn in ReplicationSlots= ComputeRequiredLSN(). One note - if restart=5Flsn=5Fflushed is invalid, the restart=5Flsn val= ue will be used. If we take invalid restart=5Flsn=5Fflushed instead of = valid restart=5Flsn the slot will be skipped. At the moment I have no o= ther ideas how to deal with invalid restart=5Flsn=5Fflushed. With best regards, Vitaly ------=_=-_OpenGroupware_org_NGMime-79336-1734100441.762848-11------ Content-Type: text/x-patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Keep-WAL-segments-by-slot-s-flushed-restart-LSN.patch" Content-Length: 8755 RnJvbSBhNmZiMzM5NjkyMTNlNWY1ZGQ5OTQ4NTNhYzA1MmRmNjQzNzJiODVmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBWaXRhbHkgRGF2eWRvdiA8di5kYXZ5ZG92QHBvc3Rn cmVzcHJvLnJ1PgpEYXRlOiBUaHUsIDMxIE9jdCAyMDI0IDEyOjI5OjEyICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAxLzJdIEtlZXAgV0FMIHNlZ21lbnRzIGJ5IHNsb3QncyBmbHVzaGVkIHJl c3RhcnQgTFNOCgotLS0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3QuYyAgICAgIHwg MzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHNyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL3dhbHNlbmRlci5jIHwgMTMgKysrKysrKysrKwogc3JjL2luY2x1ZGUvcmVwbGljYXRp b24vc2xvdC5oICAgICAgfCAgNCArKysrCiAzIGZpbGVzIGNoYW5nZWQsIDU0IGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90LmMgYi9z cmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90LmMKaW5kZXggNGEyMDZmOTUyNy4uYzNjNDRm ZTlmOCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc2xvdC5jCisrKyBi L3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3QuYwpAQCAtNDA5LDYgKzQwOSw3IEBAIFJl cGxpY2F0aW9uU2xvdENyZWF0ZShjb25zdCBjaGFyICpuYW1lLCBib29sIGRiX3NwZWNpZmlj LAogCXNsb3QtPmNhbmRpZGF0ZV9yZXN0YXJ0X3ZhbGlkID0gSW52YWxpZFhMb2dSZWNQdHI7 CiAJc2xvdC0+Y2FuZGlkYXRlX3Jlc3RhcnRfbHNuID0gSW52YWxpZFhMb2dSZWNQdHI7CiAJ c2xvdC0+bGFzdF9zYXZlZF9jb25maXJtZWRfZmx1c2ggPSBJbnZhbGlkWExvZ1JlY1B0cjsK KwlzbG90LT5yZXN0YXJ0X2xzbl9mbHVzaGVkID0gSW52YWxpZFhMb2dSZWNQdHI7CiAJc2xv dC0+aW5hY3RpdmVfc2luY2UgPSAwOwogCiAJLyoKQEAgLTExNDIsMjAgKzExNDMsMzQgQEAg UmVwbGljYXRpb25TbG90c0NvbXB1dGVSZXF1aXJlZExTTih2b2lkKQogCXsKIAkJUmVwbGlj YXRpb25TbG90ICpzID0gJlJlcGxpY2F0aW9uU2xvdEN0bC0+cmVwbGljYXRpb25fc2xvdHNb aV07CiAJCVhMb2dSZWNQdHIJcmVzdGFydF9sc247CisJCVhMb2dSZWNQdHIJcmVzdGFydF9s c25fZmx1c2hlZDsKIAkJYm9vbAkJaW52YWxpZGF0ZWQ7CisJCVJlcGxpY2F0aW9uU2xvdFBl cnNpc3RlbmN5IHBlcnNpc3RlbmN5OwogCiAJCWlmICghcy0+aW5fdXNlKQogCQkJY29udGlu dWU7CiAKIAkJU3BpbkxvY2tBY3F1aXJlKCZzLT5tdXRleCk7CisJCXBlcnNpc3RlbmN5ID0g cy0+ZGF0YS5wZXJzaXN0ZW5jeTsKIAkJcmVzdGFydF9sc24gPSBzLT5kYXRhLnJlc3RhcnRf bHNuOwogCQlpbnZhbGlkYXRlZCA9IHMtPmRhdGEuaW52YWxpZGF0ZWQgIT0gUlNfSU5WQUxf Tk9ORTsKKwkJcmVzdGFydF9sc25fZmx1c2hlZCA9IHMtPnJlc3RhcnRfbHNuX2ZsdXNoZWQ7 CiAJCVNwaW5Mb2NrUmVsZWFzZSgmcy0+bXV0ZXgpOwogCiAJCS8qIGludmFsaWRhdGVkIHNs b3RzIG5lZWQgbm90IGFwcGx5ICovCiAJCWlmIChpbnZhbGlkYXRlZCkKIAkJCWNvbnRpbnVl OwogCisJCS8qIHRydW5jYXRlIFdBTCBmb3IgcGVyc2lzdGVudCBzbG90cyBieSBmbHVzaGVk IHJlc3RhcnRfbHNuICovCisJCWlmIChwZXJzaXN0ZW5jeSA9PSBSU19QRVJTSVNURU5UKQor CQl7CisJCQlpZiAocmVzdGFydF9sc25fZmx1c2hlZCAhPSBJbnZhbGlkWExvZ1JlY1B0ciAm JgorCQkJCXJlc3RhcnRfbHNuID4gcmVzdGFydF9sc25fZmx1c2hlZCkKKwkJCXsKKwkJCQly ZXN0YXJ0X2xzbiA9IHJlc3RhcnRfbHNuX2ZsdXNoZWQ7CisJCQl9CisJCX0KKwogCQlpZiAo cmVzdGFydF9sc24gIT0gSW52YWxpZFhMb2dSZWNQdHIgJiYKIAkJCShtaW5fcmVxdWlyZWQg PT0gSW52YWxpZFhMb2dSZWNQdHIgfHwKIAkJCSByZXN0YXJ0X2xzbiA8IG1pbl9yZXF1aXJl ZCkpCkBAIC0xMTkzLDcgKzEyMDgsOSBAQCBSZXBsaWNhdGlvblNsb3RzQ29tcHV0ZUxvZ2lj YWxSZXN0YXJ0TFNOKHZvaWQpCiAJewogCQlSZXBsaWNhdGlvblNsb3QgKnM7CiAJCVhMb2dS ZWNQdHIJcmVzdGFydF9sc247CisJCVhMb2dSZWNQdHIJcmVzdGFydF9sc25fZmx1c2hlZDsK IAkJYm9vbAkJaW52YWxpZGF0ZWQ7CisJCVJlcGxpY2F0aW9uU2xvdFBlcnNpc3RlbmN5IHBl cnNpc3RlbmN5OwogCiAJCXMgPSAmUmVwbGljYXRpb25TbG90Q3RsLT5yZXBsaWNhdGlvbl9z bG90c1tpXTsKIApAQCAtMTIwNywxNCArMTIyNCwyNiBAQCBSZXBsaWNhdGlvblNsb3RzQ29t cHV0ZUxvZ2ljYWxSZXN0YXJ0TFNOKHZvaWQpCiAKIAkJLyogcmVhZCBvbmNlLCBpdCdzIG9r IGlmIGl0IGluY3JlYXNlcyB3aGlsZSB3ZSdyZSBjaGVja2luZyAqLwogCQlTcGluTG9ja0Fj cXVpcmUoJnMtPm11dGV4KTsKKwkJcGVyc2lzdGVuY3kgPSBzLT5kYXRhLnBlcnNpc3RlbmN5 OwogCQlyZXN0YXJ0X2xzbiA9IHMtPmRhdGEucmVzdGFydF9sc247CiAJCWludmFsaWRhdGVk ID0gcy0+ZGF0YS5pbnZhbGlkYXRlZCAhPSBSU19JTlZBTF9OT05FOworCQlyZXN0YXJ0X2xz bl9mbHVzaGVkID0gcy0+cmVzdGFydF9sc25fZmx1c2hlZDsKIAkJU3BpbkxvY2tSZWxlYXNl KCZzLT5tdXRleCk7CiAKIAkJLyogaW52YWxpZGF0ZWQgc2xvdHMgbmVlZCBub3QgYXBwbHkg Ki8KIAkJaWYgKGludmFsaWRhdGVkKQogCQkJY29udGludWU7CiAKKwkJLyogdHJ1bmNhdGUg V0FMIGZvciBwZXJzaXN0ZW50IHNsb3RzIGJ5IGZsdXNoZWQgcmVzdGFydF9sc24gKi8KKwkJ aWYgKHBlcnNpc3RlbmN5ID09IFJTX1BFUlNJU1RFTlQpCisJCXsKKwkJCWlmIChyZXN0YXJ0 X2xzbl9mbHVzaGVkICE9IEludmFsaWRYTG9nUmVjUHRyICYmCisJCQkJcmVzdGFydF9sc24g PiByZXN0YXJ0X2xzbl9mbHVzaGVkKQorCQkJeworCQkJCXJlc3RhcnRfbHNuID0gcmVzdGFy dF9sc25fZmx1c2hlZDsKKwkJCX0KKwkJfQorCiAJCWlmIChyZXN0YXJ0X2xzbiA9PSBJbnZh bGlkWExvZ1JlY1B0cikKIAkJCWNvbnRpbnVlOwogCkBAIC0xNDMyLDYgKzE0NjEsNyBAQCBS ZXBsaWNhdGlvblNsb3RSZXNlcnZlV2FsKHZvaWQpCiAKIAlBc3NlcnQoc2xvdCAhPSBOVUxM KTsKIAlBc3NlcnQoc2xvdC0+ZGF0YS5yZXN0YXJ0X2xzbiA9PSBJbnZhbGlkWExvZ1JlY1B0 cik7CisJQXNzZXJ0KHNsb3QtPnJlc3RhcnRfbHNuX2ZsdXNoZWQgPT0gSW52YWxpZFhMb2dS ZWNQdHIpOwogCiAJLyoKIAkgKiBUaGUgcmVwbGljYXRpb24gc2xvdCBtZWNoYW5pc20gaXMg dXNlZCB0byBwcmV2ZW50IHJlbW92YWwgb2YgcmVxdWlyZWQKQEAgLTE2MDcsNiArMTYzNyw4 IEBAIEludmFsaWRhdGVQb3NzaWJseU9ic29sZXRlU2xvdChSZXBsaWNhdGlvblNsb3RJbnZh bGlkYXRpb25DYXVzZSBjYXVzZSwKIAkJICovCiAJCVNwaW5Mb2NrQWNxdWlyZSgmcy0+bXV0 ZXgpOwogCisJCUFzc2VydChzLT5kYXRhLnJlc3RhcnRfbHNuID49IHMtPnJlc3RhcnRfbHNu X2ZsdXNoZWQpOworCiAJCXJlc3RhcnRfbHNuID0gcy0+ZGF0YS5yZXN0YXJ0X2xzbjsKIAog CQkvKiB3ZSBkbyBub3RoaW5nIGlmIHRoZSBzbG90IGlzIGFscmVhZHkgaW52YWxpZCAqLwpA QCAtMTY5MSw3ICsxNzIzLDEwIEBAIEludmFsaWRhdGVQb3NzaWJseU9ic29sZXRlU2xvdChS ZXBsaWNhdGlvblNsb3RJbnZhbGlkYXRpb25DYXVzZSBjYXVzZSwKIAkJCSAqIGp1c3QgcmVs eSBvbiAuaW52YWxpZGF0ZWQuCiAJCQkgKi8KIAkJCWlmIChpbnZhbGlkYXRpb25fY2F1c2Ug PT0gUlNfSU5WQUxfV0FMX1JFTU9WRUQpCisJCQl7CiAJCQkJcy0+ZGF0YS5yZXN0YXJ0X2xz biA9IEludmFsaWRYTG9nUmVjUHRyOworCQkJCXMtPnJlc3RhcnRfbHNuX2ZsdXNoZWQgPSBJ bnZhbGlkWExvZ1JlY1B0cjsKKwkJCX0KIAogCQkJLyogTGV0IGNhbGxlciBrbm93ICovCiAJ CQkqaW52YWxpZGF0ZWQgPSB0cnVlOwpAQCAtMjE4OSw2ICsyMjI0LDcgQEAgU2F2ZVNsb3RU b1BhdGgoUmVwbGljYXRpb25TbG90ICpzbG90LCBjb25zdCBjaGFyICpkaXIsIGludCBlbGV2 ZWwpCiAJaWYgKCFzbG90LT5qdXN0X2RpcnRpZWQpCiAJCXNsb3QtPmRpcnR5ID0gZmFsc2U7 CiAJc2xvdC0+bGFzdF9zYXZlZF9jb25maXJtZWRfZmx1c2ggPSBjcC5zbG90ZGF0YS5jb25m aXJtZWRfZmx1c2g7CisJc2xvdC0+cmVzdGFydF9sc25fZmx1c2hlZCA9IGNwLnNsb3RkYXRh LnJlc3RhcnRfbHNuOwogCVNwaW5Mb2NrUmVsZWFzZSgmc2xvdC0+bXV0ZXgpOwogCiAJTFdM b2NrUmVsZWFzZSgmc2xvdC0+aW9faW5fcHJvZ3Jlc3NfbG9jayk7CkBAIC0yMzg2LDYgKzI0 MjIsNyBAQCBSZXN0b3JlU2xvdEZyb21EaXNrKGNvbnN0IGNoYXIgKm5hbWUpCiAJCXNsb3Qt PmVmZmVjdGl2ZV94bWluID0gY3Auc2xvdGRhdGEueG1pbjsKIAkJc2xvdC0+ZWZmZWN0aXZl X2NhdGFsb2dfeG1pbiA9IGNwLnNsb3RkYXRhLmNhdGFsb2dfeG1pbjsKIAkJc2xvdC0+bGFz dF9zYXZlZF9jb25maXJtZWRfZmx1c2ggPSBjcC5zbG90ZGF0YS5jb25maXJtZWRfZmx1c2g7 CisJCXNsb3QtPnJlc3RhcnRfbHNuX2ZsdXNoZWQgPSBjcC5zbG90ZGF0YS5yZXN0YXJ0X2xz bjsKIAogCQlzbG90LT5jYW5kaWRhdGVfY2F0YWxvZ194bWluID0gSW52YWxpZFRyYW5zYWN0 aW9uSWQ7CiAJCXNsb3QtPmNhbmRpZGF0ZV94bWluX2xzbiA9IEludmFsaWRYTG9nUmVjUHRy OwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vd2Fsc2VuZGVyLmMgYi9z cmMvYmFja2VuZC9yZXBsaWNhdGlvbi93YWxzZW5kZXIuYwppbmRleCAzNzFlZWYzZGRkLi4w M2NkY2UyM2YwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi93YWxzZW5k ZXIuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi93YWxzZW5kZXIuYwpAQCAtMjMy OSw2ICsyMzI5LDcgQEAgc3RhdGljIHZvaWQKIFBoeXNpY2FsQ29uZmlybVJlY2VpdmVkTG9j YXRpb24oWExvZ1JlY1B0ciBsc24pCiB7CiAJYm9vbAkJY2hhbmdlZCA9IGZhbHNlOworCVhM b2dSZWNQdHIJcmVzdGFydF9sc25fZmx1c2hlZDsKIAlSZXBsaWNhdGlvblNsb3QgKnNsb3Qg PSBNeVJlcGxpY2F0aW9uU2xvdDsKIAogCUFzc2VydChsc24gIT0gSW52YWxpZFhMb2dSZWNQ dHIpOwpAQCAtMjMzNiw2ICsyMzM3LDcgQEAgUGh5c2ljYWxDb25maXJtUmVjZWl2ZWRMb2Nh dGlvbihYTG9nUmVjUHRyIGxzbikKIAlpZiAoc2xvdC0+ZGF0YS5yZXN0YXJ0X2xzbiAhPSBs c24pCiAJewogCQljaGFuZ2VkID0gdHJ1ZTsKKwkJcmVzdGFydF9sc25fZmx1c2hlZCA9IHNs b3QtPnJlc3RhcnRfbHNuX2ZsdXNoZWQ7CiAJCXNsb3QtPmRhdGEucmVzdGFydF9sc24gPSBs c247CiAJfQogCVNwaW5Mb2NrUmVsZWFzZSgmc2xvdC0+bXV0ZXgpOwpAQCAtMjM0Myw2ICsy MzQ1LDE3IEBAIFBoeXNpY2FsQ29uZmlybVJlY2VpdmVkTG9jYXRpb24oWExvZ1JlY1B0ciBs c24pCiAJaWYgKGNoYW5nZWQpCiAJewogCQlSZXBsaWNhdGlvblNsb3RNYXJrRGlydHkoKTsK KworCQkvKiBTYXZlIHRoZSByZXBsaWNhdGlvbiBzbG90IG9uIGRpc2sgaW4gY2FzZSBvZiBp dHMgZmx1c2hlZCByZXN0YXJ0X2xzbgorCQkgKiBpcyBpbnZhbGlkLiBTbG90cyB3aXRoIGlu dmFsaWQgcmVzdGFydCBsc24gYXJlIGlnbm9yZWQgd2hlbgorCQkgKiBjYWxjdWxhdGluZyBy ZXF1aXJlZCBMU04uIE9uY2Ugd2Ugc3RhcnRlZCB0byBrZWVwIHRoZSBXQUwgYnkgZmx1c2hl ZAorCQkgKiByZXN0YXJ0IExTTiwgd2Ugc2hvdWxkIHNhdmUgdG8gZGlzayBhbiBpbml0aWFs IHZhbGlkIHZhbHVlLgorCQkgKi8KKwkJaWYgKHNsb3QtPmRhdGEucGVyc2lzdGVuY3kgPT0g UlNfUEVSU0lTVEVOVCkgeworCQkJaWYgKHJlc3RhcnRfbHNuX2ZsdXNoZWQgPT0gSW52YWxp ZFhMb2dSZWNQdHIgJiYgbHNuICE9IEludmFsaWRYTG9nUmVjUHRyKQorCQkJCVJlcGxpY2F0 aW9uU2xvdFNhdmUoKTsKKwkJfQorCiAJCVJlcGxpY2F0aW9uU2xvdHNDb21wdXRlUmVxdWly ZWRMU04oKTsKIAkJUGh5c2ljYWxXYWtldXBMb2dpY2FsV2FsU25kKCk7CiAJfQpkaWZmIC0t Z2l0IGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vc2xvdC5oIGIvc3JjL2luY2x1ZGUvcmVw bGljYXRpb24vc2xvdC5oCmluZGV4IGQyY2Y3ODZmZDUuLmU2NjI0OGI4MmQgMTAwNjQ0Ci0t LSBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3Nsb3QuaAorKysgYi9zcmMvaW5jbHVkZS9y ZXBsaWNhdGlvbi9zbG90LmgKQEAgLTIxMSw2ICsyMTEsMTAgQEAgdHlwZWRlZiBzdHJ1Y3Qg UmVwbGljYXRpb25TbG90CiAJICogcmVjZW50bHkgc3RvcHBlZC4KIAkgKi8KIAlUaW1lc3Rh bXBUeiBpbmFjdGl2ZV9zaW5jZTsKKworCS8qIExhdGVzdCByZXN0YXJ0IExTTiB0aGF0IHdh cyBmbHVzaGVkIHRvIGRpc2sgKi8KKwlYTG9nUmVjUHRyIHJlc3RhcnRfbHNuX2ZsdXNoZWQ7 CisKIH0gUmVwbGljYXRpb25TbG90OwogCiAjZGVmaW5lIFNsb3RJc1BoeXNpY2FsKHNsb3Qp ICgoc2xvdCktPmRhdGEuZGF0YWJhc2UgPT0gSW52YWxpZE9pZCkKLS0gCjIuMzQuMQoK ------=_=-_OpenGroupware_org_NGMime-79336-1734100441.762848-11------ Content-Type: text/x-patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0002-Fix-src-recovery-t-001_stream_rep.pl-after-changes-i.patch" Content-Length: 1350 RnJvbSBmOTUwYmIxMDk1NjNjZTQwN2E1OTcyYWJiZDJmYzkzMWVmMThkYmViIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBWaXRhbHkgRGF2eWRvdiA8di5kYXZ5ZG92QHBvc3Rn cmVzcHJvLnJ1PgpEYXRlOiBGcmksIDEzIERlYyAyMDI0IDE2OjAyOjE0ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAyLzJdIEZpeCBzcmMvcmVjb3ZlcnkvdC8wMDFfc3RyZWFtX3JlcC5wbCBh ZnRlciBjaGFuZ2VzIGluCiByZXN0YXJ0IGxzbgoKLS0tCiBzcmMvdGVzdC9yZWNvdmVyeS90 LzAwMV9zdHJlYW1fcmVwLnBsIHwgMyArKysKIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAwMV9zdHJlYW1fcmVw LnBsIGIvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMDFfc3RyZWFtX3JlcC5wbAppbmRleCBmM2Vh NDVhYzRhLi45NWY2MWNhYmZjIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAw MV9zdHJlYW1fcmVwLnBsCisrKyBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDAxX3N0cmVhbV9y ZXAucGwKQEAgLTU1Myw2ICs1NTMsOSBAQCBjaG9tcCgkcGh5c19yZXN0YXJ0X2xzbl9wb3N0 KTsKIG9rKCAoJHBoeXNfcmVzdGFydF9sc25fcHJlIGNtcCAkcGh5c19yZXN0YXJ0X2xzbl9w b3N0KSA9PSAwLAogCSJwaHlzaWNhbCBzbG90IGFkdmFuY2UgcGVyc2lzdHMgYWNyb3NzIHJl c3RhcnRzIik7CiAKKyMgQ2xlYW51cCB1bnVzZWQgV0FMIHNlZ21lbnRzCiskbm9kZV9wcmlt YXJ5LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNIRUNLUE9JTlQ7Iik7CisKICMgQ2hlY2sg aWYgdGhlIHByZXZpb3VzIHNlZ21lbnQgZ2V0cyBjb3JyZWN0bHkgcmVjeWNsZWQgYWZ0ZXIg dGhlCiAjIHNlcnZlciBzdG9wcGVkIGNsZWFubHksIGNhdXNpbmcgYSBzaHV0ZG93biBjaGVj a3BvaW50IHRvIGJlIGdlbmVyYXRlZC4KIG15ICRwcmltYXJ5X2RhdGEgPSAkbm9kZV9wcmlt YXJ5LT5kYXRhX2RpcjsKLS0gCjIuMzQuMQoK ------=_=-_OpenGroupware_org_NGMime-79336-1734100441.762848-11--------