Re: pgsql: Address set of issues with errno handling

2018-08-04 Thread Tom Lane
Michael Paquier writes: > On Sat, Aug 04, 2018 at 11:21:28AM -0400, Tom Lane wrote: >> IMO, it's OK to push this this weekend if you have time. > OK, done now down to 9.3. Thanks! regards, tom lane

Re: pgsql: Address set of issues with errno handling

2018-08-04 Thread Michael Paquier
On Sat, Aug 04, 2018 at 11:21:28AM -0400, Tom Lane wrote: > That looks good as far as it goes. I didn't cross-check that you > hit everyplace that needs this, but if you grepped for references to > ENOSPC then you presumably found them all. That's exactly how the history goes. > IMO, it's OK to

Re: pgsql: Address set of issues with errno handling

2018-08-04 Thread Tom Lane
Michael Paquier writes: > On Fri, Aug 03, 2018 at 04:04:36PM -0400, Tom Lane wrote: >> You need to go back and add the pre-clearing of errno in each of these >> places, otherwise the added code is basically useless. > I looked at all code paths enforcing ENOSPC on write() calls, and > attached is

Re: pgsql: Address set of issues with errno handling

2018-08-04 Thread Michael Paquier
On Fri, Aug 03, 2018 at 04:04:36PM -0400, Tom Lane wrote: > That's not good enough, because there is no reason to suppose that errno > is initially zero; in reality it'll be whatever was left over from the > last failed syscall, perhaps far distant from here. The places that do > this correctly do

Re: pgsql: Address set of issues with errno handling

2018-08-03 Thread Tom Lane
Michael Paquier writes: > Address set of issues with errno handling I happened to look at this patch while working up the release notes, and I don't think it's right at all for this aspect: > 1) For write() calls, sometimes the system may return less bytes than > what has been written without er