On Fri, Apr 5, 2019 at 3:23 PM Richard Weinberger <richard@xxxxxx> wrote: > > Am Freitag, 5. April 2019, 15:19:31 CEST schrieb Lars Persson: > > On Thu, Apr 4, 2019 at 11:53 PM Richard Weinberger > > <richard@xxxxxxxxxxxxx> wrote: > > > Can you please run your tests again with this patch applied? > > > It needs further optimization, but we are on the right track. > > > > > > diff --git a/fs/ubifs/orphan.c b/fs/ubifs/orphan.c > > > index 2f1618f300fb..c15e484f73a4 100644 > > > --- a/fs/ubifs/orphan.c > > > +++ b/fs/ubifs/orphan.c > > > @@ -691,8 +691,21 @@ static int do_kill_orphans(struct ubifs_info *c, struct ubifs_scan_leb *sleb, > > > n = (le32_to_cpu(orph->ch.len) - UBIFS_ORPH_NODE_SZ) >> 3; > > > for (i = 0; i < n; i++) { > > > union ubifs_key key1, key2; > > > + struct ubifs_ino_node *ino; > > > + > > > + ino = kmalloc(UBIFS_MAX_INO_NODE_SZ, GFP_NOFS); > > > + if (!ino) > > > + return -ENOMEM; > > > > > > inum = le64_to_cpu(orph->inos[i]); > > > + ino_key_init(c, &key1, inum); > > > + err = ubifs_tnc_lookup(c, &key1, ino); > > > + if (!err && ino->nlink) { > > > + kfree(ino); > > > + continue; > > > + } > > > + kfree(ino); > > > + > > > dbg_rcvry("deleting orphaned inode %lu", > > > (unsigned long)inum); > > > > > > > Thanks Richard. The power-cut test is OK now with this change. I run > > it with chk_fs=1 and it passes every time. > > Cool, please let it run for some more time, just to be sure. > I will also do more tests on my side and optimize the patch. > > Thanks, > //richard > Richard, we tested this patch for two weeks and saw no further issues. We can assist again with testing if you make the optimized patch. Regards, Lars ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/