[Drbd-dev] [patch] drbd: cleanup: change "<= 0" to "== 0"
Jens Axboe
jaxboe at fusionio.com
Tue Aug 24 10:41:31 CEST 2010
On 2010-08-24 10:38, Philipp Reisner wrote:
> Am Donnerstag, 12. August 2010, um 00:38:45 schrieb Dan Carpenter:
>> dt is unsigned so it's never less than zero. We are calculating the
>> elapsed time, and that's never less than zero (unless there is a bug or
>> we invent time travel). The comparison here is just to guard against
>> divide by zero bugs.
>>
>> Signed-off-by: Dan Carpenter <error27 at gmail.com>
>>
>> diff --git a/drivers/block/drbd/drbd_proc.c
>> b/drivers/block/drbd/drbd_proc.c index be3374b..4c0c4aa 100644
>> --- a/drivers/block/drbd/drbd_proc.c
>> +++ b/drivers/block/drbd/drbd_proc.c
>> @@ -118,7 +118,7 @@ static void drbd_syncer_progress(struct drbd_conf
>> *mdev, struct seq_file *seq) /* mean speed since syncer started
>> * we do account for PausedSync periods */
>> dt = (jiffies - mdev->rs_start - mdev->rs_paused) / HZ;
>> - if (dt <= 0)
>> + if (dt == 0)
>> dt = 1;
>> db = mdev->rs_total - rs_left;
>> dbdt = Bit2KB(db/dt);
>
> Hi Dan,
>
> Please elaborate the improvement this patch brings.
> dt can actually get negative, on jiffie wrap. I see
> little value in displaying then a negative resync speed...
Aren't all members unsigned long? If not, then you have
another bug.
--
Jens Axboe
More information about the drbd-dev
mailing list