On Wed, 7 Nov 2018 23:16:19 +0100 Richard Weinberger <rich...@nod.at> wrote:
> +/** > + * ubi_bitflip_check - Check an eraseblock for bitflips and scrub it if > needed. > + * @ubi: UBI device description object > + * @pnum: the physical eraseblock to schedule > + * @force_scrub: force scrubbing if non-zero, schedule erase otherwise Are you sure about the "schedule erase otherwise"? I'd say force_scrub only influence when the scrub operation is done: either unconditionally or depending on the result of ubi_io_read(). > + * > + * This function reads the given eraseblock and checks if bitflips occured. > + * In case of bitflips, the eraseblock is scheduled for scrubbing. > + * If scrubbing is forced with @force_scrub, the eraseblock is not read, > + * but scheduled for scrubbing right away. > + * > + * Returns: > + * %EINVAL, PEB is out of range > + * %ENOENT, PEB is no longer used by UBI > + * %EBUSY, PEB cannot be checked now or a check is currently running on it > + * %EAGAIN, bit flips happened but scrubbing is currently not possible > + * %EUCLEAN, bit flips happened and PEB is scheduled for scrubbing > + * %0, no bit flips detected > + */ > +int ubi_bitflip_check(struct ubi_device *ubi, int pnum, int force_scrub)