#!/bin/sh
# Executed inside initramfs by snapbd.sh (pre-mount hook).
# The real root filesystem is already mounted read-only at
# /etc/snapbd/mnt.  For each reload_* script found there,
# execute it so that the kernel module can resume tracking.

log() {
    echo "[snapbd/reload] $*"
    echo "<6>[snapbd/reload] $*" > /dev/kmsg 2>/dev/null || true
}

log "script started (pid=$$)"

if ! ls /etc/snapbd/mnt/etc/snapbd/reload_* > /dev/null 2>&1; then
    log "no reload_* scripts found under /etc/snapbd/mnt/etc/snapbd/ — exiting"
    exit 0
fi

for f in /etc/snapbd/mnt/etc/snapbd/reload_*; do
    if [ -x "$f" ]; then
        log "executing $f"
        output=$("$f" 2>&1)
        rc=$?
        if [ -n "$output" ]; then
            log "$f output: $output"
        fi
        if [ $rc -ne 0 ]; then
            log "ERROR: $f exited with code $rc"
        else
            log "$f completed OK"
        fi
    else
        log "skipping $f (not executable)"
    fi
done

log "done"
