Browse Source

Initial Stratis support

Ref. https://github.com/stratis-storage

Signed-off-by: Tony Asleson <tasleson@redhat.com>
master
Tony Asleson 7 years ago committed by Harald Hoyer
parent
commit
c4f8329cc2
  1. 34
      modules.d/90stratis/module-setup.sh
  2. 15
      modules.d/90stratis/stratisd-init.service
  3. 3
      modules.d/90stratis/stratisd-start.sh
  4. 6
      modules.d/90stratis/stratisd-stop.sh

34
modules.d/90stratis/module-setup.sh

@ -0,0 +1,34 @@
#!/bin/bash

# called by dracut
check() {
require_binaries stratisd-init thin_check thin_repair || return 1
return 255
}

# called by dracut
depends() {
echo dm
return 0
}

# called by dracut
installkernel() {
instmods xfs
}

# called by dracut
install() {

inst_multiple stratisd-init thin_check thin_repair

if dracut_module_included "systemd"; then
inst_simple "${moddir}/stratisd-init.service" "${systemdsystemunitdir}/stratisd-init.service"
mkdir -p "${initdir}${systemdsystemunitdir}/sysinit.target.wants"
ln -rfs "${initdir}${systemdsystemunitdir}/stratisd-init.service" "${initdir}${systemdsystemunitdir}/sysinit.target.wants/stratisd-init.service"
else
inst_hook cmdline 25 "$moddir/stratisd-start.sh"
inst_hook cleanup 25 "$moddir/stratisd-stop.sh"
fi
}

15
modules.d/90stratis/stratisd-init.service

@ -0,0 +1,15 @@
[Unit]
Description=A daemon that manages a pool of block devices to create flexible file systems
Documentation=man:stratisd(8)
Before=local-fs-pre.target
DefaultDependencies=no

[Service]
Type=simple
ExecStart=/sbin/stratisd-init --debug
KillSignal=SIGINT
StandardOutput=syslog
StandardError=syslog

[Install]
WantedBy=sysinit.target

3
modules.d/90stratis/stratisd-start.sh

@ -0,0 +1,3 @@
#!/bin/sh

stratisd-init --debug > /dev/kmsg 2>&1 &

6
modules.d/90stratis/stratisd-stop.sh

@ -0,0 +1,6 @@
#!/bin/sh

[ -f /lib/dracut-lib.sh ] && . /lib/dracut-lib.sh

pid=$(pidof stratisd-init)
[ -n "$pid" ] && kill ${pid}
Loading…
Cancel
Save