Fwd: udev problem (and fix) for /dev/mtdblock*

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

 



Marco suggested this goes "the upstream list" but didn't
forward it or say what that list is... udev still goes
to the hotplug list?


----------  Forwarded Message  ----------

Subject: udev problem (and fix) for lenny/armel
Date: Thursday 20 November 2008
From: David Brownell <david-b@xxxxxxxxxxx>
To: md@xxxxxxxx

Hi,

I have a machine running Debian and it's been getting nasty
boot messages like:

  ...
  Synthesizing the initial hotplug events...done.
  Waiting for /dev to be fully populated...uncorrectable error : <3>end_request: I/O error, dev mtdblock0, sector 0
  Buffer I/O error on device mtdblock0, logical block 0
  uncorrectable error : <3>end_request: I/O error, dev mtdblock0, sector 8
  Buffer I/O error on device mtdblock0, logical block 1
  end_request: I/O error, dev mtdblock0, sector 16
  Buffer I/O error on device mtdblock0, logical block 2
  end_request: I/O error, dev mtdblock0, sector 24 
  Buffer I/O error on device mtdblock0, logical block 3
  uncorrectable error : <3>end_request: I/O error, dev mtdblock0, sector 0
  Buffer I/O error on device mtdblock0, logical block 0
  done.
  Setting parameters of disc: (none).
  ...

Where /dev/mtdblock0 is something of a special NAND partition,
used by the mask ROM on the ARM to get a second stage loader,
which is then loaded from /dev/mtdblock1 etc.  The messages
about "uncorrectable error" are from the kernel, since that
first partition uses a different ECC scheme than the rest of
the flash.

What's happening is that it's trying to read partition data
from the MTD devices ... which is inappropriate, they don't
use internal partition data.  And the mtdblock0 read fails,
because of the ECC differences, producing messages ... ones
that should never have appeared, since it shouldn't have
been trying to read partition data.

The boot is easily cleaned up by a patch to a udev rules
file:  /etc/udev/rules.d/60-persistent-storage.rules is
already skipping a bunch of devices, it just needs to add
the "mtd*" devices to what should be skipped:

  KERNEL=="ram*|loop*|fd*|mtd*|nbd*|gnbd*|dm-*|md*", GOTO="persistent_storage_end"

It'd be good to see this bug fixed before lenny goes final...

- Dave

-------------------------------------------------------
--
To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Linux DVB]     [Asterisk Internet PBX]     [DCCP]     [Netdev]     [X.org]     [Util Linux NG]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux