[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#8106) Retry pwrite operations in case of EINTR



--047d7bd910b0d34afe0513f14c84
Content-Type: text/plain; charset=UTF-8

Hello,
we've encountered this problem mainly on Android device. The kernel sends a
fake signal and the baking storage(flash) is not so fast.
I've noticed a typo in my patch for the macro DO_PWRITE in
mdb_env_init_meta. The test should be done for EINTR, not EINVAL.
Do you want me to resend the patch?

Thanks,
Dmytro

On Fri, Apr 17, 2015 at 7:34 PM, Howard Chu <hyc@symas.com> wrote:

> milinevskyy@gmail.com wrote:
>
>> Full_Name: Dmytro Milinevskyy
>> Version:
>> OS: Linux
>> URL: ftp://ftp.openldap.org/incoming/
>> Submission from: (NULL) (92.132.131.166)
>>
>>
>> On linux systems it's common to have system calls interrupted and
>> restarted.
>> LMDB should retry pwrites to avoid "false" failures.
>>
>
> In practice, writes to a file are "fast" and will always write at least
> one byte. But we've patched this as suggested, thanks.
>
> --
>   -- Howard Chu
>   CTO, Symas Corp.           http://www.symas.com
>   Director, Highland Sun     http://highlandsun.com/hyc/
>   Chief Architect, OpenLDAP  http://www.openldap.org/project/
>

--047d7bd910b0d34afe0513f14c84
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><div><div>Hello,<br>we&#39;ve encountered this proble=
m mainly on Android device. The kernel sends a fake signal and the baking s=
torage(flash) is not so fast.<br>I&#39;ve noticed a typo in my patch for th=
e macro DO_PWRITE in mdb_env_init_meta. The test should be done for EINTR, =
not EINVAL.<br></div>Do you want me to resend the patch?<br><br></div>Thank=
s,<br></div>Dmytro<br></div><div class=3D"gmail_extra"><br><div class=3D"gm=
ail_quote">On Fri, Apr 17, 2015 at 7:34 PM, Howard Chu <span dir=3D"ltr">&l=
t;<a href=3D"mailto:hyc@symas.com"; target=3D"_blank">hyc@symas.com</a>&gt;<=
/span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8=
ex;border-left:1px #ccc solid;padding-left:1ex"><a href=3D"mailto:milinevsk=
yy@gmail.com" target=3D"_blank">milinevskyy@gmail.com</a> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Full_Name: Dmytro Milinevskyy<br>
Version:<br>
OS: Linux<br>
URL: <a href=3D"ftp://ftp.openldap.org/incoming/"; target=3D"_blank">ftp://f=
tp.openldap.org/incoming/</a><br>
Submission from: (NULL) (92.132.131.166)<br>
<br>
<br>
On linux systems it&#39;s common to have system calls interrupted and resta=
rted.<br>
LMDB should retry pwrites to avoid &quot;false&quot; failures.<br>
</blockquote>
<br>
In practice, writes to a file are &quot;fast&quot; and will always write at=
 least one byte. But we&#39;ve patched this as suggested, thanks.<span clas=
s=3D"HOEnZb"><font color=3D"#888888"><br>
<br>
-- <br>
=C2=A0 -- Howard Chu<br>
=C2=A0 CTO, Symas Corp.=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"=
http://www.symas.com"; target=3D"_blank">http://www.symas.com</a><br>
=C2=A0 Director, Highland Sun=C2=A0 =C2=A0 =C2=A0<a href=3D"http://highland=
sun.com/hyc/" target=3D"_blank">http://highlandsun.com/hyc/</a><br>
=C2=A0 Chief Architect, OpenLDAP=C2=A0 <a href=3D"http://www.openldap.org/p=
roject/" target=3D"_blank">http://www.openldap.org/project/</a><br>
</font></span></blockquote></div><br></div>

--047d7bd910b0d34afe0513f14c84--