Re: Use pg_pwritev_with_retry() instead of write() in dir_open_for_write() to avoid partial writes?

From: Andres Freund <andres(at)anarazel(dot)de>
To: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
Cc: bharath(dot)rupireddyforpostgres(at)gmail(dot)com, michael(at)paquier(dot)xyz, alvherre(at)alvh(dot)no-ip(dot)org, nathandbossart(at)gmail(dot)com, thomas(dot)munro(at)gmail(dot)com, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Use pg_pwritev_with_retry() instead of write() in dir_open_for_write() to avoid partial writes?
Date: 2023-02-15 02:00:28
Message-ID: 20230215020028.z3czhaje3fkd745f@awork3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi

On 2023-02-15 10:28:37 +0900, Kyotaro Horiguchi wrote:
> At Tue, 14 Feb 2023 16:55:25 -0800, Andres Freund <andres(at)anarazel(dot)de> wrote in
> > Hi,
> >
> > On 2023-02-14 18:00:00 +0530, Bharath Rupireddy wrote:
> > > Done, PSA v2 patch.
> >
> > This feels way too complicated to me. How about something more like the
> > attached?
>
> I like this one, but the parameters offset and size are in a different
> order from pwrite(fd, buf, count, offset). I perfer the arrangement
> suggested by Bharath.

Yes, it probably is better. Not sure why I went with that order.

> And isn't it better to use Min(remaining_size, BLCKSZ) instead of a bare if
> statement?

I really can't make myself care about which version is better :)

Greetings,

Andres Freund

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Smith 2023-02-15 02:16:31 Re: [PATCH] Use indexes on the subscriber when REPLICA IDENTITY is full on the publisher
Previous Message Justin Pryzby 2023-02-15 01:32:56 Re: Improve logging when using Huge Pages