Dear all, 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 <philipp.reis...@linbit.com>: > > > Hello DRBD-users, > > > 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. > > 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. > > 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. > > And here is the problem for a random user-space process, it got an > unexpected errno from open() and terminated. > > 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. > > Please help test the release candidate. > > 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 > > > https://pkg.linbit.com//downloads/drbd/9/drbd-9.1.22-rc.1.tar.gz > https://github.com/LINBIT/drbd/commit/d10418bf63f0b664305d9bd4779cb48965d434f5 > > https://pkg.linbit.com//downloads/drbd/9/drbd-9.2.11-rc.1.tar.gz > https://github.com/LINBIT/drbd/commit/c52d24bca2b1c659bfba19d19602c7e319c7416d >