xfs_io: Prevent devide by zero from {pread,pwrite}_random
PATCH 1/1 xfs_io: Prevent devide by zero from {pread,pwrite}_random
Math is wrong if range requested is less or equals to block size
xfs_io -c 'pwrite -b 4k 8k 4k -R' \
-c 'pread -b 4k 4k 4k -R' -f fileSigned-off-by Dmitry Monakhov <[email protected]>
--- io/pread.c | 6 +++++- io/pwrite.c | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-)
io/pread.c +5 -1
@@ -245,7 +245,11 @@ read_random( *total =0 ;while (count >0 ) { - off = ((offset + (random () % range)) / buffersize) * buffersize; +if (range) + off = ((offset + (random () % range)) / buffersize) * + buffersize; +else + off = offset; bytes =do_pread (fd, off, buffersize, buffersize);if (bytes ==0 )break ;
io/pwrite.c +5 -1
@@ -128,7 +128,11 @@ write_random( *total =0 ;while (count >0 ) { - off = ((offset + (random () % range)) / buffersize) * buffersize; +if (range) + off = ((offset + (random () % range)) / buffersize) * + buffersize; +else + off = offset; bytes =do_pwrite (file->fd, off, buffersize, buffersize);if (bytes ==0 )break ;
Signature · 6 lines
1.8.3.1 _______________________________________________ xfs mailing list [email protected] http://oss.sgi.com/mailman/listinfo/xfs
Re: [PATCH] xfs_io: Prevent devide by zero from {pread, pwrite}_random
Quoted 7 lines · Dmitry Monakhov
Math is wrong if range requested is less or equals to block size
xfs_io -c 'pwrite -b 4k 8k 4k -R' \ -c 'pread -b 4k 4k 4k -R' -f fileSigned-off-by Dmitry Monakhov <[email protected]>
Looks fine,
Reviewed-by Christoph Hellwig <[email protected]>
Are we going to see a new testcase that relies on this soon? :)
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs