Add support for specifying UID/GID
[fio.git] / fio.c
diff --git a/fio.c b/fio.c
index 7d4c96a2b8a5045cda742f4be7842deb66529637..728addd614e70aafa2548a7914619052abe06d9f 100644 (file)
--- a/fio.c
+++ b/fio.c
@@ -1041,6 +1041,15 @@ static void *thread_main(void *data)
         */
        fio_mutex_remove(td->mutex);
 
+       if (td->o.uid != -1U && setuid(td->o.uid)) {
+               td_verror(td, errno, "setuid");
+               goto err;
+       }
+       if (td->o.gid != -1U && setgid(td->o.gid)) {
+               td_verror(td, errno, "setgid");
+               goto err;
+       }
+
        /*
         * May alter parameters that init_io_u() will use, so we need to
         * do this first.