read error with 64 byte erase counter header & 2048 Byte mtd->writesize
Shivdas Gujare
shivdas.tech at gmail.com
Mon Feb 22 19:00:19 EST 2010
Hi all,
I am trying to use ubifs, but currently I am facing an issue as follows,
1) I tries to format a mtd device as, "ubiformat /dev/mtd0 -s 2048 -f
./ubi.img" while it return with an error of
ubiformat: mtd0 (nand), size 164757504 bytes (157.1 MiB), 1257
eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes
libscan: scanning eraseblock 0 -- 0 % complete libmtd: error!:
cannot read 64 bytes from mtd0 (eraseblock 0, offset 0)
error 22 (Invalid argument)
ubiformat: error!: failed to scan mtd0 (/dev/mtd0)
I tried to understand what it is and came to know that, "ret =
mtd_read(mtd, fd, eb, 0, &hdr, sizeof(struct ubi_ec_hdr));" from
"ubi-utils/src/libscan.c"
tried to read 64 byte "struct ubi_ec_hdr - UBI erase counter header"
while our MTD driver has set "mtd->writesize = 2048"
So this mismatch between 64 Byte "erase counter header" and 2048 Byte
"mtd->writesize" returns with an error.
I would like to know, Is this a real issue or am I missing any layer
between ubifs & mtd driver which interfaces this 64 & 2048 Byte
differences.
Thanks a lot for any help.
Thanks and Regards,
Shivdas Gujare
2)
More information about the linux-mtd
mailing list