On 04/27/2018 03:51 PM, Patrice Chotard wrote: > This patch solves assert failed displayed in the console during a boot. > The root cause is that the ubifs_inode is not already allocated when > ubifs_printdir and ubifs_finddir functions are called. > > Trace showing the issue: > feed 'boot.scr.uimg', ino 94, new f_pos 0x17b40ece > dent->ch.sqnum '7132', creat_sqnum 3886945402880 > UBIFS assert failed in ubifs_finddir at 436 > INODE ALLOCATION: creat_sqnum '7129' > Found U-Boot script /boot.scr.uimg > > Signed-off-by: Christophe Kerello <christophe.kere...@st.com> > Signed-off-by: Patrice Chotard <patrice.chot...@st.com>
I ran into this too, but what I do not quite understand from the commit message is how hiding the error actually solves the problem that the assert points to. Why does the assert trigger in the first place ? What is the root cause of the issue that is being hidden by this patch? > --- > > fs/ubifs/ubifs.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/fs/ubifs/ubifs.c b/fs/ubifs/ubifs.c > index 4465523d5fbe..a71c9400ef33 100644 > --- a/fs/ubifs/ubifs.c > +++ b/fs/ubifs/ubifs.c > @@ -350,7 +350,9 @@ static int ubifs_printdir(struct file *file, void *dirent) > dbg_gen("feed '%s', ino %llu, new f_pos %#x", > dent->name, (unsigned long long)le64_to_cpu(dent->inum), > key_hash_flash(c, &dent->key)); > +#ifndef __UBOOT__ > ubifs_assert(le64_to_cpu(dent->ch.sqnum) > > ubifs_inode(dir)->creat_sqnum); > +#endif > > nm.len = le16_to_cpu(dent->nlen); > over = filldir(c, (char *)dent->name, nm.len, > @@ -432,7 +434,9 @@ static int ubifs_finddir(struct super_block *sb, char > *dirname, > dbg_gen("feed '%s', ino %llu, new f_pos %#x", > dent->name, (unsigned long long)le64_to_cpu(dent->inum), > key_hash_flash(c, &dent->key)); > +#ifndef __UBOOT__ > ubifs_assert(le64_to_cpu(dent->ch.sqnum) > > ubifs_inode(dir)->creat_sqnum); > +#endif > > nm.len = le16_to_cpu(dent->nlen); > if ((strncmp(dirname, (char *)dent->name, nm.len) == 0) && > -- Best regards, Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot