Hi, If you use a very large I/O size (1G in this instance), and also specify the verify option, fio will hang, using up 100% cpu, for ever and ever. The problem is that __fill_random_buf_percentage does math that overflows the size of an unsigned int. Fixing that gets fio to terminate as expected. Here is the job file which showed the problem: [global] ioengine=dev-dax direct=0 filename=/dev/dax0.0 verify=crc32c bs=1G [write] rw=write runtime=5 [read] stonewall rw=read runtime=5 Reported-by: sujith_pandel@xxxxxxxx Signed-off-by: Jeff Moyer <jmoyer@xxxxxxxxxx> diff --git a/lib/rand.c b/lib/rand.c index 46ffe4fb..99846a8d 100644 --- a/lib/rand.c +++ b/lib/rand.c @@ -156,7 +156,7 @@ void __fill_random_buf_percentage(unsigned long seed, void *buf, /* * Fill random chunk */ - this_len = (segment * (100 - percentage)) / 100; + this_len = ((unsigned long long)segment * (100 - percentage)) / 100; if (this_len > len) this_len = len;