From b3c8e3f7cbd0815606f5f6b073f4b41ae52a9c87 Mon Sep 17 00:00:00 2001
From: GeorgyKirichenko <kirichenkoga@gmail.com>
Date: Thu, 10 Nov 2016 09:34:16 +0300
Subject: [PATCH] Preserve errno in fil_filename func. Issue #1902 fio_filename
 replace errno by readlink call and can be used for error logging

---
 src/fio.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/fio.c b/src/fio.c
index c8de3e0167..08e2a04559 100644
--- a/src/fio.c
+++ b/src/fio.c
@@ -47,6 +47,7 @@ const char *
 fio_filename(int fd)
 {
 #ifdef TARGET_OS_LINUX
+	int save_errno = errno;
 	char proc_path[32];
 	static __thread char filename_path[PATH_MAX];
 
@@ -54,7 +55,7 @@ fio_filename(int fd)
 
 	ssize_t sz = readlink(proc_path, filename_path,
 			      sizeof(filename_path));
-
+	errno = save_errno;
 	if (sz >= 0) {
 		filename_path[sz] = '\0';
 		return filename_path;
-- 
GitLab