jffs_file_write and DOC

Rogelio M. Serrano Jr. rogelio at evoserve.com
Tue Jul 18 21:25:33 EDT 2000


I observed that the jffs_file_write function misbehaves when given a
chunk bigger than MAX_CHUNK_SIZE. It is passed a chunk exactly equal to
MAX_CHUNK_SIZE so when it adds the inode and the name the resulting
chunk in is more or less 60 bytes bigger than MAX_CHUNK_SIZE which is
4096 bytes in my case with the DOC2000.

Cat just writes a file shorter than it should be on flash. I used a
modified DOC_loadbios utility to download my JFFS images to the DOC. If
I dont write anything to it I could mount and unmount cleanly. But when
I write to it, I get bad checksums on the next mount and totoal mount
failure after couple more mounts.

How is jffs_write_file called when we write a large file to flash? I
dont see any loops in jffs_file_write. Does the VFS layer handle the
subdivisions and calls jffs_file_write with chunks equal to max chunk
size? How do we handle this ?


To unsubscribe, send "unsubscribe mtd" to majordomo at infradead.org



More information about the linux-mtd mailing list