Re: [PATCH] mtd: set mtd partition panic write flag
From: Miquel Raynal
Date: Mon May 04 2020 - 13:30:51 EST
Hi Kamal,
Kamal Dasu <kamal.dasu@xxxxxxxxxxxx> wrote on Mon, 4 May 2020 11:20:16
-0400:
> On Sat, May 2, 2020 at 2:08 PM Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote:
> >
> > Hi Kamal,
> >
> > Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote on Thu, 9 Jan 2020
> > 18:28:07 +0100:
> >
> > > Hi Kamal,
> > >
> > > Kamal Dasu <kamal.dasu@xxxxxxxxxxxx> wrote on Thu, 9 Jan 2020 10:25:59
> > > -0500:
> > >
> > > > Miquel,
> > > >
> > > > Yes the issue is still open. I was trying to understand the suggestion
> > > > and did not get a reply on the question I had
> > > >
> > > > Richard wrote :
> > > > "So the right fix would be setting the parent's oops_panic_write in
> > > > mtd_panic_write().
> > > > Then we don't have to touch mtdpart.c"
> > > >
> > > > How do I get access to the parts parent in the core ?. Maybe I am
> > > > missing something.
> > >
> > > I think the solution is to set the oops_panic_write of the root parent, instead of updating the flag of the mtd device itself (which is maybe a partition).
> > >
> > > Would this help?
> > >
> > > https://www.spinics.net/lists/linux-mtd/msg10454.html
> >
> > I'm pinging you here as well, as I think you raise a real issue, and we
> > agreed on a solution, which can now be easily setup with the above
> > change which has been applied and support for functions like:
> >
> > static inline struct mtd_info *mtd_get_master(struct mtd_info *mtd)
> > static inline u64 mtd_get_master_ofs(struct mtd_info *mtd, u64 ofs)
> > static inline bool mtd_is_partition(const struct mtd_info *mtd)
> > static inline bool mtd_has_partitions(const struct mtd_info *mtd)
> >
>
> So I should only set master->oops_panic_write with the new code ?.
Yes, if you can still reproduce the issue and it solves your problem,
then it's I think a nice fix.
Thanks,
MiquÃl