UBIFS orphans and ro-mounts

Artem Bityutskiy dedekind1 at gmail.com
Wed Jul 13 05:48:18 PDT 2016


On Wed, 2016-07-13 at 14:29 +0200, Richard Weinberger wrote:
> Artem,
> 
> I wonder why UBIFS processes orphan inodes also when mounting read-
> only.

Well, people expect UBIFS to report correct free/used space even if it
is R/O, right? :-)

> Depending on the workload before a power cut this can take a few
> seconds
> and since we mount read-only the updated TNC will not written back to
> flash,
> so upon next mount the time is again wasted.

I see the problem, but I do not agree with word "wasted", because this
is like doing it for nothing, while UBIFS is doing this for a reason.
So I'd rather used word "spent". :-)

> This hurts boot performance a lot on systems where u-boot loads the
> kernel
> from UBIFS.
> u-boot always mounts UBIFS read-only.
> So even when Linux mounts UBIFS rw and a powercut happens orphan
> processing
> will happen twice.

Sure, because in the R/O case the results of that processing cannot be
"saved" on the media, so they have to be repeated.

> I'd suggest calling ubifs_mount_orphans() only when we mount rw or
> remount to
> rw.
> What do you think?

I understand the problem. I do not think this is the right solution
because it'll introduce a regression (incorrect used/free space). But a
special mount option and/or superblock flag may be considered, if this
helps substantially.



More information about the linux-mtd mailing list