Re: drbd-9.1.22-rc.1 and drbd-9.2.11-rc.1
Ralph Ort <[email protected]> Mon, 5 Aug 2024 15:38:19 +0200
| Newsgroups | gmane.comp.linux.drbd |
|---|---|
| Message-ID | <[email protected]> |
Dear all,=20 thanks for all the efforts over the years. Mind you, please, removing me from the DL? have a great time, cheers Ralph > Am 05.08.2024 um 15:22 schrieb Philipp Reisner = <[email protected]>: >=20 >=20 > Hello DRBD-users, >=20 >=20 > A detail I never cared about is if a syscall gets restarted or returns > EINTR after the arrival of a signal. What made me learn this detail is = a > customer whose system newly created processes get a signal. Often, a > process open()s the resources it needs to work with first, and in this > occation, that was a drbd device. >=20 > When auto-promote is enabled (which it is by default), DRBD will = promote > the drbd device to primary in the open() system call of a user space > process. It needs to exchange some network packets, which can easily > take milliseconds. >=20 > Now, when a (non-fatal) signal arrived at just that moment, DRBD > dutifully interrupted the promote operation and returned to user = space, > with an errno indicating that the device was not primary. >=20 > And here is the problem for a random user-space process, it got an > unexpected errno from open() and terminated. >=20 > Then, I learned about EINTR and restartable syscalls. Starting with = this > release, DRBD will restart the open() syscall in such a scenario = unless > the user prepared to receive an EINTR from open() by calling = sigaction() > and omitting SA_RESTART before. >=20 > Please help test the release candidate. >=20 > 9.2.11-rc.1 (api:genl2/proto:86-122/transport:19) > -------- > * Changed merged rom 9.1.22 > - Upgrade from partial resync to a full resync if necessary when the > user manually resolves a split-brain situation > - Fix a potential NULL deref when a disk fails while doing a > forget-peer operation. > - Fix a rcu_read_lock()/rcu_read_unlock() imbalance > - Restart the open() syscall when a process auto promoting a drbd = device gets > interrupted by a signal > - Remove a deadlock that caused DRBD to connect sometimes > exceptionally slow > - Make detach operations interruptible > - Added dev_is_open to events2 status information > - Improve log readability for 2PC state changes and drbd-threads > - Updated compability code for Linux 6.9 >=20 >=20 > https://pkg.linbit.com//downloads/drbd/9/drbd-9.1.22-rc.1.tar.gz > = https://github.com/LINBIT/drbd/commit/d10418bf63f0b664305d9bd4779cb48965d4= 34f5 >=20 > https://pkg.linbit.com//downloads/drbd/9/drbd-9.2.11-rc.1.tar.gz > = https://github.com/LINBIT/drbd/commit/c52d24bca2b1c659bfba19d19602c7e319c7= 416d >=20