[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Killing JFFS under 2.2




Upon trying to mount the image which I posted, I see the messages below.

Note that the offset passed to jffs_erasable_size is 0x2cfec8, which is 
equal to the address printed in the 7th line of the quoted log ("0xff ended 
at pos 2948808". Ignore the fact that it prints '0x%d' :) 

Should the jffs_scan_flash() function be rounding that address down to the 
nearest erase block, rather than just using it directly? Or should this 
arrangement never actually happen on the flash in the first place? ...


2bde80                                     31 39 38 34
2bde90 2a 00 00 00 29 00 00 00 25 00 00 00 ed 81 00 00
2bdea0 00 00 00 00 46 2b 62 39 da 60 e9 38 02 01 00 00
2bdeb0 b0 ff 00 00 b0 ff 00 00 b0 ff 00 00 11 01 00 ff
2bdec0 e6 64 6d 00 0c 06 0e 0d 6c 69 62 6e 63 75 72 73
2bded0 65 73 2e 73 6f 2e 34 2e 32 ff ff ff 01 10 a0 e3

 < ... lots of data ... >

2cde80 00 20 e0 e3 78 22 81 e5 74 22 81 e5 ff ff ff ff
2cde90 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
2cfec0 ff ff ff ff ff ff ff ff 31 39 38 34 2a 00 00 00
2cfed0 29 00 00 00 26 00 00 00 ed 81 00 00 00 00 00 00
2cfee0 46 2b 62 39 da 60 e9 38 02 01 00 00 60 ff 01 00
2cfef0 b0 ff 00 00 b0 ff 00 00 11 01 00 ff 0f f8 5c 00
2cff00 0c 06 6c 0c 6c 69 62 6e 63 75 72 73 65 73 2e 73
2cff10 6f 2e 34 2e 32 ff ff ff 01 00 75 e3 0c 00 00 1a



It said:

jffs_scan_flash(): start pos = 0x0, end = 0x15728640
jffs_scan_flash(): 0xff at pos 0x0.
jffs_scan_flash(): 0xff ended at pos 0x262144.
jffs_scan_flash(): 0x00 at pos 0x262144.
jffs_scan_flash(): 0x00 ended at pos 0x268228.
jffs_scan_flash(): 0xff at pos 0x2940556.
jffs_scan_flash(): 0xff ended at pos 0x2948808.
jffs_scan_flash(): 0xff at pos 0x3014344.
jffs_scan_flash(): 0xff ended at pos 0x15728640.
jffs_insert_data: Inserting a virtual node.
  node->data_offset = 114688
  f->size = 0
jffs_node: 0xc1c48f60
{
        0x00000010, /* version  */
        0x00000000, /* data_offset  */
        0x0001c000, /* data_size  */
        0x00000000, /* removed_size  */
        0x00000000, /* fm_offset  */
        0x00,       /* name_size  */
        0x00000000, /* fm,  fm->offset: 0  */
        0x00000000, /* version_prev  */
        0xc1f6acc0, /* version_next  */
        0x00000000, /* range_prev  */
        0x00000000, /* range_next  */
}

 < ... > 

***jffs_garbage_collect(): round #1, fmc->dirty_size = 213788
jffs_flash_erasable_size() given non-aligned offset 2cfec8 (erasesize 20000)
jffs_erasable_size: flash_erasable_size() returned something less than zero (-1).
jffs_erasable_size: offset = 0x002cfec8


--
dwmw2