There is a problem with udev: when a volume is created, there is a delay
before corresponding /dev/ubiX_Y device node is created by udev, so some
tests fail because of this. The symptom is error messages like
"cannot open /dev/ubi0_0".

One possible solution of this problem is to pre-create UBI device and volume
nodes. There is even a script which may be used for this in ubi-utils/scripts/.
But this is not enough because udev will still remove and re-create the nodes
and tests will still fail. So you need to stop removing device nodes using
the following udev rule:

	KERNEL=="ubi*_*", ACTION=="remove", OPTIONS+="ignore_device"

In our Ubuntu distribution we put that to new file:
/etc/udev/rules.d/50-local.rules

Another possibility is to call udevsettle utility in libubi after the volume
has been created See src/libubi.c - the call is compiled in only if
UDEV_SETTLE_HACK is defined. This is anyway an ugly hack, but works, although
makes the tests slower. Suggestions are welcome.

So, if you have udevsettel unility in your system, you do not have to do
anyting, and the tests should work, because we compile libubi with
UDEV_SETTLE_HACK. Otherwise, you should remove -D UDEV_SETTLE_HACK
from the makefile and pre-create UBI device nodes.
