xfs_io's pread & pwrite claim to support a random IO mode
where it will do random IOs between offset & offset+len.
However, offset was ignored, and we did the IOs between 0
and len instead.
Clang caught this by pointing out that the calculated/normalized
"offset" variable was never read.
(NB: If the range is larger than RAND_MAX, these functions don't
work, but that's always been true, so I'll leave it for another
day...)
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
*total = 0;
while (count > 0) {
- off = ((random() % range) / buffersize) * buffersize;
+ off = ((offset + (random() % range)) / buffersize) * buffersize;
bytes = do_pread(fd, off, buffersize, buffersize);
if (bytes == 0)
break;
*total = 0;
while (count > 0) {
- off = ((random() % range) / buffersize) * buffersize;
+ off = ((offset + (random() % range)) / buffersize) * buffersize;
bytes = do_pwrite(file->fd, off, buffersize, buffersize);
if (bytes == 0)
break;