summaryrefslogtreecommitdiffstats
path: root/qa/workunits/fs/snaps/snaptest-2.sh
blob: 6ded7b66990d2b2a17c4620b2563e5505bb0b4e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/usr/bin/env bash

ceph fs set cephfs allow_new_snaps true --yes-i-really-mean-it

echo "Create dir 100 to 199 ..."
for i in $(seq 100 199); do
	echo "    create dir $i"
	mkdir "$i"
	for y in $(seq 10 20); do
		echo "This is a test file before any snapshot was taken." >"$i/$y"
	done
done

echo "Take first snapshot .snap/test1"
mkdir .snap/test1

echo "Create dir 200 to 299 ..."
for i in $(seq 200 299); do
	echo "    create dir $i"
        mkdir $i
        for y in $(seq 20 29); do
                echo "This is a test file. Created after .snap/test1" >"$i/$y"
        done
done

echo "Create a snapshot in every first level dir ..."
for dir in $(ls); do
	echo "    create $dir/.snap/snap-subdir-test"
	mkdir "$dir/.snap/snap-subdir-test"
	for y in $(seq 30 39); do
		echo "        create $dir/$y file after the snapshot"
                echo "This is a test file. Created after $dir/.snap/snap-subdir-test" >"$dir/$y"
        done
done

echo "Take second snapshot .snap/test2"
mkdir .snap/test2

echo "Copy content of .snap/test1 to copyofsnap1 ..."
mkdir copyofsnap1
cp -Rv .snap/test1 copyofsnap1/


echo "Take third snapshot .snap/test3"
mkdir .snap/test3

echo "Delete the snapshots..."

find ./ -type d -print | \
        xargs -I% -n1 find %/.snap -mindepth 1 -maxdepth 1 \
                         \( ! -name "_*" \) -print 2>/dev/null

find ./ -type d -print | \
	xargs -I% -n1 find %/.snap -mindepth 1 -maxdepth 1 \
                         \( ! -name "_*" \) -print 2>/dev/null | \
	xargs -n1 rmdir

echo "Delete all the files and directories ..."
rm -Rfv ./*

echo OK