Fix error reporting after ioctl() call with pg_upgrade --clone
errno was not reported correctly after attempting to clone a file,
leading to incorrect error reports. While scanning through the code, I
have not noticed any similar mistakes.
Error introduced in 3a769d8
.
Author: Justin Pryzby
Discussion: https://postgr.es/m/20220731134135.GY15006@telsasoft.com
Backpatch-through: 12
This commit is contained in:
parent
2827f108d1
commit
8b1ec7d295
|
@ -57,9 +57,12 @@ cloneFile(const char *src, const char *dst,
|
|||
|
||||
if (ioctl(dest_fd, FICLONE, src_fd) < 0)
|
||||
{
|
||||
int save_errno = errno;
|
||||
|
||||
unlink(dst);
|
||||
|
||||
pg_fatal("error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s",
|
||||
schemaName, relName, src, dst, strerror(errno));
|
||||
schemaName, relName, src, dst, strerror(save_errno));
|
||||
}
|
||||
|
||||
close(src_fd);
|
||||
|
|
Loading…
Reference in New Issue