Skip to contentSkip to conversation

UBIFS incompatibilities due to min_io_size adaptions?

DISCUSSION Holger Brunck 2 participants 2 messages Jan 26, 2011 Memory technology devices (MTD)

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
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 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.

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 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

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 (Битюцкий Артём)