2016-11-03 21:57:25

by Andrew Kanner

[permalink] [raw]
Subject: [PATCH] staging: lustre: fixed shadowed variable in socklnd_cb.c

Changed variable 'tx' name in local scope
Fixed: sparse warning:
socklnd_cb.c:2476:41: warning: symbol 'tx' shadows an earlier one
socklnd_cb.c:2435:25: originally declared here

Signed-off-by: Andrew Kanner <[email protected]>
---
drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c
index c1c6f60..03fe4e5 100644
--- a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c
+++ b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c
@@ -2473,11 +2473,11 @@ ksocknal_check_peer_timeouts(int idx)
* holding only shared lock
*/
if (!list_empty(&peer->ksnp_tx_queue)) {
- struct ksock_tx *tx = list_entry(peer->ksnp_tx_queue.next,
+ struct ksock_tx *_tx = list_entry(peer->ksnp_tx_queue.next,
struct ksock_tx, tx_list);

if (cfs_time_aftereq(cfs_time_current(),
- tx->tx_deadline)) {
+ _tx->tx_deadline)) {
ksocknal_peer_addref(peer);
read_unlock(&ksocknal_data.ksnd_global_lock);

--
2.1.4


2016-11-03 22:12:30

by Dilger, Andreas

[permalink] [raw]
Subject: Re: [PATCH] staging: lustre: fixed shadowed variable in socklnd_cb.c

On Nov 3, 2016, at 15:54, Andrew Kanner <[email protected]> wrote:
>
> Changed variable 'tx' name in local scope
> Fixed: sparse warning:
> socklnd_cb.c:2476:41: warning: symbol 'tx' shadows an earlier one
> socklnd_cb.c:2435:25: originally declared here

Looking at this more closely (or from a greater distance, hard to say),
the outer-scope "tx" is used only after this inner-scope "tx", so in
fact there is no benefit to having the inner-scope declaration at all.

Removing it may save a stack variable (depending on how the compiler
optimizes), and shouldn't affect functionality.

Cheers, Andreas

> Signed-off-by: Andrew Kanner <[email protected]>
> ---
> drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c
> index c1c6f60..03fe4e5 100644
> --- a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c
> +++ b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c
> @@ -2473,11 +2473,11 @@ ksocknal_check_peer_timeouts(int idx)
> * holding only shared lock
> */
> if (!list_empty(&peer->ksnp_tx_queue)) {
> - struct ksock_tx *tx = list_entry(peer->ksnp_tx_queue.next,
> + struct ksock_tx *_tx = list_entry(peer->ksnp_tx_queue.next,
> struct ksock_tx, tx_list);
>
> if (cfs_time_aftereq(cfs_time_current(),
> - tx->tx_deadline)) {
> + _tx->tx_deadline)) {
> ksocknal_peer_addref(peer);
> read_unlock(&ksocknal_data.ksnd_global_lock);
>
> --
> 2.1.4
>

2016-11-03 22:22:22

by Andrew Kanner

[permalink] [raw]
Subject: Re: [PATCH] staging: lustre: fixed shadowed variable in socklnd_cb.c

2016-11-04 1:12 GMT+03:00 Dilger, Andreas <[email protected]>:
> On Nov 3, 2016, at 15:54, Andrew Kanner <[email protected]> wrote:
>>
>> Changed variable 'tx' name in local scope
>> Fixed: sparse warning:
>> socklnd_cb.c:2476:41: warning: symbol 'tx' shadows an earlier one
>> socklnd_cb.c:2435:25: originally declared here
>
> Looking at this more closely (or from a greater distance, hard to say),
> the outer-scope "tx" is used only after this inner-scope "tx", so in
> fact there is no benefit to having the inner-scope declaration at all.
>
> Removing it may save a stack variable (depending on how the compiler
> optimizes), and shouldn't affect functionality.
>
> Cheers, Andreas

I see, I'll correct it and resend as PATCH v2. Thank you.