#!/bin/bash

#
# Copyright (C) 2010 Karel Zak <kzak@redhat.com>
#
# This file is part of util-linux.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This file is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#

TS_TOPDIR="${0%/*}/../.."
TS_DESC="MD raid1 (last partition)"

. $TS_TOPDIR/functions.sh
ts_init "$*"

ts_check_test_command "$TS_CMD_FDISK"
ts_check_test_command "$TS_CMD_BLKID"

ts_skip_nonroot
ts_check_prog "mdadm"

# set global variable TS_DEVICE
ts_scsi_debug_init dev_size_mb=51 sector_size=512

ts_log "Create partitions"
$TS_CMD_FDISK ${TS_DEVICE} >> $TS_OUTPUT 2>&1 <<EOF
n
p
1

+25M
n
p
2


p
w
q
EOF

# replace generated ID with something stable
$TS_CMD_FDISK ${TS_DEVICE} &> /dev/null <<EOF
x
i
0x1
r
w
q
EOF

udevadm settle
MD_DEVNAME=md8
MD_DEVICE=/dev/${MD_DEVNAME}

ts_log "Create RAID1 device"
mdadm -q -S ${MD_DEVICE} &> /dev/null
mdadm -q --create ${MD_DEVICE} --metadata=0.90 --chunk=64 --level=1 \
	    --raid-devices=2 ${TS_DEVICE}1 ${TS_DEVICE}2 >> $TS_OUTPUT 2>&1
udevadm settle

ts_log "Probe whole-disk"
$TS_CMD_BLKID -p -o udev ${TS_DEVICE} 2>&1 | sort >> $TS_OUTPUT

ts_log "Probe first RAID member"
$TS_CMD_BLKID -p -o udev ${TS_DEVICE}1 2>&1 | sort >> $TS_OUTPUT

ts_log "Probe second RAID member"
$TS_CMD_BLKID -p -o udev ${TS_DEVICE}2 2>&1 | sort >> $TS_OUTPUT

mdadm -q -S ${MD_DEVICE} >> $TS_OUTPUT 2>&1


ts_fdisk_clean $TS_DEVICE
# substitue UUIDs and major/minor number before comparison
sed -i \
  -e         's/^\(ID_FS_UUID\)=.*/\1=__ts_uuid__/' \
  -e     's/^\(ID_FS_UUID_ENC\)=.*/\1=__ts_uuid_enc__/' \
  -e 's/^\(ID_PART_ENTRY_DISK\)=.*/\1=__ts_majorminor__/' \
  $TS_OUTPUT

ts_finalize
