Merge pull request #6 from bdrewery/child-dataset-fixes
Child dataset fixes
This commit is contained in:
commit
94eeeedd8a
15
beadm
15
beadm
|
|
@ -83,7 +83,7 @@ __be_new() { # 1=SOURCE 2=TARGET
|
||||||
do
|
do
|
||||||
OPTS="-o ${PROPERTY}=${VALUE} ${OPTS}"
|
OPTS="-o ${PROPERTY}=${VALUE} ${OPTS}"
|
||||||
done << EOF
|
done << EOF
|
||||||
$( zfs get -s local -H all ${FS} | grep -v -E "(mountpoint|canmount)" )
|
$( zfs get -s local -H all ${FS} | grep -v -E "(canmount)" )
|
||||||
EOF
|
EOF
|
||||||
SOURCE=${1##*/}
|
SOURCE=${1##*/}
|
||||||
TARGET=${2##*/}
|
TARGET=${2##*/}
|
||||||
|
|
@ -92,9 +92,7 @@ EOF
|
||||||
then
|
then
|
||||||
OPTS=""
|
OPTS=""
|
||||||
fi
|
fi
|
||||||
zfs clone -o canmount=noauto ${OPTS} ${FS}@${2##*/} ${DATASET}
|
zfs clone -o canmount=off ${OPTS} ${FS}@${2##*/} ${DATASET}
|
||||||
MOUNT=$( zfs get -H -o value mountpoint ${FS} )
|
|
||||||
zfs set mountpoint=${MOUNT} ${DATASET}
|
|
||||||
done
|
done
|
||||||
echo "Created successfully"
|
echo "Created successfully"
|
||||||
}
|
}
|
||||||
|
|
@ -215,6 +213,7 @@ $( mount -p | awk '{print $1 " " $2}' )
|
||||||
EOF
|
EOF
|
||||||
if [ ${MOUNT} -eq 0 ]
|
if [ ${MOUNT} -eq 0 ]
|
||||||
then
|
then
|
||||||
|
zfs set canmount=noauto ${POOL}/ROOT/${2}
|
||||||
zfs set mountpoint=${TMPMNT} ${POOL}/ROOT/${2}
|
zfs set mountpoint=${TMPMNT} ${POOL}/ROOT/${2}
|
||||||
zfs mount ${POOL}/ROOT/${2} 1> /dev/null 2> /dev/null
|
zfs mount ${POOL}/ROOT/${2} 1> /dev/null 2> /dev/null
|
||||||
else
|
else
|
||||||
|
|
@ -239,21 +238,17 @@ EOF
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
# Disable mounting on all inactive datasets
|
||||||
zfs list -H -o name -r ${POOL}/ROOT \
|
zfs list -H -o name -r ${POOL}/ROOT \
|
||||||
| grep -v "${POOL}/ROOT/${2}" \
|
| grep -v "${POOL}/ROOT/${2}" \
|
||||||
| while read I
|
| while read I
|
||||||
do
|
do
|
||||||
zfs set canmount=noauto ${I}
|
zfs set canmount=noauto ${I}
|
||||||
done
|
done
|
||||||
|
# Enable mounting for the active BE and promote it
|
||||||
zfs list -H -o name -t filesystem -r ${POOL}/ROOT/${2} \
|
zfs list -H -o name -t filesystem -r ${POOL}/ROOT/${2} \
|
||||||
| while read I
|
| while read I
|
||||||
do
|
do
|
||||||
MOUNT=$( zfs get -H -o value mountpoint ${I} )
|
|
||||||
zfs set canmount=noauto ${I}
|
|
||||||
if [ "${MOUNT}" != legacy ]
|
|
||||||
then
|
|
||||||
zfs set mountpoint=${MOUNT} ${I}
|
|
||||||
fi
|
|
||||||
zfs set canmount=on ${I} 2> /dev/null
|
zfs set canmount=on ${I} 2> /dev/null
|
||||||
zfs promote ${I} 2> /dev/null
|
zfs promote ${I} 2> /dev/null
|
||||||
done
|
done
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue