[PATCH 2/8] mtd-utils: Add multi-block erase function
Boris Brezillon
boris.brezillon at free-electrons.com
Wed Apr 27 02:27:27 PDT 2016
Hi David,
On Wed, 27 Apr 2016 11:21:31 +0200
David Oberhollenzer <david.oberhollenzer at sigma-star.at> wrote:
> On 04/26/2016 10:04 AM, Boris Brezillon wrote:
> >> -int mtd_erase(libmtd_t desc, const struct mtd_dev_info *mtd, int fd, int eb)
> >> +int mtd_erase_multi(libmtd_t desc, const struct mtd_dev_info *mtd,
> >> + int fd, int eb, int blocks)
> >> {
> >> int ret;
> >> struct libmtd *lib = (struct libmtd *)desc;
> >> @@ -856,8 +857,12 @@ int mtd_erase(libmtd_t desc, const struct mtd_dev_info *mtd, int fd, int eb)
> >> if (ret)
> >> return ret;
> >>
> >> - ei64.start = (__u64)eb * mtd->eb_size;
> >> - ei64.length = mtd->eb_size;
> >> + ret = mtd_valid_erase_block(mtd, eb + blocks - 1);
> >> + if (ret)
> >> + return ret;
> >
> > Maybe you should also check if @eb is a valid block (what if @eb < 0,
> > but @eb + @blocks >= 0).
> >
> This patch only renames the mtd_erase function to mtd_erase_multi and lets it
> accept a block count. The existing code already checks @eb for validity.
My bad, just didn't look at the original file before commenting.
Thanks for the clarification.
Boris
--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
More information about the linux-mtd
mailing list