[#4814] umount jffs file system on bf548 would fail

Document created by Aaronwu Employee on Aug 30, 2013
Version 1Show Document
  • View in full screen mode

[#4814] umount jffs file system on bf548 would fail

Submitted By: Mingquan Pan

Open Date

2009-01-16 03:19:02     Close Date

2009-02-10 01:33:42

Priority:

Medium     Assignee:

Graf Yang

Status:

Closed     Fixed In Release:

N/A

Found In Release:

N/A     Release:

Category:

N/A     Board:

N/A

Processor:

ALL     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Rejected

Uboot version or rev.:

    Toolchain version or rev.:

Nov 11

App binary format:

N/A     

Summary: umount jffs file system on bf548 would fail

Details:

 

umount jffs file system on bf548 ezkit would fail on trunk. This doesn't seen on other boards.

 

## Booting image at 02000000 ...

   Image Name:   Linux-2.6.28-ADI-2009R1-pre-svn6

   Created:      2009-01-15  22:37:31 UTC

   Image Type:   Blackfin Linux Kernel Image (gzip compressed)

   Data Size:    3488036 Bytes =  3.3 MB

   Load Address: 00001000

   Entry Point:  0024b5a4

   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

Starting Kernel at = 24b5a4

Linux version 2.6.28-ADI-2009R1-pre-svn6023 (test@uclinux61-bf548-std) (gcc version 4.1.2 (ADI svn)) #30 Thu Jan 15 22:37:20 GMT 2009

console [early_BFuart0] enabled

early printk enabled on early_BFuart0

Board Memory: 64MB

Kernel Managed Memory: 64MB

Memory map:

  fixedcode = 0x00000400-0x00000490

  text      = 0x00001000-0x0018b630

  rodata    = 0x0018b630-0x0020ef68

  bss       = 0x0020ef70-0x0022102c

  data      = 0x0022102c-0x00236000

    stack   = 0x00234000-0x00236000

  init      = 0x00236000-0x0067b000

  available = 0x0067b000-0x03dff000

  DMA Zone  = 0x03e00000-0x04000000

Hardware Trace Active and Enabled

Boot Mode: 3

Reset caused by Software reset

Blackfin support (C) 2004-2008 Analog Devices, Inc.

Compiled for ADSP-BF548 Rev 0.1

Blackfin Linux support by   blackfin.uclinux.org/

Processor Speed: 525 MHz core clock and 131 MHz System Clock

NOMPU: setting up cplb tables

Instruction Cache Enabled for CPU0

Data Cache Enabled for CPU0 (write-through)

Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 15747

Kernel command line: root=/dev/mtdblock0 rw earlyprintk=serial,uart0,57600 ip=10.100.4.50:10.100.4.174:10.100.4.174:255.255.255.0:bf548-ezkit:eth0:off

Configuring Blackfin Priority Driven Interrupts

PID hash table entries: 256 (order: 8, 1024 bytes)

console handover: boot [early_BFuart0] -> real [ttyBF0]

Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

Memory available: 56268k/65536k RAM, (4372k init code, 1577k kernel code, 683k data, 2048k dma, 584k reserved)

Calibrating delay loop... 1044.48 BogoMIPS (lpj=2088960)

Security Framework initialized

Mount-cache hash table entries: 512

Blackfin Scratchpad data SRAM: 4 KB

Blackfin L1 Data A SRAM: 16 KB (15 KB free)

Blackfin L1 Data B SRAM: 16 KB (16 KB free)

Blackfin L1 Instruction SRAM: 48 KB (42 KB free)

Blackfin L2 SRAM: 128 KB (128 KB free)

PDA for CPU0 reserved at 00210828

net_namespace: 288 bytes

NET: Registered protocol family 16

Blackfin GPIO Controller

Blackfin DMA Controller

ezkit_init(): registering device resources

SCSI subsystem initialized

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

musb_hdrc: version 6.0, musb-dma, host, debug=0

musb_hdrc: USB Host mode controller at ffc03c00 using DMA, IRQ 82

musb_hdrc musb_hdrc.0: MUSB HDRC host driver

musb_hdrc musb_hdrc.0: new USB bus registered, assigned bus number 1

usb usb1: configuration #1 chosen from 1 choice

hub 1-0:1.0: USB hub found

dma_alloc_init: dma_page @ 0x03db8000 - 512 pages at 0x03e00000

hub 1-0:1.0: 1 port detected

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

TCP established hash table entries: 2048 (order: 2, 16384 bytes)

TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

TCP: Hash tables configured (established 2048 bind 2048)

TCP reno registered

NET: Registered protocol family 1

JFFS2 version 2.2. (NAND) 漏 2001-2006 Red Hat, Inc.

msgmni has been set to 109

io scheduler noop registered

io scheduler anticipatory registered (default)

io scheduler cfq registered

bfin-otp: initialized

Serial: Blackfin serial driver

bfin-uart.1: ttyBF0 at MMIO 0xffc02000 (irq = 48) is a BFIN-UART

brd: module loaded

smsc911x: Driver version 2007-07-13.

eth0: SMSC911x MAC Address: 00:e0:22:fe:b8:54

Driver 'sd' needs updating - please use bus_type methods

Driver 'sr' needs updating - please use bus_type methods

register bfin atapi driver

scsi0 : pata-bf54x

ata1: PATA max UDMA/66 irq 68

ata1.00: ATA-6: TOSHIBA MK4032GAX, AD101A, max UDMA/100

ata1.00: 78140160 sectors, multi 16: LBA48

ata1.00: configured for UDMA/66

blk_queue_max_hw_segments: set to minimum 1

scsi 0:0:0:0: Direct-Access     ATA      TOSHIBA MK4032GA AD10 PQ: 0 ANSI: 5

sd 0:0:0:0: [sda] 78140160 512-byte hardware sectors: (40.0 GB/37.2 GiB)

sd 0:0:0:0: [sda] Write Protect is off

sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

sd 0:0:0:0: [sda] 78140160 512-byte hardware sectors: (40.0 GB/37.2 GiB)

sd 0:0:0:0: [sda] Write Protect is off

sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

sda: sda1 sda2

sd 0:0:0:0: [sda] Attached SCSI disk

physmap platform flash device: 02000000 at 20000000

physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Using buffer write method

Using auto-unlock on power-up/resume

cfi_cmdset_0001: Erase suspend on write enabled

RedBoot partition parsing not available

Using physmap partition information

Creating 3 MTD partitions on "physmap-flash.0":

0x00000000-0x00040000 : "bootloader(nor)"

0x00040000-0x00440000 : "linux kernel(nor)"

0x00440000-0x01000000 : "file system(nor)"

BF5xx on-chip NAND FLash Controller Driver, Version 1.2 (c) 2007 Analog Devices, Inc.

bf5xx-nand bf5xx-nand.0: page_size=256, data_width=8, wr_dly=3, rd_dly=3

NAND device: Manufacturer ID: 0x20, Chip ID: 0xda (ST Micro NAND 256MiB 3,3V 8-bit)

Creating 2 MTD partitions on "NAND 256MiB 3,3V 8-bit":

0x00000000-0x00400000 : "linux kernel(nand)"

0x00400000-0x10000000 : "file system(nand)"

i2c /dev entries driver

i2c-bfin-twi i2c-bfin-twi.0: Blackfin BF5xx on-chip I2C TWI Contoller, regs_base@ffc00700

i2c-bfin-twi i2c-bfin-twi.1: Blackfin BF5xx on-chip I2C TWI Contoller, regs_base@ffc02200

TCP cubic registered

NET: Registered protocol family 17

eth0: SMSC911x/921x identified at 0x24000000, IRQ: 175

eth0: link down

usb 1-1: new high speed USB device using musb_hdrc and address 2

IP-Config: Complete:

     device=eth0, addr=10.100.4.50, mask=255.255.255.0, gw=10.100.4.174,

     host=bf548-ezkit, domain=, nis-domain=(none),

     bootserver=10.100.4.174, rootserver=10.100.4.174, rootpath=

Freeing unused kernel memory: 4372k freed

usb 1-1: configuration #1 chosen from 1 choice

eth0: link up, 100Mbps, full-duplex, lpa 0x41E1

                           _____________________________________

        a8888b.           / Welcome to the uClinux distribution \

       d888888b.         /       _     _                         \

       8P"YP"Y88        /       | |   |_|            __  __ (TM)  |

       8|o||o|88  _____/        | |    _ ____  _   _ \ \/ /       |

       8'    .88       \        | |   | |  _ \| | | | \  /        |

       8`._.' Y8.       \       | |__ | | | | | |_| | /  \        |

      d/      `8b.       \      \____||_|_| |_|\____|/_/\_\       |

     dP   .    Y8b.       \   For embedded processors including   |

    d8:'  "  `::88b        \    the Analog Devices Blackfin      /

   d8"         'Y88b        \___________________________________/

  :8P    '      :888

   8a.   :     _a88P         For further information, check out:

._/"Yaa_:   .| 88P|            -   blackfin.uclinux.org/

\    YP"    `| 8P  `.          -   docs.blackfin.uclinux.org/

/     \.___.d|    .'           -   www.uclinux.org/

`--..__)8888P`._.'  jgs/a:f    -   www.analog.com/blackfin

 

Have a lot of fun...

 

 

BusyBox v1.13.2 (2009-01-15 17:58:54 GMT) built-in shell (msh)

Enter 'help' for a list of built-in commands.

 

root:/>

************** STEP 3: MTD test

 

cat /proc/mtd

dev:    size   erasesize  name

mtd0: 00040000 00020000 "bootloader(nor)"

mtd1: 00400000 00020000 "linux kernel(nor)"

mtd2: 00

Case 1 ...PASS

 

Case 1 ...PASS

bc0000 00020000 "file system(nor)"

mtd3: 00400000 00020000 "linux kernel(nand)"

mtd4: 0fc00000 00020000 "file system(nand)"

root:/>

************** STEP 4: Erase MTD

 

flash_eraseall /dev/mtd2

Erasing 128 Kibyte @ 300000 -- 25 % complete.init: /bin/watchdogd respawning too fast

Erasing 128 Kibyte @ 540000 -- 44 % complete.init: /bin/watchdogd respawning too fast

Erasing 128 Kibyte @ 920000 -- 77 % complete.init: /bin/watchdogd respawning too fast

Erasing 128 Kibyte @ bc0000 -- 100 % complete.

root:/>

Case 2 ...PASS

 

Case 2 ...PASS

 

************** STEP 5: Make jffs2 image

 

 

1)create file system directory

mkdir -p rootfs

root:/>

2)create test file

