From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by mail19.linbit.com (LINBIT Mail Daemon) with ESMTP id 0A0201609AD for ; Mon, 22 Sep 2025 17:42:14 +0200 (CEST) Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-3f0134ccc0cso3425841f8f.1 for ; Mon, 22 Sep 2025 08:42:14 -0700 (PDT) Received: from ryzen9 (193-80-33-59.hdsl.highway.telekom.at. [193.80.33.59]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3fe9dbf13f3sm4588878f8f.50.2025.09.22.08.42.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Sep 2025 08:42:13 -0700 (PDT) From: Philipp Reisner To: drbd-announce@lists.linbit.com Subject: drbd-9.2.15 Date: Mon, 22 Sep 2025 17:42:11 +0200 Message-ID: <86segeqyss.fsf@linbit.com> MIME-Version: 1.0 Content-Type: text/plain Reply-To: drbd-user@lists.linbit.com List-Id: Announcements of new releases and critical bugs found List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Hi, This release includes the usual number of fixes, triggered by various corner cases, each of which affected only a small part of our user base. As usual, we added tests covering such corner cases to our test suite where it seems reasonable. One of the larger changes is support for compatibility with drbd v8. We kept protocol compatibility since we forked off drbd v9. However, we intentionally broke the /proc/drbd interface and the drbdsetup command line, for good reasons. We are now reintroducing this compatibility, on an optional basis. You need to enable it at compile time by passing "CONFIG_DRBD_COMPAT_84=y" on the make command line. This is a preparation step for submitting drbd-9 as an update of drbd v8.4 in the upstream Linux kernel. I also need to mention that drbd-9.2.14 has a slight performance regression compared to drbd-9.2.13. The receiver thread can consume up to 5% more CPU (relative to earlier releases). This is a consequence of removing the 'open-coded custom page pool'. This is the first step in a larger plan to enable drbd to use compound pages as I/O buffers, and it will also enable zero-copy receive from TCP. With that, such a page pool becomes unnecessary, and it will reduce CPU usage below that of drbd-9.2.13. We did not address this slight performance regression in drbd-9.2.15 as I consider it temporarily acceptable. 9.2.15 (api:genl2/proto:86-101,118-122/transport:19) -------- * Fixed the regression introduced with 9.2.13, where a DRBD primary resource never finishes a resync with a newly added peer * Make DRBD's ability to discard(trim) blocks on a resync-target if they are all zero on the sync source compatible with block devices that have a lower max_hw_sectors_kb value than the rs-discard-granularity * Fixed a regression introduced with 9.2.8, where DRBD failed to write the metadata to its new location after an online resize, when the "two-node cluster, no AL-updates on secondary" optimization was active * Added a missing spinlock in the code responsible for applying unacknowledged peer requests to the bitmap, i.e. when a peer leaves the cluster unexpectedly; We never got a crash report on Linux caused by the missing spinlock, the bug was discovered on Windows (winDRBD) * A bunch of fixes for the RDMA transport: A potential BUG() when removing the transport_rdma module, a memory leak upon a send failure, a race between re-creating rx descriptors and disconnecting, and a NULL ptr deref as a consequence of a race between removing a path and accepting a connection * Add the kernel side of drbd v8 compatibility, which includes drbdsetup command line compatibility, reading and writing of v8 metadata, and v8 style /proc/drbd. By default, this is not compiled in * Verified compatibility for Linux-6.16 and 6.17-rc5 https://pkg.linbit.com//downloads/drbd/9/drbd-9.2.15.tar.gz https://github.com/LINBIT/drbd/commit/988c6ec892b40a3ef1b8e968ef277308753d7200 cheers, Philipp