Reference

dmeventd(8)

Device-mapper event daemon

NAME

dmeventd — Device-mapper event daemon

SYNOPSIS

dmeventd

[-d [-d [-d]]] [-e exit_on_path] [-f] [-g seconds] [-h] [-i] [-l] [-R] [-V] [-?]

DESCRIPTION

dmeventd is the event monitoring daemon for device-mapper devices. Library plugins can register and carry out actions triggered when particular events occur.

OPTIONS

-d

Repeat from 1 to 3 times (-d, -dd, -ddd) to increase the detail of debug messages sent to syslog. Each extra d adds more debugging information.

-e exit_on_path

Specifies a file path. When the daemon receives a signal (SIGINT, SIGTERM), the presence of this file allows the daemon to exit even if there are still monitored devices. This can help with system shutdown where devices have not been unmonitored properly. To disable this behavior set this to the empty string "". Default value is "/run/nologin".

-f

Don't fork, run in the foreground.

-g seconds

Set the grace period for monitoring thread cleanup (0-300 seconds, default: 10). During this period, monitoring threads that have finished processing events will wait for potential reuse rather than immediately terminating. If the same device and plugin combination is registered again within the grace period, the existing thread is reused, significantly reducing overhead. Set to 0 to disable thread reuse.

-h

Show help information.

-i

Query the running daemon instance for the status information. The format is internal and unstable and it is targeted for developers. Format may change between versions.

-l

Log through stdout and stderr instead of syslog. This option works only with the -f option; otherwise it is ignored.

-?

Show help information on stderr.

-R

Replace a running dmeventd instance. The running dmeventd must be version 2.02.77 or newer. The new dmeventd instance will obtain a list of devices and events to monitor from the currently running daemon.

-V

Show version of dmeventd.

LVM PLUGINS

Mirror

Attempts to handle device failure automatically. See lvm.conf(5).

Raid

Attempts to handle device failure automatically. See lvm.conf(5).

Snapshot

Monitors how full a snapshot is becoming and emits a warning to syslog when it exceeds 80% full. The warning is repeated when 85%, 90% and 95% of the snapshot is filled. See lvm.conf(5). A snapshot that runs out of space becomes invalid and when it is mounted, it is unmounted if possible.

Thin

Monitors how full the thin pool's data and metadata are becoming and emits a warning to syslog when either exceeds 80% full. The warning is repeated when more than 85%, 90% and 95% of the thin pool is filled. See lvm.conf(5). When a thin pool fills over 50% (data or metadata), the thin plugin calls the configured dmeventd/thin_command with every 5% increase. With the default setting it calls internal lvm lvextend --use-policies to resize the thin pool when it exceeds the configured threshold activation/thin_pool_autoextend_threshold. If the command fails, the dmeventd thin plugin will keep retrying execution with an increasing time delay between retries, up to 42 minutes. The user may also configure an external command to support more advanced maintenance operations of a thin pool. For example, the external command can remove unneeded snapshots, use fstrim(8) to recover free space in a thin pool, or use lvextend --use-policies if other actions have not released enough space. The command is executed with the environment variable LVM_RUN_BY_DMEVENTD=1 so any lvm2 command executed in this environment will not try to interact with dmeventd. To see the fullness of a thin pool, the command may check these two environment variables DMEVENTD_THIN_POOL_DATA and DMEVENTD_THIN_POOL_METADATA. The command can also read status with tools like lvs(8).

Vdo

Monitors how full a VDO pool's data is becoming and emits a warning to syslog when it exceeds 80% full. The warning is repeated when more than 85%, 90% and 95% of the VDO pool is filled. See lvm.conf(5). When a VDO pool fills over 50%, the vdo plugin calls the configured dmeventd/vdo_command with every 5% increase. With the default setting it calls internal lvm lvextend --use-policies to resize the VDO pool when it exceeds the configured threshold activation/vdo_pool_autoextend_threshold. If the command fails, the dmeventd vdo plugin will keep retrying execution with an increasing time delay between retries, up to 42 minutes. The user may also configure an external command to support more advanced maintenance operations of a VDO pool. For example, the external command can free up unused space with fstrim(8), or use lvextend --use-policies if other actions have not released enough space. The command is executed with the environment variable LVM_RUN_BY_DMEVENTD=1 so any lvm2 command executed in this environment will not try to interact with dmeventd. To see the fullness of a VDO pool, the command may check the DMEVENTD_VDO_POOL environment variable. The command can also read status with tools like lvs(8).

ENVIRONMENT VARIABLES

DMEVENTD_THIN_POOL_DATA

Variable is set by the thin plugin and is available to the executed program. Value represents actual usage of thin pool data volume. Variable is not set when error event is processed.

DMEVENTD_THIN_POOL_METADATA

Variable is set by the thin plugin and is available to the executed program. Value represents actual usage of thin pool metadata volume. Variable is not set when error event is processed.

DMEVENTD_VDO_POOL

Variable is set by the vdo plugin and is available to the executed program. Value represents actual usage of VDO pool data volume. Variable is not set when error event is processed.

LVM_RUN_BY_DMEVENTD

Variable is set by the thin and vdo plugins to prohibit recursive interaction with dmeventd by any lvm2 command run from a thin_command or vdo_command environment.

SEE ALSO

lvm(8), lvm.conf(5), lvextend(8),

fstrim(8)

History

-? since Debian 12 (Bookworm); -R since Debian 12 (Bookworm); -V since Debian 12 (Bookworm); -d since Debian 12 (Bookworm); -e since Debian 13 (Trixie); -f since Debian 12 (Bookworm); -g since Arch Linux 2026-11-01; -h since Debian 12 (Bookworm); -i since Debian 13 (Trixie); -l since Debian 12 (Bookworm).