echo This is test for mtd driver > rootfs/test

root:/>

3)create JFFS2 image

mkfs.jffs2 -r rootfs -o mtd.img

root:/>

************** STEP 6: Writing MTD

 

cp mtd.img /dev/mtd2

root:/>

Case 3 ...PASS

 

Case 3 ...PASS

 

************** STEP 7: Reading MTD

 

mount -t jffs2 /dev/mtdblock2 /mnt

root:/>

Case 4 ...PASS

 

Case 4 ...PASS

 

************** STEP 8: cp pwd to JFFS.

 

cp /bin/pwd /mnt

root:/>

Case 5 ...PASS

 

Case 5 ...PASS

 

************** STEP 9: JFFS Validating data integrity

 

while [ 1 ]; md5sum /mnt/pwd ; done

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

 

Case 6 ...PASS

 

Case 6 ...PASS

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

930f83ab4b70911d75e2d5200a6569e6  /mnt/pwd

^C

 

BusyBox v1.13.2 (2009-01-15 17:58:54 GMT) built-in shell (msh)

Enter 'help' for a list of built-in commands.

 

root:/>

************** STEP 10: Verify

 

cmp /rootfinit: /bin/watchdogd respawning too fast

s/test /mnt/test

root:/>

Case 7 ...PASS

 

