]> git.ipfire.org Git - thirdparty/mdadm.git/blame - tests/templates/names_template
tests: create names_template
[thirdparty/mdadm.git] / tests / templates / names_template
CommitLineData
d5fee865
MT
1# NAME is optional. Testing with native 1.2 superblock.
2function names_create() {
3 local DEVNAME=$1
4 local NAME=$2
5
6 if [[ -z "$NAME" ]]; then
7 mdadm -CR "$DEVNAME" -l0 -n 1 $dev0 --force
8 else
9 mdadm -CR "$DEVNAME" --name="$NAME" --metadata=1.2 -l0 -n 1 $dev0 --force
10 fi
11
12 if [[ "$?" != "0" ]]; then
13 echo "Cannot create device."
14 exit 1
15 fi
16}
17
18# Three properties to check:
19# - devnode name
20# - link in /dev/md/ (MD_DEVNAME property from --detail --export)
21# - name in metadata (MD_NAME property from --detail --export)- that works only with 1.2 sb.
22function names_verify() {
23 local DEVNODE_NAME="$1"
24 local WANTED_LINK="$2"
25 local WANTED_NAME="$3"
26
27 local RES="$(mdadm -D --export $DEVNODE_NAME | grep MD_DEVNAME)"
28 if [[ "$?" != "0" ]]; then
29 echo "Cannot get details for $DEVNODE_NAME - unexpected devnode."
30 exit 1
31 fi
32
33 if [[ "$WANTED_LINK" != "empty" ]]; then
34 local EXPECTED="MD_DEVNAME=$WANTED_LINK"
35 fi
36
37 if [[ "$RES" != "$EXPECTED" ]]; then
38 echo "$RES doesn't match $EXPECTED."
39 exit 1
40 fi
41
42 local RES="$(mdadm -D --export $DEVNODE_NAME | grep MD_NAME)"
43 if [[ "$?" != "0" ]]; then
44 echo "Cannot get metadata from $dev0."
45 exit 1
46 fi
47
48 local EXPECTED="MD_NAME=$(hostname):$WANTED_NAME"
49 if [[ "$RES" != "$EXPECTED" ]]; then
50 echo "$RES doesn't match $EXPECTED."
51 exit 1
52 fi
53}