drbd-9.1.22-rc.1 and drbd-9.2.11-rc.1
Ralph Ort
ralph.ort at tec-brain.de
Mon Aug 5 15:38:19 CEST 2024
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.reisner at 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
>
More information about the drbd-user
mailing list