From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id C469E1FF0A7 for ; Tue, 18 Aug 2026 10:08:58 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id E11AB214CC; Tue, 18 Aug 2026 10:08:56 +0200 (CEST) From: Kefu Chai To: pve-devel@lists.proxmox.com Subject: [PATCH ceph v2 0/1] backport fix for EC truncate+write planning corrupting shards Date: Tue, 18 Aug 2026 16:08:41 +0800 Message-ID: <20260818080842.1261466-1-k.chai@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1787040508695 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.533 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: CW7NW2IYU2SQUSEFHBXSFXMJHNVQR55N X-Message-ID-Hash: CW7NW2IYU2SQUSEFHBXSFXMJHNVQR55N X-MailFrom: k.chai@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: t.lamprecht@proxmox.com X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: v2: add the missing "ceph" project tag to the subject (was posted as a bare "[PATCH]" in v1: 20260812082022.2910768-1-k.chai@proxmox.com). No code change from v1 (range-diff confirms the patch is byte-identical). Ceph 20.2.1 and 20.2.2 both carry a regression in EC shard-size planning for truncate+write transactions on pools with allow_ec_optimizations: affected objects fail decode with a ceph_assert on read, and since recovery reads hit the same code path, OSDs crash-loop on startup and the damage follows PG remapping (https://tracker.ceph.com/issues/77276, https://tracker.ceph.com/issues/78400). The stored shards themselves stay intact (this is a read-path assertion, not silent data corruption), but a crash-looping OSD that takes an EC pool inactive is a production problem, and it's already hit at least one reported deployment (see tracker #78400 note 7 for interim recovery guidance for anyone affected before the fix ships). The upstream fix (a1bb747293b) landed in Tentacle after 20.2.2 was already tagged, so it will only ship with the next ceph point release. This backports the single commit ahead of that so our packaging isn't carrying the regression in the meantime. Given the production impact, please consider this for the next point release / repository push. Kefu Chai (1): backport fix for EC truncate+write planning corrupting shards ...n-fix-truncate-write-planning-for-EC.patch | 128 ++++++++++++++++++ patches/series | 1 + 2 files changed, 129 insertions(+) create mode 100644 patches/0014-osd-ECTransaction-fix-truncate-write-planning-for-EC.patch -- 2.47.3