On Tue, 2007-12-11 at 18:08 +0000, Alasdair G Kergon wrote: > On Tue, Dec 11, 2007 at 06:51:31PM +0100, Kay Sievers wrote: > > We can make the kernel's kobject_uevent() return the generated seqnum to > > the caller. > > Is 32 bits enough? In the kernel it is 64 bit. Udev also uses 64bit number, but it does not care about the value these days (netlink is never out of order, unlike /sbin/hotplug). Only the udev queue export would break if the number wraps around and duplicates are generated in a window of 180 seconds (the event process kills itself after that time). :) So we would need to strip the upper 32 bit of the numbers we see from udev, and handle the case where the 32 bit number wraps around. > We added 'uint32_t padding;' recently which we I reckon we could now use for > this. > > dm_kobject_uevent() and alloc_dev() could keep a new field in > struct mapped_device up-to-date, and a new function could return its > value to dm-ioctl.c code to place into a renamed 'padding' field > before returning to userspace? Yes, we would return the kernel generated seqnum to the libdevmapper ioctl. Should we create an additional new iocl to request the device node creation, or add that call to an existing one? Could it be that we want to pass more properties to the event, which are added as environment keys? Kay -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel