Re: drbd-9.1.22-rc.1 and drbd-9.2.11-rc.1

GM <[email protected]> Wed, 14 Aug 2024 19:47:46 +0100
Newsgroups gmane.comp.linux.drbd
Message-ID <CACzVk9VRvhELQ93_i=mP1p9jzFJ2wxUrYOJFEF7dH9qY+V+b=A@mail.gmail.com>
--0000000000002b62ec061fa92a2c
Content-Type: text/plain; charset="UTF-8"

There's an unsubscribe option in their mailing list page... hope it helps.

https://lists.linbit.com/mailman/listinfo/drbd-user



On Mon, 12 Aug 2024 at 10:36, Ralph Ort <[email protected]> wrote:

> 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 <
> [email protected]>:
> >
> >
> > 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
> >
>
>

--0000000000002b62ec061fa92a2c
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div><div><div dir=3D"auto" style=3D"font-family:-apple-system,helveticaneu=
e;font-size:17px;font-style:normal;font-weight:400;letter-spacing:normal;te=
xt-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-=
decoration:none;background-color:rgba(0,0,0,0);border-color:rgb(0,0,0);colo=
r:rgb(0,0,0)">There&#39;s an unsubscribe option in their mailing list page.=
.. hope it helps.</div><div dir=3D"auto" style=3D"font-family:-apple-system=
,helveticaneue;font-size:17px;font-style:normal;font-weight:400;letter-spac=
ing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spac=
ing:0px;text-decoration:none;background-color:rgba(0,0,0,0);border-color:rg=
b(0,0,0);color:rgb(0,0,0)"><br></div><div dir=3D"auto" style=3D"font-family=
:-apple-system,helveticaneue;font-size:17px;font-style:normal;font-weight:4=
00;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:no=
rmal;word-spacing:0px;text-decoration:none;background-color:rgba(0,0,0,0);b=
order-color:rgb(0,0,0);color:rgb(0,0,0)"><div style=3D"font-family:-apple-s=
ystem,helveticaneue;background-color:rgba(0,0,0,0);border-color:rgb(0,0,0);=
color:rgb(0,0,0)"><a href=3D"https://lists.linbit.com/mailman/listinfo/drbd=
-user">https://lists.linbit.com/mailman/listinfo/drbd-user</a></div></div><=
br></div><br></div><div><br><div class=3D"gmail_quote"><div dir=3D"ltr" cla=
ss=3D"gmail_attr">On Mon, 12 Aug 2024 at 10:36, Ralph Ort &lt;<a href=3D"ma=
ilto:[email protected]">[email protected]</a>&gt; wrote:<br></div=
><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border=
-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:=
rgb(204,204,204)">Dear all, <br>
thanks for all the efforts over the years.<br>
Mind you, please, removing me from the DL?<br>
have a great time, cheers<br>
Ralph<br>
<br>
<br>
&gt; Am 05.08.2024 um 15:22 schrieb Philipp Reisner &lt;<a href=3D"mailto:p=
[email protected]" target=3D"_blank">[email protected]</a>=
&gt;:<br>
&gt; <br>
&gt; <br>
&gt; Hello DRBD-users,<br>
&gt; <br>
&gt; <br>
&gt; A detail I never cared about is if a syscall gets restarted or returns=
<br>
&gt; EINTR after the arrival of a signal. What made me learn this detail is=
 a<br>
&gt; customer whose system newly created processes get a signal. Often, a<b=
r>
&gt; process open()s the resources it needs to work with first, and in this=
<br>
&gt; occation, that was a drbd device.<br>
&gt; <br>
&gt; When auto-promote is enabled (which it is by default), DRBD will promo=
te<br>
&gt; the drbd device to primary in the open() system call of a user space<b=
r>
&gt; process. It needs to exchange some network packets, which can easily<b=
r>
&gt; take milliseconds.<br>
&gt; <br>
&gt; Now, when a (non-fatal) signal arrived at just that moment, DRBD<br>
&gt; dutifully interrupted the promote operation and returned to user space=
,<br>
&gt; with an errno indicating that the device was not primary.<br>
&gt; <br>
&gt; And here is the problem for a random user-space process, it got an<br>
&gt; unexpected errno from open() and terminated.<br>
&gt; <br>
&gt; Then, I learned about EINTR and restartable syscalls. Starting with th=
is<br>
&gt; release, DRBD will restart the open() syscall in such a scenario unles=
s<br>
&gt; the user prepared to receive an EINTR from open() by calling sigaction=
()<br>
&gt; and omitting SA_RESTART before.<br>
&gt; <br>
&gt; Please help test the release candidate.<br>
&gt; <br>
&gt; 9.2.11-rc.1 (api:genl2/proto:86-122/transport:19)<br>
&gt; --------<br>
&gt; * Changed merged rom 9.1.22<br>
&gt;=C2=A0 - Upgrade from partial resync to a full resync if necessary when=
 the<br>
&gt;=C2=A0 =C2=A0 user manually resolves a split-brain situation<br>
&gt;=C2=A0 - Fix a potential NULL deref when a disk fails while doing a<br>
&gt;=C2=A0 =C2=A0 forget-peer operation.<br>
&gt;=C2=A0 - Fix a rcu_read_lock()/rcu_read_unlock() imbalance<br>
&gt;=C2=A0 - Restart the open() syscall when a process auto promoting a drb=
d device gets<br>
&gt;=C2=A0 =C2=A0 interrupted by a signal<br>
&gt;=C2=A0 - Remove a deadlock that caused DRBD to connect sometimes<br>
&gt;=C2=A0 =C2=A0 exceptionally slow<br>
&gt;=C2=A0 - Make detach operations interruptible<br>
&gt;=C2=A0 - Added dev_is_open to events2 status information<br>
&gt;=C2=A0 - Improve log readability for 2PC state changes and drbd-threads=
<br>
&gt;=C2=A0 - Updated compability code for Linux 6.9<br>
&gt; <br>
&gt; <br>
&gt; <a href=3D"https://pkg.linbit.com//downloads/drbd/9/drbd-9.1.22-rc.1.t=
ar.gz" rel=3D"noreferrer" target=3D"_blank">https://pkg.linbit.com//downloa=
ds/drbd/9/drbd-9.1.22-rc.1.tar.gz</a><br>
&gt; <a href=3D"https://github.com/LINBIT/drbd/commit/d10418bf63f0b664305d9=
bd4779cb48965d434f5" rel=3D"noreferrer" target=3D"_blank">https://github.co=
m/LINBIT/drbd/commit/d10418bf63f0b664305d9bd4779cb48965d434f5</a><br>
&gt; <br>
&gt; <a href=3D"https://pkg.linbit.com//downloads/drbd/9/drbd-9.2.11-rc.1.t=
ar.gz" rel=3D"noreferrer" target=3D"_blank">https://pkg.linbit.com//downloa=
ds/drbd/9/drbd-9.2.11-rc.1.tar.gz</a><br>
&gt; <a href=3D"https://github.com/LINBIT/drbd/commit/c52d24bca2b1c659bfba1=
9d19602c7e319c7416d" rel=3D"noreferrer" target=3D"_blank">https://github.co=
m/LINBIT/drbd/commit/c52d24bca2b1c659bfba19d19602c7e319c7416d</a><br>
&gt; <br>
<br>
</blockquote></div></div>

--0000000000002b62ec061fa92a2c--