xen blkfront: Delay wait for block devices until after the disk is added
authorChristian Limpach <Christian.Limpach@xensource.com>
Wed, 2 Apr 2008 17:54:04 +0000 (10:54 -0700)
committerIngo Molnar <mingo@elte.hu>
Thu, 24 Apr 2008 21:57:33 +0000 (23:57 +0200)
commit1d78d7055629e3f6300d6b8d7028259ee2bffc0e
tree20bf47ccdd80ead20c69f8a536849c9cf8dd3223
parent53f0e8afcb0d57cfaff06b89eb8b5302f167577e
xen blkfront: Delay wait for block devices until after the disk is added

When the xen block frontend driver is built as a module the module load
is only synchronous up to the point where the frontend and the backend
become connected rather than when the disk is added.

This means that there can be a race on boot between loading the module and
loading the dm-* modules and doing the scan for LVM physical volumes (all
in the initrd). In the failure case the disk is not present until after the
scan for physical volumes is complete.

Taken from:

  http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/11483a00c017

Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
drivers/block/xen-blkfront.c
drivers/xen/xenbus/xenbus_probe.c
include/xen/xenbus.h