problem in reading block filesystem
Rabeeh Khoury
rabeeh at galileo.co.il
Sun Feb 4 07:21:11 EST 2001
Hi All,
I'v downloaded the latest mtd sources from the CVS server, and attached
a flash driver for Galileo Technology evaluation boards.
I have 16MByte of flash memory on board -
[~]$ cat /proc/mtd
dev: size erasesize name
mtd0: 01000000 00040000 "Galileo Flash Memory"
Then I try checking the filesystem on the flash memory, which has not
been initialized at all -
(/dev/mtd0 is a block file major 31 and minor 0 for activating the flash
memory as a normal block device)
[~]$ e2fsck /dev/mtd0
e2fsck 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09
Couldn't find ext2 superblock, trying backup blocks...
e2fsck: Attempt to read block from filesystem resulted in short read
while trying to open /dev/mtd0
Could this be a zero-length partition?
and I get the following mtd debug info -
Jan 3 09:11:54 lion128 kernel: mtdblock_open
Jan 3 09:11:54 lion128 kernel: ok
Jan 3 09:11:54 lion128 kernel: mtdblock: read on "Galileo Flash Memory"
at 0x0, size 0x1000
Jan 3 09:11:54 lion128 kernel: mtdblock_release
Jan 3 09:11:54 lion128 kernel: ok
Jan 3 09:11:54 lion128 kernel: mtdblock_open
Jan 3 09:11:54 lion128 kernel: ok
Jan 3 09:11:54 lion128 kernel: mtdblock: read on "Galileo Flash Memory"
at 0x800000, size 0x1000
Jan 3 09:11:54 lion128 kernel: mtdblock_release
Jan 3 09:11:54 lion128 kernel: ok
Jan 3 09:11:54 lion128 kernel: mtdblock_open
Jan 3 09:11:54 lion128 kernel: ok
Jan 3 09:11:54 lion128 kernel: mtdblock_release
Jan 3 09:11:54 lion128 kernel: ok
Jan 3 09:11:54 lion128 kernel: mtdblock_open
Jan 3 09:11:54 lion128 kernel: ok
Jan 3 09:11:54 lion128 kernel: mtdblock_release
Jan 3 09:11:54 lion128 kernel: ok
Jan 3 09:11:54 lion128 kernel: mtdblock_open
Jan 3 09:11:54 lion128 kernel: ok
Jan 3 09:11:54 lion128 kernel: mtdblock_release
Jan 3 09:11:54 lion128 kernel: ok
Then I try creating a new filesystem on the flash -
[root at lion128 ~]$ mke2fs /dev/mtd0
mke2fs 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
4096 inodes, 16384 blocks
819 blocks (5.00%) reserved for the super user
First data block=1
2 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
8193
Writing inode tables: 0/2Warning: could not write 8 blocks in inode
table starting at 5: Attempt to write block from filesystem resulted in
short write
Warning: could not write 8 blocks in inode table starting at 13: Attempt
to write block from filesystem resulted in short write
Warning: could not write 8 blocks in inode table starting at 21: Attempt
to write block from filesystem resulted in short write
Warning: could not write 8 blocks in inode table starting at 29: Attempt
to write block from filesystem resulted in short write
Warning: could not write 8 blocks in inode table starting at 37: Attempt
to write block from filesystem resulted in short write
Warning: could not write 8 blocks in inode table starting at 45: Attempt
to write block from filesystem resulted in short write
Warning: could not write 8 blocks in inode table starting at 53: Attempt
to write block from filesystem resulted in short write
...
...
Warning: could not write 8 blocks in inode table starting at 8445:
Attempt to write block from filesystem resulted in short write
done
ext2fs_mkdir: Attempt to write block from filesystem resulted in short
write while creating root dir
and I get the following mtd debug info -
Jan 3 09:12:05 lion128 kernel: mtdblock_open
Jan 3 09:12:05 lion128 kernel: ok
Jan 3 09:12:05 lion128 kernel: mtdblock_release
Jan 3 09:12:05 lion128 kernel: ok
Jan 3 09:12:05 lion128 kernel: mtdblock_open
Jan 3 09:12:05 lion128 kernel: ok
Jan 3 09:12:05 lion128 kernel: mtdblock_release
Jan 3 09:12:05 lion128 kernel: ok
Jan 3 09:12:23 lion128 kernel: mtdblock_open
Jan 3 09:12:23 lion128 kernel: ok
Jan 3 09:12:23 lion128 kernel: mtdblock_release
Jan 3 09:12:23 lion128 kernel: ok
Jan 3 09:12:23 lion128 kernel: mtdblock_open
Jan 3 09:12:23 lion128 kernel: ok
Jan 3 09:12:23 lion128 kernel: mtdblock_release
Jan 3 09:12:23 lion128 kernel: ok
p.s. debug level is 3 (noisy)
The mtd doesn't even call my write function or erase function at all !!!
Can you see what could be the problem ?
I have other questions -
Is there any new API documentation on the net ?
Is there any documentation on how to activate the other features of the
MTD subsystem (FTL and others...)
Thanks a ton -
Rabeeh
To unsubscribe, send "unsubscribe mtd" to majordomo at infradead.org
More information about the linux-mtd
mailing list