If you have properly installed device-mapper udev rules, cryptsetup is internally synchronized to all symlinks and nodes creation (it should never return only when udev is finished, that's why libdevmapper internally uses semaphores and cookies per device).
Calling udev settle is just workaround for broken udev rules (or the order of rules), you should never need that here...
If you have properly installed device-mapper udev rules, cryptsetup is internally synchronized to all symlinks and nodes creation (it should never return only when udev is finished, that's why libdevmapper internally uses semaphores and cookies per device).
Calling udev settle is just workaround for broken udev rules (or the order of rules), you should never need that here...