UBIFS incompatibilities due to min_io_size adaptions?
Hi all,
we use UBI and UBIFS on NOR and NAND based systems and kernel 2.6.33. In the last days we applied the latest UBI and MTD patches for the min I/O size.
Due to commit a121f643993474548fe98144514c50dd4f3dbe76 UBI: use mtd->writebufsize to set minimal I/O unit size
now the min I/O size is equal to the writebuffersize of the flash.
This caused incompatibilites in the UBIFS. We have an UBIFS on a board on a NOR flash created in the past without the patches. Now with a newer SW and a newer kernel which has the latest fixes we can't mount the old UBIFS anymore.
UBIFS error (pid 865): validate_sb: min. I/O unit mismatch: 8 in superblock, 64 real UBIFS error (pid 865): validate_sb: bad superblock, error 1
mount: wrong fs type, bad option, bad superblock on ubi0:cfg,
missing codepage or other error
If we reformate the UBIFS everything is ok, but we got a problem with the older SW image:
UBIFS error (pid 865): validate_sb: min. I/O unit mismatch: 64 in superblock, 8 real
UBIFS error (pid 865): validate_sb: bad superblock, error 1
mount: wrong fs type, bad option, bad superblock on ubi0:cfg,
missing codepage or other error
Is there a way to solve this problem? I do not hope that the only solution is to remove these patch.
Any help is appreciated.
Best regards
Holger Brunck
Quoted 7 lines · Holger Brunck
Hi all,
we use UBI and UBIFS on NOR and NAND based systems and kernel 2.6.33. In the last days we applied the latest UBI and MTD patches for the min I/O size.Due to commit
a121f643993474548fe98144514c50dd4f3dbe76UBI: usemtd->writebufsizeto set minimal I/O unit size
now the min I/O size is equal to the writebuffersize of the flash.
Oh, this is really bad. Thankfully we still have time to revert the change and think about proper backward-compatible solution.
Quoted 17 lines
This caused incompatibilites in the UBIFS. We have an UBIFS on a board on a NOR flash created in the past without the patches. Now with a newer SW and a newer kernel which has the latest fixes we can't mount the old UBIFS anymore.
UBIFS error (pid 865):
validate_sb: min. I/O unit mismatch: 8 in superblock, 64 real UBIFS error (pid 865):validate_sb: bad superblock, error 1
mount: wrong fs type, bad option, bad superblock on ubi0:cfg,
missing codepage or other errorIf we reformate the UBIFS everything is ok, but we got a problem with the older SW image:
UBIFS error (pid 865):validate_sb: min. I/O unit mismatch: 64 in superblock, 8 real
UBIFS error (pid 865):validate_sb: bad superblock, error 1
mount: wrong fs type, bad option, bad superblock on ubi0:cfg,
missing codepage or other error
Quoted 2 lines
Is there a way to solve this problem? I do not hope that the only solution is to remove these patch.
Yes, the first solution is to revert the UBI patch. There seems to be more work than we thought. Probably we need to add notion of writebufsize to UBI and UBIFS as well.
Signature · 2 lines
Best Regards, Artem Bityutskiy (Битюцкий Артём)