File: nuke.t

package info (click to toggle)
glusterfs 11.2-2
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 28,244 kB
  • sloc: ansic: 471,238; sh: 45,610; python: 16,893; perl: 3,328; makefile: 2,014; yacc: 487; ruby: 171; lisp: 124; xml: 75; lex: 61
file content (41 lines) | stat: -rwxr-xr-x 855 bytes parent folder | download | duplicates (5)
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
#!/bin/bash

. $(dirname $0)/../include.rc

create_files () {
	mkdir $1
	for i in $(seq 0 99); do
		mkdir $1/dir$i
		for j in $(seq 0 99); do
			touch $1/dir$i/file$j
		done
	done
}

count_files () {
	ls $1 | wc -l
}

LANDFILL=$B0/${V0}1/.glusterfs/landfill

TEST glusterd

TEST $CLI volume create $V0 $H0:$B0/${V0}{1,2}
TEST $CLI volume start $V0
TEST $GFS -s $H0 --volfile-id $V0 $M0

TEST create_files $M0/foo
TEST [ $(count_files $LANDFILL) = "0" ]

# This should immediately send the whole directory to the landfill.
TEST setfattr -n glusterfs.dht.nuke -v trinity $M0/foo

# Make sure the directory's not visible on the mountpoint, and is visible in
# the brick's landfill.
TEST ! ls $M0/foo
TEST [ $(count_files $LANDFILL) = "1" ]

# Make sure the janitor thread cleans it up in a timely fashion.
EXPECT_WITHIN 60 "0" count_files $LANDFILL

cleanup