From 5f74fdd6db567770f09e0aa62f877ea6360b2042 Mon Sep 17 00:00:00 2001 From: Artem Blagodarenko Date: Wed, 27 Feb 2019 12:28:33 +0300 Subject: [PATCH 2/2] LUS-6746 ldiskfs: block allocator tests 1) fill disk with 512kb files 2) delete every 2nd file 3) try to write large file Change-Id: I1e6e069cfe9402cbc733b364fe5c593cc49bee50 Signed-off-by: Artem Blagodarenko --- lustre/tests/mb_test.sh | 96 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 lustre/tests/mb_test.sh diff --git a/lustre/tests/mb_test.sh b/lustre/tests/mb_test.sh new file mode 100644 index 0000000000..d5393d1277 --- /dev/null +++ b/lustre/tests/mb_test.sh @@ -0,0 +1,96 @@ +#!/bin/bash + +wait_operations_complete () +{ + echo "Wait until all operations will be finished" + local in_progress=1 + while [ "$in_progress" != "0" ]; do + in_progress=`lustre/utils/lctl get_param osp.*.sync_in_progress | awk -F = '{print $2}'` + done + echo "Done." +} + + +OSTCOUNT=1 OSTSIZE=4194304 lustre/tests/llmount.sh +echo "1" > /sys/fs/ldiskfs/loop1/mb_stats +echo "0" > /sys/fs/ldiskfs/loop1/mb_c1_treshold +echo "0" > /sys/fs/ldiskfs/loop1/mb_c2_treshold +echo "0" > /sys/fs/ldiskfs/loop1/mb_c3_treshold + +#31 128mb group +#create 240 512k files in eatch of group +echo "Creating 110*31 files ..." +for group in $(seq 31) +do + _group=$(printf "%02d" $group); + for nfile in $(seq 240) + do + _nfile=$(printf "%03d" $nfile) + dd if=/dev/zero of=/mnt/lustre/foofile-$_group-$_nfile bs=524288 count=1 &> /dev/null + done +done +echo "done" + +wait_operations_complete +cat /proc/fs/ldiskfs/loop1/mb_alloc +echo "created files" +ls -l /mnt/lustre | wc -l +echo "clear" > /proc/fs/ldiskfs/loop1/mb_alloc +df | grep "ost" + +echo "Deleting half of files ..." +lustre/utils/lctl set_param osp.*.max_rpcs_in_progress=128000 +for group in $(seq 31) +do + _group=$(printf "%02d" $group); + + for nfile in $(seq 240) + do + _nfile=$(printf "%03d" $nfile) + if [ "$(($nfile % 2))" -eq 0 ] + then + #echo "Deleting $_group $_nfile" + rm -f /mnt/lustre/foofile-$_group-$_nfile + fi + done +done +wait_operations_complete +df | grep "ost" +cat /proc/fs/ldiskfs/loop1/mb_alloc +echo "files after deleting" +ls -l /mnt/lustre | wc -l +echo "clear" > /proc/fs/ldiskfs/loop1/mb_alloc + + +dd if=/dev/zero of=/mnt/lustre/foofile bs=1048576 count=1500 +sync +wait_operations_complete +cat /proc/fs/ldiskfs/loop1/mb_alloc +echo "Delete foofile" +rm -f /mnt/lustre/foofile +sync +wait_operations_complete +cat /proc/fs/ldiskfs/loop1/mb_alloc +echo "clear" > /proc/fs/ldiskfs/loop1/mb_alloc + +echo "60" > /sys/fs/ldiskfs/loop1/mb_c1_treshold +echo "0" > /sys/fs/ldiskfs/loop1/mb_c2_treshold +echo "0" > /sys/fs/ldiskfs/loop1/mb_c3_treshold +dd if=/dev/zero of=/mnt/lustre/foofile2 bs=1048576 count=1500 +sync +wait_operations_complete +cat /proc/fs/ldiskfs/loop1/mb_alloc +rm -f /mnt/lustre/foofile2 +sync +wait_operations_complete +echo "clear" > /proc/fs/ldiskfs/loop1/mb_alloc + +echo "25" > /sys/fs/ldiskfs/loop1/mb_c1_treshold +echo "15" > /sys/fs/ldiskfs/loop1/mb_c2_treshold +echo "5" > /sys/fs/ldiskfs/loop1/mb_c3_treshold +dd if=/dev/zero of=/mnt/lustre/foofile3 bs=1048576 count=1500 +sync +wait_operations_complete +cat /proc/fs/ldiskfs/loop1/mb_alloc + +lustre/tests/llmountcleanup.sh -- 2.14.3