Skip to contentSkip to conversation

missing waitpid() and server functionality at Windows

DISCUSSION Michal Šmucr 2 participants 2 messages Feb 9, 2016 – Jul 31, 2017

lore
Share & tools
lore
#0 lore raw

Hello,

previously I've used fio mainly at Linux and OS X, so I didn't have any issues with fio in server mode. Now I'm trying to simulate workload to shared storage for Windows clients and this functionality with remote control of fio instances running at Windows machines will be very handy. Unfortunately it isn't possible to use it that way, because of missing waitpid() syscall implementation and forking in MinGw builds for Windows.

I've stumbled upon at some messages posted 2y ago, where Bruce explained it.
http://www.spinics.net/lists/fio/msg02565.html

I don't know, if I got it correctly, but can be a build with Cygwin toolchain possible workaround for this issue?
I've tried to compile current fio with Cygwin (so no MinGw toolchain) and compiler variables override, but failed badly.. It doesn't even pass through crc/test.c with lot of messed definitions. Is it currently possible to build with it or MinGW is currently only way for Windows compilation of fio?

Kind regards,

Michal

#1 lore raw

I've only just noticed this slipped by without reply - sorry this took so long!

Quoted 11 lines · Michal Šmucr

previously I've used fio mainly at Linux and OS X, so I didn't have any issues with fio in server mode. Now I'm trying to simulate workload to shared storage for Windows clients and this functionality with remote control of fio instances running at Windows machines will be very handy. Unfortunately it isn't possible to use it that way, because of missing waitpid() syscall implementation and forking in MinGw builds for Windows.

I've stumbled upon at some messages posted 2y ago, where Bruce explained it.
http://www.spinics.net/lists/fio/msg02565.html

Quoted 6 lines

I don't know, if I got it correctly, but can be a build with Cygwin toolchain possible workaround for this issue?
I've tried to compile current fio with Cygwin (so no MinGw toolchain) and compiler variables override, but failed badly.. It doesn't even pass through crc/test.c with lot of messed definitions. Is it currently possible to build with it or MinGW is currently only way for Windows compilation of fio?

Even at the time of writing fio does not build in a "full" Cygwin environment. It actually tries to be a native Windows program (hence MinGW) so it can access native Windows calls (rather than Cygwin ones) and not carry the Cygwin portability library. I suppose someone could undertake such a port but it would be nicer if server mode could be made to work with threads (but that's also new work someone would have to perform).

Signature · 1 line
Sitsofe | http://sucs.org/~sits/