summaryrefslogtreecommitdiff
path: root/tests/env-imsm-template
diff options
context:
space:
mode:
Diffstat (limited to 'tests/env-imsm-template')
-rw-r--r--tests/env-imsm-template30
1 files changed, 24 insertions, 6 deletions
diff --git a/tests/env-imsm-template b/tests/env-imsm-template
index ea45bae9..d5247714 100644
--- a/tests/env-imsm-template
+++ b/tests/env-imsm-template
@@ -14,13 +14,31 @@ imsm_check() {
t_offset=$7
t_chunk=$8
- if [ $t_level -ne 1 ]; then
- t_rd_size=$((t_rd_size & ~(t_chunk - 1)))
- else
+ t_rd_size=$((t_rd_size & ~(1024 - 1)))
+
+ if [ $t_level -eq 1 ]; then
t_chunk=64
fi
- t_size=$((t_size/1024))
- t_size=$((t_size*1024))
+
+ t_num_data_disks=0
+
+ case $t_level in
+ 0)
+ t_num_data_disks=$t_num_disks
+ ;;
+ 1)
+ t_num_data_disks=1
+ ;;
+ 5)
+ t_num_data_disks=$((t_num_disks-1))
+ ;;
+ 10)
+ t_num_data_disks=$((t_num_disks/2))
+ ;;
+ esac
+
+ t_size=$((t_rd_size*t_num_data_disks))
+
err=0
eval `stat -L -c "let major=0x%t; let minor=0x%T;" $t_member`
@@ -30,7 +48,7 @@ imsm_check() {
fi
_chunk=`cat ${sysfs}/md/chunk_size`
if [ $t_chunk -ne $((_chunk/1024)) ]; then
- echo "**Error**: Chunk size mismatch - expected $t_chunk, actual $_chunk" >&2
+ echo "**Error**: Chunk size mismatch - expected $t_chunk, actual $(($_chunk/1024))" >&2
err=$((err + 1))
fi
for i in `seq 0 $((t_num_disks - 1))`; do