>-----Original Message-----
>From: Kevin Wolf [mailto:[email protected]]
>Sent: Wednesday, February 26, 2020 5:51 PM
>To: Chenqun (kuhn) <[email protected]>
>Cc: [email protected]; [email protected];
>[email protected]; Zhanghailiang <[email protected]>;
>Euler Robot <[email protected]>; John Snow <[email protected]>;
>Max Reitz <[email protected]>
>Subject: Re: [PATCH v2 01/13] block/stream: Remove redundant statement in
>stream_run()
>
>Am 26.02.2020 um 09:46 hat [email protected] geschrieben:
>> From: Chen Qun <[email protected]>
>>
>> Clang static code analyzer show warning:
>> block/stream.c:186:9: warning: Value stored to 'ret' is never read
>> ret = 0;
>> ^ ~
>> Reported-by: Euler Robot <[email protected]>
>> Signed-off-by: Chen Qun <[email protected]>
>> Reviewed-by: John Snow <[email protected]>
>
>Let's mention that this is unnecessary since commit 1d809098aa9.
>
>Since the same commit, the initialisation 'int ret = 0;' is unnecessary because
>we never read ret before overwriting the initial value. We could clean this up
>in the same patch.
Yes, we can clean it and move 'ret' declaration to the for() statement.
Modify just Like this:
@@ -114,7 +114,6 @@ static int coroutine_fn stream_run(Job *job, Error **errp)
int64_t offset = 0;
uint64_t delay_ns = 0;
int error = 0;
- int ret = 0;
int64_t n = 0; /* bytes */
if (bs == s->bottom) {
@@ -139,6 +138,7 @@ static int coroutine_fn stream_run(Job *job, Error **errp)
for ( ; offset < len; offset += n) {
bool copy;
+ int ret;
/* Note that even when no rate limit is applied we need to yield
* with no pending I/O here so that bdrv_drain_all() returns.
@@ -183,7 +183,6 @@ static int coroutine_fn stream_run(Job *job, Error **errp)
break;
}
}
- ret = 0;
/* Publish progress */
job_progress_update(&s->common.job, n);
>
>With or without the changes:
>
>Reviewed-by: Kevin Wolf <[email protected]>