Re: [PATCH] jffs2: implement mount option to configure endianness

From: Joakim Tjernlund
Date: Wed Nov 07 2018 - 04:16:45 EST


On Wed, 2018-11-07 at 10:05 +0100, David Woodhouse wrote:
>
> On Tue, 2018-11-06 at 13:49 -0800, Nikunj Kela wrote:
> > This patch allows the endianness of the JFSS2 filesystem to be
> > specified by mount option 'force_endian=big|little|native'. If
> > endianness is not specified, it defaults to 'native' endianness
> > thus retaining the existing behavior.
> >
> > Some architectures benefit from having a single known endianness
> > of JFFS2 filesystem (for data, not executables) independent of the
> > endianness of the processor (ARM processors can be switched to either
> > endianness at run-time).
> >
> > We have boards that are shipped with BE jffs2 and BE kernel. We are
> > now migrating to LE kernel. This mount option helps us in mounting
> > BE jffs2 on LE kernel.
>
> Thanks for implementing this. JFFS2 has often been very sensitive to
> performance at mount time â I'd love to see how this affects the time
> taken to mount a large file system. If it's significant, we may want a
> config option to make this conditional?

Yes, this may slow things down. I am not sure I agree with the impl. either.
Could one not make cpu_to_je_X/jeX_to_cpu a function ptr which is set to
a func. with the correct endian?

That way it should also be easy to have a config option for endian: Native/BE/LE or Dynamic

Jocke