#!/bin/bash function clean_up { umount mntpoint rmdir mntpoint losetup -d $DEV4 losetup -d $DEV3 losetup -d $DEV2 losetup -d $DEV1 rm disk1 disk2 disk3 disk4 exit } trap clean_up SIGHUP SIGINT SIGTERM EXIT truncate -s 20G disk1 && \ truncate -s 20G disk2 && \ truncate -s 10G disk3 && \ truncate -s 10G disk4 && \ DEV1=$(losetup -f --show disk1) && \ DEV2=$(losetup -f --show disk2) && \ DEV3=$(losetup -f --show disk3) && \ DEV4=$(losetup -f --show disk4) && \ mkfs.btrfs -m raid1 -d raid1 $DEV1 $DEV2 && \ mkdir mntpoint && \ mount $DEV1 mntpoint -odevice=$DEV2 && \ dd if=/dev/zero of=mntpoint/testfile bs=1M count=17000 && \ umount mntpoint && \ btrfs filesystem show $DEV1 && \ losetup -d $DEV2 && \ mount $DEV1 mntpoint -odegraded && \ btrfs device add $DEV3 $DEV4 mntpoint && \ btrfs device delete missing mntpoint btrfs filesystem show $DEV1