glusterfs
1#!/bin/bash
2
3. $(dirname $0)/../include.rc
4
5create_files () {
6mkdir $1
7for i in $(seq 0 99); do
8mkdir $1/dir$i
9for j in $(seq 0 99); do
10touch $1/dir$i/file$j
11done
12done
13}
14
15count_files () {
16ls $1 | wc -l
17}
18
19LANDFILL=$B0/${V0}1/.glusterfs/landfill
20
21TEST glusterd
22
23TEST $CLI volume create $V0 $H0:$B0/${V0}{1,2}
24TEST $CLI volume start $V0
25TEST $GFS -s $H0 --volfile-id $V0 $M0
26
27TEST create_files $M0/foo
28TEST [ $(count_files $LANDFILL) = "0" ]
29
30# This should immediately send the whole directory to the landfill.
31TEST setfattr -n glusterfs.dht.nuke -v trinity $M0/foo
32
33# Make sure the directory's not visible on the mountpoint, and is visible in
34# the brick's landfill.
35TEST ! ls $M0/foo
36TEST [ $(count_files $LANDFILL) = "1" ]
37
38# Make sure the janitor thread cleans it up in a timely fashion.
39EXPECT_WITHIN 60 "0" count_files $LANDFILL
40
41cleanup
42