#!/bin/bash

ubiattach -p /dev/mtd0
mount -t ubifs ubi0:vol ./root -o rw
cd root

mkdir -p ./root/a ./root/b

echo "blub" | ecryptfs-add-passphrase -
mount -i -t ecryptfs ./root/a ./root/b -o ecryptfs_sig=9598058af924ff85,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_xattr_metadata
mkdir -p ./root/b/x{1,2,3,4,5,6,7,8}

createfls() {
	cd $1	
	i=0;
	while [ $i -le 50 ];do
		j=`echo $i | gawk '{
				m=20+int(40*rand())
				for (j=0;j<m;j++) {
					printf("%d-%s-%d.txt ",($1*13+j*23)%97,$1,j);
				}
			}'`
		echo "$i: creating $j"
		touch $j
		for k in $j;do
			echo "$k-$j-abcde" >> $k;
			echo "$j-$k-abcde" > $k;
			echo "tmp-$j-$k-abcde" > tmp-$$.txt
			sync
			mv tmp-$$.txt $k
		done
		sync
		rm -f ?3*.txt
		rm -f ?1*.txt
		sync
		rm -f ?6*.txt
		rm -f ?2*.txt
		rm -f ?9*.txt
		rm -f ?8*.txt
		i=$[$i+1];
	done;
	cd ../..
}

cd root

createfls b/x1&
createfls b/x2&
createfls b/x3&
createfls b/x4&
createfls b/x5&
createfls b/x6&
createfls b/x7&
createfls b/x8&

wait

rmfls() {
	cd $1
	rm -f 3* 7*;
	sync
	rm -f 2*;
	sync
	rm -f 4*;
	sync
	cd ../..
}
rmfls b/x1&
rmfls b/x2&
rmfls b/x3&
rmfls b/x4&
rmfls b/x5&
rmfls b/x6&
rmfls b/x7&
rmfls b/x8&

wait

cd ..

umount ./root/b
umount ./root
ubidetach /dev/ubi_ctrl -m 0

