mirror of
https://gitlab.archlinux.org/tpowa/archboot.git
synced 2024-09-20 03:50:37 +02:00
more btrfs fixes and simplification
This commit is contained in:
parent
5bb51a0fa5
commit
9c75272e69
1 changed files with 31 additions and 30 deletions
|
@ -1873,6 +1873,19 @@ partition() {
|
||||||
S_PART=1
|
S_PART=1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# mount btrfs for checks
|
||||||
|
mount_btrfs() {
|
||||||
|
btrfs_scan
|
||||||
|
BTRFSMP="$(mktemp -d /tmp/brtfsmp.XXXX)"
|
||||||
|
mount $PART $BTRFSMP
|
||||||
|
}
|
||||||
|
|
||||||
|
# unmount btrfs after checks done
|
||||||
|
umount_btrfs() {
|
||||||
|
umount $BTRFSMP
|
||||||
|
rm -r $BTRFSMP
|
||||||
|
}
|
||||||
|
|
||||||
remove_btrfs_parts() {
|
remove_btrfs_parts() {
|
||||||
BTRFS_DEVICES=""
|
BTRFS_DEVICES=""
|
||||||
if [ -n /tmp/.btrfs-devices ]; then
|
if [ -n /tmp/.btrfs-devices ]; then
|
||||||
|
@ -1942,17 +1955,14 @@ btrfs_scan() {
|
||||||
|
|
||||||
# check btrfs subvolume
|
# check btrfs subvolume
|
||||||
check_btrfs_subvolume(){
|
check_btrfs_subvolume(){
|
||||||
btrfs_scan
|
mount_btrfs
|
||||||
BTRFSMP="$(mktemp -d /tmp/brtfsmp.XXXX)"
|
|
||||||
mount $PART $BTRFSMP
|
|
||||||
for i in $(btrfs subvolume list $BTRFSMP | cut -d " " -f 7); do
|
for i in $(btrfs subvolume list $BTRFSMP | cut -d " " -f 7); do
|
||||||
if [ "$(echo $i | grep "$BTRFS_SUBVOLUME"$)" ]; then
|
if [ "$(echo $i | grep "$BTRFS_SUBVOLUME"$)" ]; then
|
||||||
DIALOG --msgbox "ERROR: You have defined 2 identical SUBVOLUME names! Please enter another name." 8 65
|
DIALOG --msgbox "ERROR: You have defined 2 identical SUBVOLUME names! Please enter another name." 8 65
|
||||||
BTRFS_SUBVOLUME=""
|
BTRFS_SUBVOLUME=""
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
umount $BTRFSMP
|
umount_btrfs
|
||||||
rm -r $BTRFSMP
|
|
||||||
}
|
}
|
||||||
|
|
||||||
prepare_btrfs_subvolume() {
|
prepare_btrfs_subvolume() {
|
||||||
|
@ -1969,46 +1979,31 @@ prepare_btrfs_subvolume() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ask for btrfs compress option
|
||||||
btrfs_compress() {
|
btrfs_compress() {
|
||||||
BTRFS_COMPRESS=""
|
BTRFS_COMPRESS="NONE"
|
||||||
DIALOG --defaultno --yesno "Would you like to compress the data on $PART?" 0 0 && DOCOMPRESS="yes"
|
DIALOG --defaultno --yesno "Would you like to compress the data on $PART?" 0 0 && BTRFS_COMPRESS="compress"
|
||||||
if [ "$DOCOMPRESS" = "yes" ]; then
|
|
||||||
BTRFS_COMPRESS="compress"
|
|
||||||
else
|
|
||||||
BTRFS_COMPRESS="NONE"
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
# ask for btrfs ssd option
|
||||||
btrfs_ssd() {
|
btrfs_ssd() {
|
||||||
BTRFS_SSD=""
|
BTRFS_SSD="NONE"
|
||||||
DIALOG --defaultno --yesno "Would you like to optimize the data for ssd disk usage on $PART?" 0 0 && DOSSD="yes"
|
DIALOG --defaultno --yesno "Would you like to optimize the data for ssd disk usage on $PART?" 0 0 && BTRFS_SSD="ssd"
|
||||||
if [ "$DOSSD" = "yes" ]; then
|
|
||||||
BTRFS_SSD="ssd"
|
|
||||||
else
|
|
||||||
BTRFS_SSD="NONE"
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
create_btrfs_subvolume() {
|
create_btrfs_subvolume() {
|
||||||
btrfs_scan
|
mount_btrfs
|
||||||
BTRFSMP="$(mktemp -d /tmp/brtfsmp.XXXX)"
|
|
||||||
mount $PART $BTRFSMP
|
|
||||||
btrfs subvolume create $BTRFSMP/$_btrfssubvolume >$LOG
|
btrfs subvolume create $BTRFSMP/$_btrfssubvolume >$LOG
|
||||||
umount $BTRFSMP
|
umount_btrfs
|
||||||
rm -r $BTRFSMP
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# find btrfs subvolume
|
# find btrfs subvolume
|
||||||
find_btrfs_subvolume(){
|
find_btrfs_subvolume(){
|
||||||
btrfs_scan
|
mount_btrfs
|
||||||
BTRFSMP="$(mktemp -d /tmp/brtfsmp.XXXX)"
|
|
||||||
mount $PART $BTRFSMP
|
|
||||||
for i in $(btrfs subvolume list $BTRFSMP | cut -d " " -f 7); do
|
for i in $(btrfs subvolume list $BTRFSMP | cut -d " " -f 7); do
|
||||||
echo $i
|
echo $i
|
||||||
[ "$1" ] && echo $1
|
[ "$1" ] && echo $1
|
||||||
done
|
done
|
||||||
umount $BTRFSMP
|
umount_btrfs
|
||||||
rm -r $BTRFSMP
|
|
||||||
}
|
}
|
||||||
|
|
||||||
choose_btrfs_subvolume () {
|
choose_btrfs_subvolume () {
|
||||||
|
@ -2069,9 +2064,15 @@ create_filesystem() {
|
||||||
choose_btrfs_subvolume || return 1
|
choose_btrfs_subvolume || return 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
# Set values, to not confuse mkfs call!
|
||||||
[ "$FS_OPTIONS" = "" ] && FS_OPTIONS="NONE"
|
[ "$FS_OPTIONS" = "" ] && FS_OPTIONS="NONE"
|
||||||
[ "$BTRFS_DEVICES" = "" ] && BTRFS_DEVICES="NONE"
|
[ "$BTRFS_DEVICES" = "" ] && BTRFS_DEVICES="NONE"
|
||||||
[ "$BTRFS_LEVEL" = "" ] && BTRFS_LEVEL="NONE"
|
[ "$BTRFS_LEVEL" = "" ] && BTRFS_LEVEL="NONE"
|
||||||
|
if [ "$LABEL_NAME" = "" -a -n "$(blkid -c=/dev/null -o value -s LABEL $PART)" ]; then
|
||||||
|
LABEL_NAME="$(blkid -c=/dev/null -o value -s LABEL $PART)"
|
||||||
|
else
|
||||||
|
LABEL_NAME="NONE"
|
||||||
|
fi
|
||||||
if [ "$FSTYPE" = "btrfs" ]; then
|
if [ "$FSTYPE" = "btrfs" ]; then
|
||||||
btrfs_compress || return 1
|
btrfs_compress || return 1
|
||||||
btrfs_ssd || return 1
|
btrfs_ssd || return 1
|
||||||
|
|
Loading…
Reference in a new issue