Can not mount UBIFS
林于峻
okpalin at gmail.com
Mon May 3 07:54:16 EDT 2010
Dear all,
Thank you for your support.
I can mount UBIFS now after fixing mtd read function.
However, if I enable the "extra checks" of UBI and UBIFS, then I can
not mount UBIFS.
What's the different after enable "extra checks" of UBI and UBIFS.
Thank you,
Best regards,
2010/4/6 Artem Bityutskiy <dedekind1 at gmail.com>:
> On Tue, 2010-03-16 at 16:13 +0800, 林于峻 wrote:
>> Dear all,
>>
>> I try to sync /driver/mtd/ubi/*, /fs/ubifs/*, and
>> /include/linux/mtd/ubi.h with
>> git://git.infradead.org/~dedekind/ubifs-v2.6.29.git
>> But mount still fail.
>> I will try nandsim latter.
>>
>> To get more information, I enable UBI and UBIFS debugging message,
>> described below..
>> I enable UBI debugging: UBI debugging messages, Extra self-check, and
>> all Aditional UBI debugging messages.
>> I also enable UBIFS: Enable debugging with message level 3 and Enable
>> extra checks.
>>
>> Below are my entered command and debug message get from "adb logcat"
>>
>> My entered command:
>> # cat /proc/mtd
>> cat /proc/mtd
>> dev: size erasesize name
>> mtd0: 00500000 00020000 "recovery"
>> mtd1: 00800000 00020000 "boot"
>> mtd2: 077a0000 00020000 "system"
>> mtd3: 02000000 00020000 "cache"
>> mtd4: 14b00000 00020000 "userdata"
>>
>> # flash_eraseall /dev/mtd/mtd3
>> flash_eraseall /dev/mtd/mtd3
>> Erasing 128 Kibyte @ 2000000 -- 100 % complete.
>>
>> # ubiattach /dev/ubi_ctrl -m 3
>> ubiattach /dev/ubi_ctrl -m 3
>> UBI device number 0, total 256 LEBs (32505856 bytes, 31.0 MiB),
>> available 250 LEBs (31744000 bytes, 30.3 MiB), LEB size 126976 bytes
>> (124.0 KiB)
>>
>> # ubinfo
>> ubinfo
>> UBI version: 1
>> Count of UBI devices: 1
>> UBI control device major/minor: 10:57
>> Present UBI devices: ubi0
>>
>> # ubimkvol /dev/ubi0 -N rootfs -s 10MiB
>> ubimkvol /dev/ubi0 -N rootfs -s 10MiB
>> Volume ID 0, size 83 LEBs (10539008 bytes, 10.1 MiB), LEB size
>> 126976 bytes (124.0 KiB), dynamic, name "rootfs", alignment 1
>>
>> # ubinfo -a
>> ubinfo -a
>> UBI version: 1
>> Count of UBI devices: 1
>> UBI control device major/minor: 10:57
>> Present UBI devices: ubi0
>>
>> ubi0
>> Volumes count: 1
>> Logical eraseblock size: 126976 bytes, 124.0 KiB
>> Total amount of logical eraseblocks: 256 (32505856 bytes, 31.0 MiB)
>> Amount of available logical eraseblocks: 167 (21204992 bytes, 20.2 MiB)
>> Maximum count of volumes 128
>> Count of bad physical eraseblocks: 0
>> Count of reserved physical eraseblocks: 2
>> Current maximum erase counter value: 2
>> Minimum input/output unit size: 2048 bytes
>> Character device major/minor: 249:0
>> Present volumes: 0
>>
>> Volume ID: 0 (on ubi0)
>> Type: dynamic
>> Alignment: 1
>> Size: 83 LEBs (10539008 bytes, 10.1 MiB)
>> State: OK
>> Name: rootfs
>> Character device major/minor: 249:1
>>
>> # mount -t ubifs ubi0_0 /cache
>> mount -t ubifs ubi0_0 /cache
>> mount: Invalid argument
>>
>> # mount -t ubifs ubi0:rootfs /cache
>> mount -t ubifs ubi0:rootfs /cache
>> mount: Invalid argument
>>
>> Debug message from "adb logcat":
>> <7>UBIFS DBG (pid 1378): ubifs_get_sb: name ubi0:rootfs, flags 0x8000
>> <7>UBI DBG (pid 1378): ubi_open_volume_path: open volume ubi0:rootfs, mode 1
>> <7>UBI DBG (pid 1378): ubi_open_volume_nm: open device 0, volume rootfs, mode 1
>> <7>UBI DBG (pid 1378): ubi_open_volume: open device 0, volume 0, mode 1
>> <7>UBIFS DBG (pid 1378): ubifs_get_sb: opened ubi0_0
>> <7>UBI DBG (pid 1378): ubi_open_volume: open device 0, volume 0, mode 2
>> <7>UBI DBG (pid 1378): ubi_is_mapped: test LEB 0:0
>> <7>UBIFS DBG (pid 1378): ubifs_read_node: LEB 0:0, superblock node, length 4096
>> <7>UBI DBG (pid 1378): ubi_leb_read: read 4096 bytes from LEB 0:0:0
>> <7>UBI DBG (pid 1378): ubi_eba_read_leb: read 4096 bytes from offset 0
>> of LEB 0:0, PEB 1
>> <7>UBI DBG (pid 1378): ubi_io_read: read 4096 bytes from PEB 1:4096
>> <7>UBIFS DBG (pid 1378): ubifs_start_scan: scan LEB 1:0
>> <7>UBI DBG (pid 1378): ubi_leb_read: read 126976 bytes from LEB 0:1:0
>> <7>UBI DBG (pid 1378): ubi_eba_read_leb: read 126976 bytes from offset
>> 0 of LEB 0:1, PEB 129
>> <7>UBI DBG (pid 1378): ubi_io_read: read 126976 bytes from PEB 129:4096
>> <7>UBIFS DBG (pid 1380): ubifs_bg_thread: background thread
>> "ubifs_bgt0_0" started, PID 1380
>> <7>UBIFS DBG (pid 1378): ubifs_scan: look at LEB 1:0 (126976 bytes left)
>> <7>UBIFS DBG (pid 1378): ubifs_scan_a_node: scanning master node
>> <7>UBIFS DBG (pid 1378): ubifs_scan: look at LEB 1:512 (126464 bytes left)
>> <7>UBIFS DBG (pid 1378): ubifs_scan_a_node: scanning padding node
>> <7>UBIFS DBG (pid 1378): ubifs_scan_a_node: 1508 bytes padded, offset now 2048
>> <7>UBIFS DBG (pid 1378): ubifs_scan: look at LEB 1:2048 (124928 bytes left)
>> <7>UBIFS DBG (pid 1378): ubifs_scan_a_node: scanning master node
>> <7>UBIFS DBG (pid 1378): ubifs_scan: look at LEB 1:2560 (124416 bytes left)
>> <7>UBIFS DBG (pid 1378): ubifs_scan_a_node: scanning padding node
>> <7>UBIFS DBG (pid 1378): ubifs_scan_a_node: 1508 bytes padded, offset now 4096
>> <7>UBIFS DBG (pid 1378): ubifs_scan: look at LEB 1:4096 (122880 bytes left)
>> <7>UBIFS DBG (pid 1378): ubifs_scan_a_node: hit empty space
>> <7>UBIFS DBG (pid 1378): ubifs_end_scan: stop scanning LEB 1 at offset 4096
>> <7>UBIFS DBG (pid 1378): ubifs_start_scan: scan LEB 2:0
>> <7>UBI DBG (pid 1378): ubi_leb_read: read 126976 bytes from LEB 0:2:0
>> <7>UBI DBG (pid 1378): ubi_eba_read_leb: read 126976 bytes from offset
>> 0 of LEB 0:2, PEB 130
>> <7>UBI DBG (pid 1378): ubi_io_read: read 126976 bytes from PEB 130:4096
>> <7>UBIFS DBG (pid 1378): ubifs_scan: look at LEB 2:0 (126976 bytes left)
>> <7>UBIFS DBG (pid 1378): ubifs_scan_a_node: scanning master node
>> <7>UBIFS DBG (pid 1378): ubifs_scan: look at LEB 2:512 (126464 bytes left)
>> <7>UBIFS DBG (pid 1378): ubifs_scan_a_node: scanning padding node
>> <7>UBIFS DBG (pid 1378): ubifs_scan_a_node: 1508 bytes padded, offset now 2048
>> <7>UBIFS DBG (pid 1378): ubifs_scan: look at LEB 2:2048 (124928 bytes left)
>> <7>UBIFS DBG (pid 1378): ubifs_scan_a_node: scanning master node
>> <7>UBIFS DBG (pid 1378): ubifs_scan: look at LEB 2:2560 (124416 bytes left)
>> <7>UBIFS DBG (pid 1378): ubifs_scan_a_node: scanning padding node
>> <7>UBIFS DBG (pid 1378): ubifs_scan_a_node: 1508 bytes padded, offset now 4096
>> <7>UBIFS DBG (pid 1378): ubifs_scan: look at LEB 2:4096 (122880 bytes left)
>> <7>UBIFS DBG (pid 1378): ubifs_scan_a_node: hit empty space
>> <7>UBIFS DBG (pid 1378): ubifs_end_scan: stop scanning LEB 2 at offset 4096
>> <7>UBIFS DBG (pid 1378): ubifs_read_node: LEB 10:0, indexing node, length 48
>> <7>UBI DBG (pid 1378): ubi_leb_read: read 48 bytes from LEB 0:10:0
>> <7>UBI DBG (pid 1378): ubi_eba_read_leb: read 48 bytes from offset 0
>> of LEB 0:10, PEB 131
>> <7>UBI DBG (pid 1378): ubi_io_read: read 48 bytes from PEB 131:4096
>> <5>UBIFS: recovery needed
>> <7>UBIFS DBG (pid 1378): ubifs_recover_inl_heads: checking index head at 10:2048
>> <7>UBI DBG (pid 1378): ubi_leb_read: read 2048 bytes from LEB 0:10:2048
>> <7>UBI DBG (pid 1378): ubi_eba_read_leb: read 2048 bytes from offset
>> 2048 of LEB 0:10, PEB 131
>> <7>UBI DBG (pid 1378): ubi_io_read: read 2048 bytes from PEB 131:6144
>> <7>UBIFS DBG (pid 1378): ubifs_recover_inl_heads: checking LPT head at 6:2048
>> <7>UBI DBG (pid 1378): ubi_leb_read: read 2048 bytes from LEB 0:6:2048
>> <7>UBI DBG (pid 1378): ubi_eba_read_leb: read 2048 bytes from offset
>> 2048 of LEB 0:6, PEB 2
>> <7>UBI DBG (pid 1378): ubi_io_read: read 2048 bytes from PEB 2:6144
>> <7>UBI DBG (pid 1378): ubi_leb_read: read 11 bytes from LEB 0:6:419
>> <7>UBI DBG (pid 1378): ubi_eba_read_leb: read 11 bytes from offset 419
>> of LEB 0:6, PEB 2
>> <7>UBI DBG (pid 1378): ubi_io_read: read 11 bytes from PEB 2:4515
>> <3>UBIFS error (pid 1378): check_lpt_type: invalid type (0) in LPT node type 2
>
> Looks like your drive has problems with reading 11 bytes. Please,
> validate it.
>
> --
> Best Regards,
> Artem Bityutskiy (Артём Битюцкий)
>
>
More information about the linux-mtd
mailing list