Recent changes (master)

Jens Axboe <[email protected]> Thu, 19 Mar 2026 06:00:01 -0600
Newsgroups org.kernel.vger.fio
Message-ID <[email protected]>
The following changes since commit 4db5740d27942e5a36b091ace763b188888b6f9e:

  stat: improve latency target reporting (2026-03-16 11:13:04 -0400)

are available in the Git repository at:

  git://git.kernel.dk/fio.git master

for you to fetch changes up to 698fa8f0682b809b3f85f50c593067e90108f92e:

  Merge branch 'fix-null-comm-prctl' of https://github.com/Criticayon/fio (2026-03-18 19:31:08 -0600)

----------------------------------------------------------------
Criticayon Black (1):
      backend: guard prctl(PR_SET_NAME) against NULL thread name

Jens Axboe (1):
      Merge branch 'fix-null-comm-prctl' of https://github.com/Criticayon/fio

Minwoo Im (1):
      options: add support more POSIX errnos

Vincent Fu (1):
      Merge branch 'posix-errnos' of https://github.com/minwooim/fio

 backend.c |  3 ++-
 options.c | 34 +++++++++++++++++++++++++++++++---
 2 files changed, 33 insertions(+), 4 deletions(-)

---

Diff of recent changes:

diff --git a/backend.c b/backend.c
index 8ce85818..c63bbd07 100644
--- a/backend.c
+++ b/backend.c
@@ -1823,7 +1823,8 @@ static void *thread_main(void *data)
 	fio_local_clock_init();
 
 #ifdef CONFIG_LINUX
-	prctl(PR_SET_NAME, o->comm);
+	if (o->comm)
+		prctl(PR_SET_NAME, o->comm);
 #endif
 
 	dprint(FD_PROCESS, "jobs pid=%d started\n", (int) td->pid);
diff --git a/options.c b/options.c
index a4cd1a77..f418179b 100644
--- a/options.c
+++ b/options.c
@@ -525,12 +525,40 @@ static int str2error(char *str)
 			    "EXDEV", "ENODEV", "ENOTDIR", "EISDIR",
 			    "EINVAL", "ENFILE", "EMFILE", "ENOTTY",
 			    "ETXTBSY","EFBIG", "ENOSPC", "ESPIPE",
-			    "EROFS","EMLINK", "EPIPE", "EDOM", "ERANGE" };
+			    "EROFS","EMLINK", "EPIPE", "EDOM", "ERANGE",
+			    "EDEADLK", "ENAMETOOLONG", "ENOLCK", "ENOSYS", "ENOTEMPTY",
+			    "ELOOP", "EWOULDBLOCK", "ENOMSG", "EIDRM", "ECHRNG",
+			    "EL2NSYNC", "EL3HLT", "EL3RST", "ELNRNG", "EUNATCH",
+			    "ENOCSI", "EL2HLT", "EBADE", "EBADR", "EXFULL",
+			    "ENOANO", "EBADRQC", "EBADSLT", "EDEADLOCK", "EBFONT",
+			    "ENOSTR", "ENODATA", "ETIME", "ENOSR", "ENONET",
+			    "ENOPKG", "EREMOTE", "ENOLINK", "EADV", "ESRMNT",
+			    "ECOMM", "EPROTO", "EMULTIHOP", "EDOTDOT", "EBADMSG",
+			    "EOVERFLOW", "ENOTUNIQ", "EBADFD", "EREMCHG", "ELIBACC",
+			    "ELIBBAD", "ELIBSCN", "ELIBMAX", "ELIBEXEC", "EILSEQ",
+			    "ERESTART", "ESTRPIPE", "EUSERS", "ENOTSOCK", "EDESTADDRREQ",
+			    "EMSGSIZE", "EPROTOTYPE", "ENOPROTOOPT", "EPROTONOSUPPORT", "ESOCKTNOSUPPORT",
+			    "EOPNOTSUPP", "EPFNOSUPPORT", "EAFNOSUPPORT", "EADDRINUSE", "EADDRNOTAVAIL",
+			    "ENETDOWN", "ENETUNREACH", "ENETRESET", "ECONNABORTED", "ECONNRESET",
+			    "ENOBUFS", "EISCONN", "ENOTCONN", "ESHUTDOWN", "ETOOMANYREFS",
+			    "ETIMEDOUT", "ECONNREFUSED", "EHOSTDOWN", "EHOSTUNREACH", "EALREADY",
+			    "EINPROGRESS", "ESTALE", "EUCLEAN", "ENOTNAM", "ENAVAIL",
+			    "EISNAM", "EREMOTEIO", "EDQUOT", "ENOMEDIUM", "EMEDIUMTYPE",
+			    "ECANCELED", "ENOKEY", "EKEYEXPIRED", "EKEYREVOKED", "EKEYREJECTED",
+			    "EOWNERDEAD", "ENOTRECOVERABLE", "ERFKILL", "EHWPOISON" };
 	int i = 0, num = sizeof(err) / sizeof(char *);
+	int retval;
 
 	while (i < num) {
-		if (!strcmp(err[i], str))
-			return i + 1;
+		if (!strcmp(err[i], str)) {
+			retval = i + 1;
+			/* Handle errno aliases that should map to actual errno values */
+			if (!strcmp(str, "EWOULDBLOCK"))
+				retval = EAGAIN;
+			else if (!strcmp(str, "EDEADLOCK"))
+				retval = EDEADLK;
+			return retval;
+		}
 		i++;
 	}
 	return 0;