#!/bin/sh
rootfs=$(cat /proc/cmdline|grep -o 'root=ZFS=[^ ]*'|sed 's@root=ZFS=@@')
[ -z "$rootfs" ] && { echo "rootfs not found in cmdline"; exit 1; }
mount -t zfs "$rootfs" /sysroot || { echo "failed to mount $rootfs"; exit 1; }
rollback=/sysroot/etc/fstab.rollback
[ -f "$rollback" ] && {
    while read -r dataset; do
        [ -n "$dataset" ] && { echo "rolling back $dataset@0"; zfs rollback "$dataset"@0; }
    done < "$rollback"
}