Hi all, currently device-mapper doesn't play well with udev & hotplug events. The event is sent out on the initial device create; only at this stage the device is not usable. Only after one did a 'table load' and a 'resume' the device is actually accessible from userland. And thus it is purely coincidental if any 'dmsetup' call from udev (which is triggered by the device create events) will return any useful data. This patch adds two additional events 'online' and 'offline' which get send after 'resume' and 'suspend', respectively. With this patch udev can hook on the 'online' event and will always get valid data via the dmsetup call. Comments etc. are welcome. Cheers, Hannes -- Dr. Hannes Reinecke hare@xxxxxxx SuSE Linux Products GmbH S390 & zSeries Maxfeldstraße 5 +49 911 74053 688 90409 Nürnberg http://www.suse.de
--- linux-2.6.16/drivers/md/dm.c.orig 2006-05-23 12:18:09.000000000 +0200 +++ linux-2.6.16/drivers/md/dm.c 2006-05-26 14:09:16.000000000 +0200 @@ -1201,6 +1201,7 @@ int dm_suspend(struct mapped_device *md, dm_table_postsuspend_targets(map); set_bit(DMF_SUSPENDED, &md->flags); + kobject_uevent(&md->disk->kobj, KOBJ_OFFLINE); r = 0; @@ -1247,6 +1248,7 @@ int dm_resume(struct mapped_device *md) dm_table_unplug_all(map); + kobject_uevent(&md->disk->kobj, KOBJ_ONLINE); r = 0; out:
-- dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel