diff mbox

blk-throttle: Suppress a compiler warning

Message ID 089b9e20-c20d-1d10-f230-4aebbb5f03ee@kernel.dk (mailing list archive)
State New, archived
Headers show

Commit Message

Jens Axboe April 20, 2017, 12:09 a.m. UTC
On 04/19/2017 05:55 PM, Bart Van Assche wrote:
> Avoid that the following warning is reported when building with
> W=1 and with CONFIG_BLK_DEV_THROTTLING_LOW=n:
> 
> block/blk-throttle.c: In function ‘blk_throtl_bio’:
> block/blk-throttle.c:2042:6: warning: variable ‘ret’ set but not used [-Wunused-but-set-variable]
>   int ret;
>       ^~~
> 
> Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
> Cc: Shaohua Li <shli@fb.com>
> ---
>  block/blk-throttle.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/block/blk-throttle.c b/block/blk-throttle.c
> index c82bf9b1fe72..9081ed9a5345 100644
> --- a/block/blk-throttle.c
> +++ b/block/blk-throttle.c
> @@ -2059,6 +2059,10 @@ bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg,
>  	if (ret == 0 || ret == -EBUSY)
>  		bio->bi_cg_private = tg;
>  	blk_stat_set_issue(&bio->bi_issue_stat, bio_sectors(bio));
> +#else
> +	/* Avoid that the compiler complains about not using ret */
> +	if (ret) {
> +	}
>  #endif

Ugh, that may get rid of the warning, but it does not help on
the readability or the ifdefs. How about something like the below?
Naming could probably be improved...

Comments

