Initial Stratis support

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

Signed-off-by: Tony Asleson <tasleson@redhat.com>
master
Tony Asleson 2018-04-02 09:32:12 -05:00 committed by Harald Hoyer
parent 654484b82b
commit c4f8329cc2
4 changed files with 58 additions and 0 deletions

View File

@ -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
}

View File

@ -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

View File

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

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

View File

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

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

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