Fix handling of copy_file_range() return value - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Fix handling of copy_file_range() return value
Date
Msg-id 3208cf7a-c7f3-41eb-92f6-33cbeff4df40@eisentraut.org
Whole thread
Responses Re: Fix handling of copy_file_range() return value
Re: Fix handling of copy_file_range() return value
List pgsql-hackers
While checking return/error handling of file system calls, I found that 
the copy_file_range() call in pg_combinebackup has a potential problem. 
If copy_file_range() returns 0, which is a documented condition, then 
the loop never makes progress and could spin forever.

The other uses of copy_file_range() in the tree are surrounded by 
different logic and don't appear to have this problem.

My suggested fix is to make a return value of 0 an error.  It most 
likely indicates that the source file has an unexpected size.

Attachment

pgsql-hackers by date:

Previous
From: Henson Choi
Date:
Subject: Re: Row pattern recognition
Next
From: Kyotaro Horiguchi
Date:
Subject: Re: doc: should pg_createsubscriber be grouped as a client application?