[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Changing node alignment
On Tue, 25 Jun 2002 Sami.Liedes@xxxxxxx.fi wrote:
> Eep. Block 0x004a0000 taken from free_list had free_size of 0x0001fff0!!
Here we expect a clean block from the free_list to have _only_ a 12-byte
'cleanmarker' node on it, but of course it takes 16 bytes now.
Stick a PAD() around the sizeof(struct jffs2_unknown_node) in the check.
> mtd->write(mtd,0x6e0088,68,&retlen,buf)
> mtd->write(mtd,0x6e00cc,8,&retlen,buf)
> mtd: uneven page boundary write
> Write of 76 bytes at 0x004a0088 failed. returned 0, retlen 68
You need to implement a proper writev() function for your flash. JFFS2
will only write PAD-aligned nodes, but it will write them using writev()
with unaligned and variable-length vecs, and if your flash driver doesn't
provide its own writev() then JFFS2 will just fall through to multiple
write() calls -- some of which will _not_ be aligned nicely.
I wonder if you'd do better to use the wbuf support that we already have
for NAND flash, though?
--
dwmw2
To unsubscribe from this list: send the line "unsubscribe jffs-dev" in
the body of a message to majordomo@xxxxxxx.com