Skip to contentSkip to conversation

PROBLEM: kernel mount of initrd fails unless mke2fs uses 1024 byt e blocks

DISCUSSION [email protected] 1 participant 1 message Apr 12, 2002

lore
Share & tools
lore
#0 lore raw

The kernel does set_blocksize() to change the blocksize of your device. This set_blocksize() throws away all buffers with the now incorrect size. But your device is a ramdisk, and throwing out these buffers kills all your data.

Andries,

Thanks for the update. So, what do I do now?
Wait for a fix for 2.2? Send my problem report to someone else?

First you check whether my analysis is correct:
check that after the failed mount attempt the ramdisk does not hold any data anymore. (Say with od or so.)

Now we have a known problem. You can avoid meeting it by only using blocksize 1024. On the kernel side this of course will have to be fixed some time.
I think Adam Richter once submitted a patch to fix this, but apparently it was not taken.
For 2.5 I think the aim must be to get rid of set_blocksize() entirely. I don't know whether 2.2 and 2.4 will be fixed.

Andries