Case 7 ...PASS

umount /mnt

 

Case 8 ...FAIL

 

 

Follow-ups

 

--- Yi Li                                                    2009-01-19 04:43:51

Is the failure caused by "umount" timeout, or "umount"

returns an error? Can we see the error code returned?

 

I have been using jffs2 on BF548, seems to work ok for me.

 

-Yi

 

--- Graf Yang                                                2009-02-05 23:53:31

I don't think it's a bug. You can set the timeout large than 90 before umount

/mnt in script pnormtd_test.exp, or add more/enough testing items between mount

and umount to avoid failing.

 

In fact, because we executed "flash_eraseall /dev/mtd2", "mount

-t jffs2 /dev/mtdblock2 /mnt", will queue all the block to work queue for

erasing, it will take a long time (about 82 seconds on BF548).

 

fs/jffs2/scan.c line 159 says "Since we can't be sure it was entirely

erased, we just queue it for erase again."

 

 

--- Graf Yang                                                2009-02-06 04:16:29

You should use "flash_eraseall -j /dev/mtd2", not use

"flash_eraseall /dev/mtd2".

 

When add -j option, it will write Cleanmarker into flash, and avoid re-erase.

Umount would return immediately, even just after mounted.

 

--- Mingquan Pan                                             2009-02-10 01:33:42

Yeah, it works. So close.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes