diff options
author | Avra Sengupta <asengupt@redhat.com> | 2013-02-04 16:10:57 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2013-02-08 19:05:50 -0800 |
commit | bbd6fb6e98f414719fc0a63c7de03d360154aa21 (patch) | |
tree | 90646eb85b600bdb8463e4d06074a8363fda7b2c | |
parent | 4a28ab092da134cb44888aee7efa290d9b81c87d (diff) |
glusterd: Making volume-reset use synctask framework
Signed-off-by: Avra Sengupta <asengupt@redhat.com>
Change-Id: Ib25c8fa69d84b8132505ae3f1e67cf88d3f6f9ec
BUG: 852147
Reviewed-on: http://review.gluster.org/4474
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
-rwxr-xr-x | tests/bugs/bug-852147.t | 53 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-handler.c | 6 |
2 files changed, 54 insertions, 5 deletions
diff --git a/tests/bugs/bug-852147.t b/tests/bugs/bug-852147.t new file mode 100755 index 000000000..4654b4aa1 --- /dev/null +++ b/tests/bugs/bug-852147.t @@ -0,0 +1,53 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc +. $(dirname $0)/../volume.rc + +cleanup; + +## Start and create a volume +TEST glusterd; +TEST pidof glusterd; +TEST $CLI volume info; + +TEST $CLI volume create $V0 replica 2 stripe 2 $H0:$B0/${V0}{1,2,3,4,5,6,7,8}; + +## Verify volume is is created +EXPECT "$V0" volinfo_field $V0 'Volume Name'; +EXPECT 'Created' volinfo_field $V0 'Status'; + +## Start volume and verify +TEST $CLI volume start $V0; +EXPECT 'Started' volinfo_field $V0 'Status'; + +TEST glusterfs -s $H0 --volfile-id=$V0 $M0 +touch $M0/file1; + +TEST $CLI volume set $V0 performance.cache-max-file-size 20MB +TEST $CLI volume set $V0 performance.cache-min-file-size 10MB + +EXPECT "20MB" volinfo_field $V0 'performance.cache-max-file-size'; +EXPECT "10MB" volinfo_field $V0 'performance.cache-min-file-size'; + +TEST $CLI volume reset $V0 +EXPECT "" volinfo_field $V0 'performance.cache-max-file-size'; +EXPECT "" volinfo_field $V0 'performance.cache-min-file-size'; + +EXPECT "Starting volume profile on $V0 has been successful " $CLI volume profile $V0 start + +function vol_prof_info() +{ + $CLI volume profile $V0 info | grep Brick | wc -l +} +EXPECT "8" vol_prof_info + +EXPECT "Stopping volume profile on $V0 has been successful " $CLI volume profile $V0 stop + +## Finish up +TEST $CLI volume stop $V0; +EXPECT 'Stopped' volinfo_field $V0 'Status'; + +TEST $CLI volume delete $V0; +TEST ! $CLI volume info $V0; + +cleanup; diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c index 6359b560a..b99f53929 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handler.c +++ b/xlators/mgmt/glusterd/src/glusterd-handler.c @@ -1252,13 +1252,9 @@ glusterd_handle_reset_volume (rpcsvc_request_t *req) goto out; } - ret = glusterd_op_begin (req, GD_OP_RESET_VOLUME, dict, - err_str, sizeof (err_str)); + ret = glusterd_op_begin_synctask (req, GD_OP_RESET_VOLUME, dict); out: - glusterd_friend_sm (); - glusterd_op_sm (); - if (ret) { if (err_str[0] == '\0') snprintf (err_str, sizeof (err_str), |