flash_erase vs flash_eraseall

Artem Bityutskiy dedekind1 at gmail.com
Thu Sep 23 07:24:57 EDT 2010


On Wed, 2010-09-22 at 00:35 -0400, Mike Frysinger wrote:
> while looking to extend the erase ioctl abi to take a flags argument,
> i needed updated utils to test my work.  reviewing the flash_erase and
> flash_eraseall code bases makes me wonder why there are even two tools
> in the first place.  "eraseall" sounds like it should simply be an
> option to the "erase" util.  so why does it warrant its own code base
> for a mere option ?

I have no idea, this is historical.

> 
> also in looking at these utils, flash_erase does not support the
> extended 64bit api as it is doing ioctls directly nor does it use
> getopt.  flash_eraseall however is using the common libmtd api (so it
> gets the extend api support for free), and it is cleanly using getopt
> cleanly.  which leads to a simple conclusion from my side ...
> 
> let's punt the current flash_erase code, rename flash_eraseall to
> flash_erase, and then extend its options to support the minor
> functionality of flash_erase.  doesnt look like it'll be hard at all
> to do this.  but before i undertake the task, i want to make sure the
> idea isnt simply going to be rejected due to some concern about
> retaining backwards compatibility.
> 
> running `flash_erase /dev/mtd#` (no arguments) will make it erase the
> first block.  this seems kind of useless to me.
> 
> so i'd make the arguments:
> flash_erase [options] <mtd> <start> [count]
> Options:
>   -N, --erasebad
>   -j, --jffs2
>   -u, --unlock
>   -q, --quiet
>         --silent
> 
> for the "all" functionality, we can have a value of "-1" or "0" for
> the count mean "all", or make people type "all".
> -mike

I'm perfectly fine with getting rid of one of these, this would be a
very good clean-up. May be additionally we could create a
flashe_eraseall shell script which will just run flash_erase <mtd> 0 -1
<other flags>.

But also, it need a careful look to make sure all flash_eraseall
functionality is also in flash_erase.

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




More information about the linux-mtd mailing list