Re: Incorrect errno used with %m for backend code

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com>
Cc: Postgres hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Incorrect errno used with %m for backend code
Date: 2018-06-24 12:23:50
Message-ID: 20180624122350.GA1146@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Jun 24, 2018 at 09:22:01AM +0530, Ashutosh Sharma wrote:
> Okay, I too had a quick look into the source code to see if there are
> still some places where we could have missed to set an errno to ENOSPC
> in case of write system call failure but, couldn't find any such place
> in the code. The v2 version of patch looks good to me.

Thanks for the review. I'll try to wrap that tomorrow with proper
patches for back-branches as things diverge a bit here and there.

> So, to conclude, now, v2 patch fixes two things - 1) It makes ereport
> to print a correct error number (the error number that matches with
> the error message), 2) It sets the errno to ENOSPC (assuming that the
> problem is no disk space) if write system call fails to set an errno.

Yes, 1) and 2) and not completely exclusive either, there are some code
paths where both problems happen, like RecreateTwoPhaseFile.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2018-06-24 13:33:08 Re: Concurrency bug in UPDATE of partition-key
Previous Message Andrew Dunstan 2018-06-24 11:27:14 Re: Invisible Indexes