glusterfs
1#!/bin/bash
2
3## Test case for bitrot scrub status BZ:1207627
4
5. $(dirname $0)/../include.rc6. $(dirname $0)/../volume.rc7
8cleanup;9
10## Start glusterd
11TEST glusterd;12TEST pidof glusterd;13
14## Lets create and start the volume
15TEST $CLI volume create $V0 $H0:$B0/${V0}116TEST $CLI volume start $V017
18## Enable bitrot for volume $V0
19TEST $CLI volume bitrot $V0 enable20
21EXPECT_WITHIN $PROCESS_UP_TIMEOUT "1" get_bitd_count22
23## Setting scrubber frequency daily
24TEST $CLI volume bitrot $V0 scrub-frequency hourly25
26## Setting scrubber throttle value lazy
27TEST $CLI volume bitrot $V0 scrub-throttle lazy28
29EXPECT_WITHIN $PROCESS_UP_TIMEOUT 'Active' scrub_status $V0 'State of scrub'30EXPECT_WITHIN $PROCESS_UP_TIMEOUT 'lazy' scrub_status $V0 'Scrub impact'31EXPECT_WITHIN $PROCESS_UP_TIMEOUT 'hourly' scrub_status $V0 'Scrub frequency'32EXPECT_WITHIN $PROCESS_UP_TIMEOUT '/var/log/glusterfs/bitd.log' scrub_status $V0 'Bitrot error log location'33EXPECT_WITHIN $PROCESS_UP_TIMEOUT '/var/log/glusterfs/scrub.log' scrub_status $V0 'Scrubber error log location'34
35## Set expiry-timeout to 1 sec
36TEST $CLI volume set $V0 features.expiry-time 137
38##Mount $V0
39TEST $GFS --volfile-id=$V0 --volfile-server=$H0 $M040
41#Create sample file
42TEST `echo "1234" > $M0/FILE1`43EXPECT_WITHIN $PROCESS_UP_TIMEOUT 'trusted.bit-rot.signature' check_for_xattr 'trusted.bit-rot.signature' "/$B0/${V0}1/FILE1"44
45##Corrupt the file
46TEST `echo "corrupt" >> /$B0/${V0}1/FILE1`47
48## Ondemand scrub
49TEST $CLI volume bitrot $V0 scrub ondemand50EXPECT_WITHIN $PROCESS_UP_TIMEOUT 'trusted.bit-rot.bad-file' check_for_xattr 'trusted.bit-rot.bad-file' "/$B0/${V0}1/FILE1"51
52cleanup;53