#!/bin/sh if [ $# -ne 1 ]; then echo "usage: $0 name" >/dev/stderr exit 1 fi base="system/jails/$1" path="/jails/$1" zfsupgrade() { zfs destroy system/root@jailbase_old 2>/dev/null zfs rename system/root@jailbase system/root@jailbase_old 2>/dev/null zfs snapshot system/root@jailbase 2>/dev/null zfs destroy ${base}_old 2>/dev/null zfs rename ${base} ${base}_old zfs clone system/root@jailbase ${base} zfs set readonly=on ${base} for fs in etc tmp var usr root; do zfs rename ${base}_old/${fs} ${base}/${fs} done } zfsupgrade cd /usr/src umask 22 mergemaster -p -D ${path} mergemaster -i -D ${path}