iscsi-perf: fix overflow issue in fill_read_queue
If with int defintion, this statement: num_blocks = client->num_blocks - client->pos; May not get the exact value we want. Signed-off-by: optimistyzy <optimistyzy@gmail.com>
This commit is contained in:
@@ -186,7 +186,7 @@ out:
|
|||||||
|
|
||||||
void fill_read_queue(struct client *client)
|
void fill_read_queue(struct client *client)
|
||||||
{
|
{
|
||||||
int num_blocks;
|
int64_t num_blocks;
|
||||||
|
|
||||||
if (finished) return;
|
if (finished) return;
|
||||||
|
|
||||||
@@ -210,7 +210,7 @@ void fill_read_queue(struct client *client)
|
|||||||
|
|
||||||
task = iscsi_read16_task(client->iscsi,
|
task = iscsi_read16_task(client->iscsi,
|
||||||
client->lun, client->pos,
|
client->lun, client->pos,
|
||||||
num_blocks * client->blocksize,
|
(uint32_t)(num_blocks * client->blocksize),
|
||||||
client->blocksize, 0, 0, 0, 0, 0,
|
client->blocksize, 0, 0, 0, 0, 0,
|
||||||
cb, client);
|
cb, client);
|
||||||
if (task == NULL) {
|
if (task == NULL) {
|
||||||
|
|||||||
Reference in New Issue
Block a user