[PATCH] mtd-utils: flash_erase: Fix output of offsets

Artem Bityutskiy dedekind1 at gmail.com
Sun Oct 17 04:04:15 EDT 2010


On Sat, 2010-10-16 at 13:54 -0700, Brian Norris wrote:
> Need to use unsigned arithmetic and a 64-bit cast in order to
> calculate and output the correct offset for eraseblocks at large
> offsets. Signed integer arithmetic does not produce the correct
> result "uint64_t" result, so for offsets over 2GB we get
> messages like:
> 
> 	Erasing 512 Kibyte @ ffffffff83180000 -- 4308642136 % complete.
> 
> Note that this error was not affecting proper erasure; it just
> produced incorrect status messages.
> 
> Also, we should not add an extra eraseblock for the final status
> message; this gives misleading output when, for example, the
> following statement is executed:
> 
> 	$ flash_erase /dev/mtd0 0 1
> 	Erasing 512 Kibyte @ 80000 -- 100 % complete
> 
> We aren't erasing at offset 0x80000; it should display offset 0.
> 
> Signed-off-by: Brian Norris <computersforpeace at gmail.com>

Pushed, thanks!

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)




More information about the linux-mtd mailing list