3
. $(dirname $0)/../include.rc
4
. $(dirname $0)/../volume.rc
5
. $(dirname $0)/../snapshot.rc
6
. $(dirname $0)/../fileio.rc
18
TEST $CLI volume create $V0 $H0:$L1 $H0:$L2 $H0:$L3;
19
TEST $CLI volume set $V0 nfs.disable false
22
TEST $CLI volume start $V0;
24
TEST $GFS --volfile-server=$H0 --volfile-id=$V0 $M0;
26
for i in {1..10} ; do echo "file" > $M0/file$i ; done
28
# Create file and directory
32
TEST $CLI snapshot config activate-on-create enable
33
TEST $CLI volume set $V0 features.uss enable;
35
for i in {1..10} ; do echo "file" > $M0/dir/file$i ; done
37
TEST $CLI snapshot create snap1 $V0 no-timestamp;
39
for i in {11..20} ; do echo "file" > $M0/file$i ; done
40
for i in {11..20} ; do echo "file" > $M0/dir/file$i ; done
42
TEST $CLI snapshot create snap2 $V0 no-timestamp;
44
TEST fd1=`fd_available`
45
TEST fd_open $fd1 'r' $M0/.snaps/snap2/dir/file11;
48
TEST $CLI snapshot delete snap2;
52
# the return value of this command (i.e. fd_close) depetends
53
# mainly on how the release operation on a file descriptor is
54
# handled in snapview-server process. As of now snapview-server
55
# returns 0 for the release operation. And it is similar to how
56
# posix xlator does. So, as of now the expectation is to receive
57
# success for the close operation.
60
# This check is mainly to ensure that the snapshot daemon
61
# (snapd) is up and running. If it is not running, the following
62
# stat would receive ENOTCONN.
64
TEST stat $M0/.snaps/snap1/dir/file1
66
TEST $CLI snapshot delete snap1;
70
TEST $CLI volume stop $V0;
72
TEST $CLI volume delete $V0;