1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
#!/bin/sh
# This script removes the zfs flag for partitions whose method is not
# zfs and sets it for partition whose method is zfs
. /lib/partman/lib/base.sh
dev=$1
num=$2
id=$3
size=$4
type=$5
fs=$6
path=$7
cd $dev
if [ $fs = free ]; then
exit 0
fi
method=
if [ -f $id/method ]; then
method=$(cat $id/method)
fi
# Don't fiddle with label on devices where there is no "real" partitioning
open_dialog GET_LABEL_TYPE
read_line label
close_dialog
if [ "$label" = loop ]; then
exit 0
fi
has_zfs=no
open_dialog GET_FILE_SYSTEM $id
read_line fs
close_dialog
if [ "$fs" = zfs ]; then
has_zfs=yes
fi
if [ -z "$method" ] && [ "$has_zfs" = yes ]; then
echo zfs >$dev/$id/method
rm -f $dev/$id/use_filesystem
rm -f $dev/$id/format
fi
|