diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 07:52:36 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 07:52:36 +0000 |
commit | 7de03e4e519705301265c0415b3c0af85263a7ac (patch) | |
tree | 29d819c5227e3619d18a67d2a5dde963b3229dbe /tools/ocft/helpers.sh | |
parent | Initial commit. (diff) | |
download | resource-agents-7de03e4e519705301265c0415b3c0af85263a7ac.tar.xz resource-agents-7de03e4e519705301265c0415b3c0af85263a7ac.zip |
Adding upstream version 1:4.13.0.upstream/1%4.13.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tools/ocft/helpers.sh')
-rw-r--r-- | tools/ocft/helpers.sh | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tools/ocft/helpers.sh b/tools/ocft/helpers.sh new file mode 100644 index 0000000..9848934 --- /dev/null +++ b/tools/ocft/helpers.sh @@ -0,0 +1,43 @@ +get_rundir() { + local rundir + rundir="`mount | grep '/run ' | awk '{print $3}'`" + echo ${rundir:-"/var/run"} +} + +loopbackeddev() { + local action file size ctlfile + + action="$1" + file="$2" + size="$3" + ctlfile=$HA_RSCTMP/`echo $file | tr / _` + + case "$action" in + start|setup|make) + if [ ! -f "$ctlfile" ]; then + if [ -z "$size" ]; then + echo "usage: $0 action file size" >&2 + exit 1 + fi + loopdev=`losetup -f` + if ! dd if=/dev/zero of=$file bs=1 count=0 seek=$size 2>/dev/null; then + echo "$0: dd failed" >&2 + exit 1 + fi + if ! losetup $loopdev $file; then + echo "$0: losetup failed" >&2 + exit 1 + fi + echo $loopdev | tee $ctlfile + else + cat $ctlfile + fi + ;; + stop|undo|unmake) + if [ -f "$ctlfile" ]; then + losetup -d `cat $ctlfile` + rm -f $file $ctlfile + fi + ;; + esac +} |