Re: [PATCH v3 1/2] ubi: provide a way to skip CRC checks

From: Boris Brezillon
Date: Mon Jul 02 2018 - 03:51:42 EST


Hi Artem,

On Mon, 02 Jul 2018 10:30:25 +0300
Artem Bityutskiy <dedekind1@xxxxxxxxx> wrote:

> Hi,
>
> On Thu, 2018-06-28 at 09:40 +0200, Quentin Schulz wrote:
> > diff --git a/drivers/mtd/ubi/kapi.c b/drivers/mtd/ubi/kapi.c
> > index d4b2e87..e9e9ecb 100644
> > --- a/drivers/mtd/ubi/kapi.c
> > +++ b/drivers/mtd/ubi/kapi.c
> > @@ -202,7 +202,7 @@ struct ubi_volume_desc *ubi_open_volume(int ubi_num, int vol_id, int mode)
> > desc->mode = mode;
> >
> > mutex_lock(&ubi->ckvol_mutex);
> > - if (!vol->checked) {
> > + if (!vol->checked && !vol->skip_check) {
> > /* This is the first open - check the volume */
> > err = ubi_check_volume(ubi, vol_id);
> > if (err < 0) {
>
> Did you deliberately did not add a similar check to 'vol_cdev_write()' ?
> You want to skip checking on load but do have the checking after volume update ?

Yep, it's on purpose, I asked Quentin to keep the test on the update
volume path.

> Looks a bit inconsistent to me. At the very least deserves a comment in
> 'vol_cdev_write()' about why 'skip_check' flag is ignored there.

Well, I thought checking the CRC just after updating the volume made
sense, just to make sure things were written correctly on the medium.
Let's add a comment explaining why we keep the check here, unless you
see a strong reason to get rid of this check in the update path.

Regards,

Boris