#!/bin/bash
source /etc/tos/scripts/scripts
blk=$1
[ -z "$blk" ] && exit 1
blk=$(basename $blk)
[ ! -b "/dev/$blk" ] && exit 1

isCoreSwapMember() {
    local blk=$1
    if [ -b "${blk}2" ]; then
        mdadm --detail $TOS_RAID_CORE 2>/dev/null | grep -q "${blk}2" && return 0
    fi
    if [ -b "${blk}3" ]; then
        mdadm --detail $TOS_RAID_SWAP 2>/dev/null | grep -q "${blk}3" && return 0
    fi
    return 1
}

clear_partitions() {
    local blk=$1

    # Get all the partition Numbers and arrange in descending order
    local partitions=$(parted -m "$blk" unit MB print | awk -F: '/^[0-9]+:/ {print $1}' | sort -nr)

    # Collect the partition number (>= 4) that you need to delete.
    local to_delete=()
    for part in $partitions; do
        if [ "$part" -ge 4 ]; then
            to_delete+=("$part")
        fi
    done

    for part in "${to_delete[@]}"; do
        parted --script "$blk" rm "$part"
    done
}

isCoreSwapMember /dev/$blk
if [ $? -eq 0 ]; then
    clear_partitions /dev/$blk
    exit 0
fi

#删除分区
for i in `seq 1 9`
do
    parted -s /dev/${blk} rm $i > /dev/null 2>&1
done
#格式化
echo -e "y\n" | mke2fs -t ext4 /dev/${blk}
parted -s /dev/$blk mktable gpt

exit 0
