]> git.ipfire.org Git - thirdparty/dracut.git/blob - modules.d/90dm/module-setup.sh
90dm: fixup dependency cycle between MD and DM shutdown
[thirdparty/dracut.git] / modules.d / 90dm / module-setup.sh
1 #!/bin/bash
2
3 # called by dracut
4 check() {
5 require_binaries dmsetup || return 1
6 return 255
7 }
8
9 # called by dracut
10 depends() {
11 return 0
12 }
13
14 # called by dracut
15 installkernel() {
16 instmods =drivers/md dm_mod dm-cache dm-cache-mq dm-cache-cleaner
17 }
18
19 # called by dracut
20 install() {
21 modinfo -k $kernel dm_mod >/dev/null 2>&1 && \
22 inst_hook pre-udev 30 "$moddir/dm-pre-udev.sh"
23
24 inst_multiple dmsetup
25 inst_multiple -o dmeventd
26
27 inst_libdir_file "libdevmapper-event.so*"
28
29 inst_rules 10-dm.rules 13-dm-disk.rules 95-dm-notify.rules
30 # Gentoo ebuild for LVM2 prior to 2.02.63-r1 doesn't install above rules
31 # files, but provides the one below:
32 inst_rules 64-device-mapper.rules
33 # debian udev rules
34 inst_rules 60-persistent-storage-dm.rules 55-dm.rules
35
36 inst_rules "$moddir/11-dm.rules"
37
38 inst_rules "$moddir/59-persistent-storage-dm.rules"
39 prepare_udev_rules 59-persistent-storage-dm.rules
40
41 inst_hook shutdown 25 "$moddir/dm-shutdown.sh"
42 }
43