A.3.2. Commands and Interfaces that Support udev

Table A.2, “dmsetup Commands to Support udev” summarizes the dmsetup commands that support udev integration.

Table A.2. dmsetup Commands to Support udev

Command Description
dmsetup udevcomplete Used to notify that udev has completed processing the rules and unlocks waiting process (called from within udev rules in 95-dm-notify.rules).
dmsetup udevcomplete_all Used for debugging purposes to manually unlock all waiting processes.
dmsetup udevcookies Used for debugging purposes, to show all existing cookies (system-wide semaphores).
dmsetup udevcreatecookie Used to create a cookie (semaphore) manually. This is useful to run more processes under one synchronization resource.
dmsetup udevreleasecookie Used to wait for all udev processing related to all processes put under that one synchronization cookie.

The dmsetup options that support udev integration are as follows.
--udevcookie
Needs to be defined for all dmsetup processes we would like to add into a udev transaction. It is used in conjunction with udevcreatecookie and udevreleasecookie:
COOKIE=$(dmsetup udevcreatecookie)
  dmsetup command --udevcookie $COOKIE ....
  dmsetup command --udevcookie $COOKIE ....
  ....
  dmsetup command --udevcookie $COOKIE ....
dmsetup udevreleasecookie --udevcookie $COOKIE
Besides using the --udevcookie option, you can just export the variable into an environment of the process:
export DM_UDEV_COOKIE=$(dmsetup udevcreatecookie)
  dmsetup command ...
  dmsetup command ...
  ...
  dmsetup command ...
--noudevrules
Disables udev rules. Nodes/symlinks will be created by libdevmapper itself (the old way). This option is for debugging purposes, if udev does not work correctly.
--noudevsync
Disables udev synchronization. This is also for debugging purposes.
For more information on the dmsetup and its options, see the dmsetup(8) man page.
The LVM commands support the following options that support udev integration:
  • --noudevrules: as for the dmsetup command, disables udev rules.
  • --noudevsync: as for the dmsetup command, disables udev synchronization.
The lvm.conf file includes the following options that support udev integration:
  • udev_rules: enables/disables udev_rules for all LVM2 commands globally.
  • udev_sync: enables/disables udev synchronization for all LVM commands globally.
For more information on the lvm.conf file options, see the inline comments in the lvm.conf file.