Bart Van Assche April 20, 2017, 3:36 p.m. UTC | #1
On Wed, 2017-04-19 at 18:09 -0600, Jens Axboe wrote:
> On 04/19/2017 05:55 PM, Bart Van Assche wrote:
> > Avoid that the following warning is reported when building with
> > W=1 and with CONFIG_BLK_DEV_THROTTLING_LOW=n:
> > 
> > block/blk-throttle.c: In function ‘blk_throtl_bio’:
> > block/blk-throttle.c:2042:6: warning: variable ‘ret’ set but not used [-Wunused-but-set-variable]
> >   int ret;
> >       ^~~
> > 
> > Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
> > Cc: Shaohua Li <shli@fb.com>
> > ---
> >  block/blk-throttle.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/block/blk-throttle.c b/block/blk-throttle.c
> > index c82bf9b1fe72..9081ed9a5345 100644
> > --- a/block/blk-throttle.c
> > +++ b/block/blk-throttle.c
> > @@ -2059,6 +2059,10 @@ bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg,
> >  	if (ret == 0 || ret == -EBUSY)
> >  		bio->bi_cg_private = tg;
> >  	blk_stat_set_issue(&bio->bi_issue_stat, bio_sectors(bio));
> > +#else
> > +	/* Avoid that the compiler complains about not using ret */
> > +	if (ret) {
> > +	}
> >  #endif
> 
> Ugh, that may get rid of the warning, but it does not help on
> the readability or the ifdefs. How about something like the below?
> Naming could probably be improved...
> 
> 
> diff --git a/block/blk-throttle.c b/block/blk-throttle.c
> index c82bf9b1fe72..b78db2e5fdff 100644
> --- a/block/blk-throttle.c
> +++ b/block/blk-throttle.c
> @@ -2030,6 +2030,20 @@ static inline void throtl_update_latency_buckets(struct throtl_data *td)
>  }
>  #endif
>  
> +static void blk_throtl_assoc_bio(struct throtl_grp *tg, struct bio *bio)
> +{
> +#ifdef CONFIG_BLK_DEV_THROTTLING_LOW
> +	int ret;
> +
> +	ret = bio_associate_current(bio);
> +	if (ret == 0 || ret == -EBUSY)
> +		bio->bi_cg_private = tg;
> +	blk_stat_set_issue(&bio->bi_issue_stat, bio_sectors(bio));
> +#else
> +	bio_associate_current(bio);
> +#endif
> +}
> +
>  bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg,
>  		    struct bio *bio)
>  {
> @@ -2039,7 +2053,6 @@ bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg,
>  	bool rw = bio_data_dir(bio);
>  	bool throttled = false;
>  	struct throtl_data *td = tg->td;
> -	int ret;
>  
>  	WARN_ON_ONCE(!rcu_read_lock_held());
>  
> @@ -2054,12 +2067,7 @@ bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg,
>  	if (unlikely(blk_queue_bypass(q)))
>  		goto out_unlock;
>  
> -	ret = bio_associate_current(bio);
> -#ifdef CONFIG_BLK_DEV_THROTTLING_LOW
> -	if (ret == 0 || ret == -EBUSY)
> -		bio->bi_cg_private = tg;
> -	blk_stat_set_issue(&bio->bi_issue_stat, bio_sectors(bio));
> -#endif
> +	blk_throtl_assoc_bio(tg, bio);
>  	blk_throtl_update_idletime(tg);
>  
>  	sq = &tg->service_queue;
> 

Hello Jens,

The above patch looks fine to me. Do you want to queue this patch with
my Reviewed-by or do you prefer that I post the above as a v2?

Thanks,

Bart.
Jens Axboe April 20, 2017, 3:43 p.m. UTC | #2
On 04/20/2017 09:36 AM, Bart Van Assche wrote:
> On Wed, 2017-04-19 at 18:09 -0600, Jens Axboe wrote:
>> On 04/19/2017 05:55 PM, Bart Van Assche wrote:
>>> Avoid that the following warning is reported when building with
>>> W=1 and with CONFIG_BLK_DEV_THROTTLING_LOW=n:
>>>
>>> block/blk-throttle.c: In function ‘blk_throtl_bio’:
>>> block/blk-throttle.c:2042:6: warning: variable ‘ret’ set but not used [-Wunused-but-set-variable]
>>>   int ret;
>>>       ^~~
>>>
>>> Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
>>> Cc: Shaohua Li <shli@fb.com>
>>> ---
>>>  block/blk-throttle.c | 4 ++++
>>>  1 file changed, 4 insertions(+)
>>>
>>> diff --git a/block/blk-throttle.c b/block/blk-throttle.c
>>> index c82bf9b1fe72..9081ed9a5345 100644
>>> --- a/block/blk-throttle.c
>>> +++ b/block/blk-throttle.c
>>> @@ -2059,6 +2059,10 @@ bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg,
>>>  	if (ret == 0 || ret == -EBUSY)
>>>  		bio->bi_cg_private = tg;
>>>  	blk_stat_set_issue(&bio->bi_issue_stat, bio_sectors(bio));
>>> +#else
>>> +	/* Avoid that the compiler complains about not using ret */
>>> +	if (ret) {
>>> +	}
>>>  #endif
>>
>> Ugh, that may get rid of the warning, but it does not help on
>> the readability or the ifdefs. How about something like the below?
>> Naming could probably be improved...
>>
>>
>> diff --git a/block/blk-throttle.c b/block/blk-throttle.c
>> index c82bf9b1fe72..b78db2e5fdff 100644
>> --- a/block/blk-throttle.c
>> +++ b/block/blk-throttle.c
>> @@ -2030,6 +2030,20 @@ static inline void throtl_update_latency_buckets(struct throtl_data *td)
>>  }
>>  #endif
>>  
>> +static void blk_throtl_assoc_bio(struct throtl_grp *tg, struct bio *bio)
>> +{
>> +#ifdef CONFIG_BLK_DEV_THROTTLING_LOW
>> +	int ret;
>> +
>> +	ret = bio_associate_current(bio);
>> +	if (ret == 0 || ret == -EBUSY)
>> +		bio->bi_cg_private = tg;
>> +	blk_stat_set_issue(&bio->bi_issue_stat, bio_sectors(bio));
>> +#else
>> +	bio_associate_current(bio);
>> +#endif
>> +}
>> +
>>  bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg,
>>  		    struct bio *bio)
>>  {
>> @@ -2039,7 +2053,6 @@ bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg,
>>  	bool rw = bio_data_dir(bio);
>>  	bool throttled = false;
>>  	struct throtl_data *td = tg->td;
>> -	int ret;
>>  
>>  	WARN_ON_ONCE(!rcu_read_lock_held());
>>  
>> @@ -2054,12 +2067,7 @@ bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg,
>>  	if (unlikely(blk_queue_bypass(q)))
>>  		goto out_unlock;
>>  
>> -	ret = bio_associate_current(bio);
>> -#ifdef CONFIG_BLK_DEV_THROTTLING_LOW
>> -	if (ret == 0 || ret == -EBUSY)
>> -		bio->bi_cg_private = tg;
>> -	blk_stat_set_issue(&bio->bi_issue_stat, bio_sectors(bio));
>> -#endif
>> +	blk_throtl_assoc_bio(tg, bio);
>>  	blk_throtl_update_idletime(tg);
>>  
>>  	sq = &tg->service_queue;
>>
> 
> Hello Jens,
> 
> The above patch looks fine to me. Do you want to queue this patch with
> my Reviewed-by or do you prefer that I post the above as a v2?

Thanks for checking, I'll just add it with your reviewed/reported-by
tags.
diff mbox

Patch

diff --git a/block/blk-throttle.c b/block/blk-throttle.c
index c82bf9b1fe72..b78db2e5fdff 100644
--- a/block/blk-throttle.c
+++ b/block/blk-throttle.c
@@ -2030,6 +2030,20 @@  static inline void throtl_update_latency_buckets(struct throtl_data *td)
 }
 #endif
 
+static void blk_throtl_assoc_bio(struct throtl_grp *tg, struct bio *bio)
+{
+#ifdef CONFIG_BLK_DEV_THROTTLING_LOW
+	int ret;
+
+	ret = bio_associate_current(bio);
+	if (ret == 0 || ret == -EBUSY)
+		bio->bi_cg_private = tg;
+	blk_stat_set_issue(&bio->bi_issue_stat, bio_sectors(bio));
+#else
+	bio_associate_current(bio);
+#endif
+}
+
 bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg,
 		    struct bio *bio)
 {
@@ -2039,7 +2053,6 @@  bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg,
 	bool rw = bio_data_dir(bio);
 	bool throttled = false;
 	struct throtl_data *td = tg->td;
-	int ret;
 
 	WARN_ON_ONCE(!rcu_read_lock_held());
 
@@ -2054,12 +2067,7 @@  bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg,
 	if (unlikely(blk_queue_bypass(q)))
 		goto out_unlock;
 
-	ret = bio_associate_current(bio);
-#ifdef CONFIG_BLK_DEV_THROTTLING_LOW
-	if (ret == 0 || ret == -EBUSY)
-		bio->bi_cg_private = tg;
-	blk_stat_set_issue(&bio->bi_issue_stat, bio_sectors(bio));
-#endif
+	blk_throtl_assoc_bio(tg, bio);
 	blk_throtl_update_idletime(tg);
 
 	sq = &tg->service_queue;