Re: Incorrect errno used with %m for backend code
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Ashutosh Sharma <ashu.coek88@gmail.com>
Cc: Postgres hackers <pgsql-hackers@postgresql.org>
Date: 2018-06-24T12:23:50Z
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
Commits
-
Address set of issues with errno handling
- f53ed82b7fee 9.3.24 landed
- 79b5b101f992 9.4.19 landed
- 910e2aca129c 9.5.14 landed
- 7fdf56b0a796 9.6.10 landed
- 6eec6724ff45 10.5 landed
- 6cb3372411fd 11.0 landed