From 5f74fdd6db567770f09e0aa62f877ea6360b2042 Mon Sep 17 00:00:00 2001
From: Artem Blagodarenko <c17828@cray.com>
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 <c17828@cray.com>
---
 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