Currently we have a system (mpc8360) with multiple filesystems in flash
to control the size of certain directories.
We startup the flash driver as follows:
devf-8360 -s 0xfe000000,32M,,,128k,2,1
Flash starts at 0xFE000000 and is 32M.
I run into a problem when if some filesystems were moved around or
resized because the flash driver will finds and mount stale filesystems.
I can erase all of flash when these types of filesystem layout changes
are made, but I would like to avoid it because it's time consuming.
Does devf-* support mounting filesystems from a specific range in flash?
I tried
# devf-8360 -s 0xff400000,4M,,,128k,2,1
To get the "Coredumps" filesystem from flash range 20M - 24M
It mounts it ok, but something doesn't seem right when I type mount:
# mount
/dev/fs0p7 on /coredumps type flash
/dev/fs0p6 on /coredumps type flash
/dev/fs0p5 on /coredumps type flash
/dev/fs0p4 on /coredumps type flash
/dev/fs0p3 on /coredumps type flash
/dev/fs0p2 on /coredumps type flash
/dev/fs0p1 on /coredumps type flash
/dev/fs0p0 on /coredumps type flash
Is this a bug in my flash driver or is it not a supported way to mount a
filesystem.
Verbose output below.
Thanks,
Bernard
# devf-8360 -s 0xff400000,4M,,,128k,2,1 -vvvvv
Flash Development Library - HEAD
Build: May 20 2009 16:27:23
MTD Build: No Info available
(devf t1::f3s_start:283) calloc(1, 128)
(devf t1::f3s_start:313) calloc(1, 64)
(devf t1::f3s_start:339) calloc(1, 48)
(devf t1::f3s_start:365) calloc(1, 72)
(devf t1::f3s_start:380) calloc(1, 156)
(devf t1::f3s_skt_attach:109) fs0 socket Spansion GL256P11FFI02 32MB
Flash
QRY string = QRY
dbase->geo_num = 1
dbase->geo_vect[0].unit_pow2 = 17
dbase->geo_vect[0].unit_num = 256
devf: chip total = 1
devf: bus width = 2
devf: chip interleave = 1
(devf t1::f3s_array_alloc:30) calloc(1, 24)
(devf t1::f3s_array_alloc:31) calloc(1, 1024)
(devf t1::f3s_array_alloc:32) calloc(1, 512)
(devf t1::f3s_array_alloc:33) calloc(1, 256)
(devf t1::f3s_array_alloc:34) calloc(1, 256)
(devf t1::f3s_array_alloc:35) calloc(1, 3072)
(devf t1::f3s_array_alloc:36) malloc(9216)
(devf t1::f3s_skt_attach:135) fs0 array CFI_MirrorBit_Workaround U: 100
S: 0200
00
(devf t1::f3s_array_attach:165) malloc(16)
(devf t1::f3s_array_attach:169) calloc(1, 128)
(devf t1::f3s_array_attach:170) calloc(1, 128)
(devf t1::f3s_array_attach:173) calloc(1, 236)
(devf t1::f3s_array_attach:176) calloc(1, 48)
(devf t1::f3s_array_attach:177) calloc(1, 48)
(devf t1::f3s_recover_boot:141) fs0p0 boot P[00] U: 20
(devf t1::f3s_table_find:90) calloc(1, 66)
(devf t1::f3s_table_find:93) calloc(1, 396)
(devf t1::f3s_table_find:102) calloc(1, 372)
(devf t1::f3s_table_find:106) calloc(1, 128)
(devf t1::f3s_recover_reclaim:878) fs0p0 spare P[1F]
(devf t1::f3s_spare_drop:32) malloc(16)
(devf t1::f3s_table_find:124) calloc(1, 128)
(devf t1::f3s_table_find:178) calloc(1, 128)
(devf t1::f3s_table_find:198) calloc(1, 5)
(devf t1::f3s_table_find:198) calloc(1, 2)
(devf t1::f3s_table_find:198) calloc(1, 2)
(devf t1::f3s_table_find:198) calloc(1, 2)
(devf t1::f3s_table_find:198) calloc(1, 2)
(devf t1::f3s_table_find:198) calloc(1, 2)
(devf t1::f3s_table_find:198) calloc(1, 2)
(devf t1::f3s_table_find:198) calloc(1, 2)
(devf t1::f3s_table_find:198) calloc(1, 2)
(devf t1::f3s_table_find:198) calloc(1, 2)
(devf t1::f3s_table_find:198) calloc(1, 2)
(devf t1::f3s_table_find:198) calloc(1, 2)
(devf t1::f3s_table_find:198) calloc(1, 2)
(devf t1::f3s_table_find:198) calloc(1, 2)
(devf t1::f3s_table_find:198) calloc(1, 2)
(devf t1::f3s_table_find:198) calloc(1, 2)
(devf t1::f3s_table_find:198) calloc(1, 2)
(devf ...
View Full Message