From 6d345ee5f77ffef8b002b068aaade8bad02d6238 Mon Sep 17 00:00:00 2001 From: Tim Foster Date: Mon, 10 Nov 2008 12:20:43 +0000 Subject: [PATCH] 4644 time-slider tags filesystems before enabling core service --- src/lib/svc/method/zfs-auto-snapshot | 41 ++++++++++++++-------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/src/lib/svc/method/zfs-auto-snapshot b/src/lib/svc/method/zfs-auto-snapshot index 2e5a932..c5c7fdf 100644 --- a/src/lib/svc/method/zfs-auto-snapshot +++ b/src/lib/svc/method/zfs-auto-snapshot @@ -922,28 +922,29 @@ function auto_include { # This is the first time the service has run on this pool, # set appropriate zfs user properties on it $PFZFS set com.sun:auto-snapshot=true $pool - - # check for swap and dump devices and disable snapshots there - SWAP=$(swap -l | grep "/dev/zvol/dsk/$pool/" | awk '{print $1}') - for swap in $SWAP ; do - vol=$(echo $swap | sed -e 's#/dev/zvol/dsk/##') - echo "Disabling snapshots for swap device $vol" - $PFZFS set com.sun:auto-snapshot=false $vol - done - - # can't run dumpadm as a non-root user, so check for dumpadm.conf - if [ -r /etc/dumpadm.conf ] ; then - DUMP=$(grep "^DUMPADM_DEVICE=" /etc/dumpadm.conf |\ - grep "/dev/zvol/dsk/$pool/" |\ - awk -F= '{print $2}') - if [ -n "$DUMP" ] ; then - vol=$(echo $DUMP | sed -e 's#/dev/zvol/dsk/##') - echo "Disabling snapshots for dump device $vol" - $PFZFS set com.sun:auto-snapshot=false $vol - fi - fi done + # check for swap devices using zvols + SWAP=$(swap -l | grep "/dev/zvol/dsk/" | awk '{print $1}') + SWAPVOLS="" + for swap in $SWAP ; do + SWAPVOLS="$SWAPVOLS $(echo $swap | sed -e 's#/dev/zvol/dsk/##')" + done + + # can't run dumpadm as a non-root user, so check for dumpadm.conf + if [ -r /etc/dumpadm.conf ] ; then + DUMP=$(grep "^DUMPADM_DEVICE=" /etc/dumpadm.conf |\ + grep "/dev/zvol/dsk/" |\ + awk -F= '{print $2}') + if [ -n "$DUMP" ] ; then + DUMPVOL=$(echo $DUMP | sed -e 's#/dev/zvol/dsk/##') + fi + fi + + if [ -n "${SWAPVOLS}${DUMPVOL}" ] ; then + # disable snapshots on our swap and dump devices + $PFZFS set com.sun:auto-snapshot=false $SWAPVOLS $DUMPVOL + fi }