From 7f2ebe378b9c0fdcfca92cb785a141bb1d5c43d4 Mon Sep 17 00:00:00 2001 From: Avra Sengupta Date: Wed, 6 Feb 2013 17:04:37 +0530 Subject: glusterd: Made log-rotate use synctask framework. Change-Id: Ib305168759db6730dfa0045da99de252eb5e9469 BUG: 852147 Signed-off-by: Avra Sengupta Reviewed-on: http://review.gluster.org/4478 Tested-by: Gluster Build System Reviewed-by: Amar Tumballi Reviewed-by: Anand Avati --- tests/bugs/bug-852147.t | 32 ++++++++++++++++++++++++++++ xlators/mgmt/glusterd/src/glusterd-log-ops.c | 6 +----- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/tests/bugs/bug-852147.t b/tests/bugs/bug-852147.t index 4654b4aa..0e792308 100755 --- a/tests/bugs/bug-852147.t +++ b/tests/bugs/bug-852147.t @@ -4,6 +4,7 @@ . $(dirname $0)/../volume.rc cleanup; +logdir=`gluster --print-logdir`"/bricks" ## Start and create a volume TEST glusterd; @@ -29,10 +30,12 @@ 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'; +#Performing volume reset and verifying. TEST $CLI volume reset $V0 EXPECT "" volinfo_field $V0 'performance.cache-max-file-size'; EXPECT "" volinfo_field $V0 'performance.cache-min-file-size'; +#Verifying vlolume-profile start, info and stop EXPECT "Starting volume profile on $V0 has been successful " $CLI volume profile $V0 start function vol_prof_info() @@ -43,6 +46,35 @@ EXPECT "8" vol_prof_info EXPECT "Stopping volume profile on $V0 has been successful " $CLI volume profile $V0 stop +function log-file-name() +{ + logfilename=$B0"/"$V0"1.log" + echo ${logfilename:1} | tr / - +} + +function file-size() +{ + ls -lrt $1 | awk '{print $5}' +} + +#Finding the current log file's size +log_file=$logdir"/"`log-file-name` +log_file_size=`file-size $log_file` + +#Removing the old backup log files +ren_file=$log_file".*" +rm -rf $ren_file + +#Initiating log rotate +TEST $CLI volume log rotate $V0 + +#Capturing new log file's size +new_file_size=`file-size $log_file` + +#Verifying the size of the new log file and the creation of the backup log file +TEST ! [ $new_file_size -eq $log_file_size ] +TEST ls -lrt $ren_file + ## Finish up TEST $CLI volume stop $V0; EXPECT 'Stopped' volinfo_field $V0 'Status'; diff --git a/xlators/mgmt/glusterd/src/glusterd-log-ops.c b/xlators/mgmt/glusterd/src/glusterd-log-ops.c index c88065c0..bd07af5b 100644 --- a/xlators/mgmt/glusterd/src/glusterd-log-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-log-ops.c @@ -76,13 +76,9 @@ glusterd_handle_log_rotate (rpcsvc_request_t *req) if (ret) goto out; - ret = glusterd_op_begin (req, GD_OP_LOG_ROTATE, dict, - msg, sizeof (msg)); + ret = glusterd_op_begin_synctask (req, GD_OP_LOG_ROTATE, dict); out: - glusterd_friend_sm (); - glusterd_op_sm (); - if (ret) { if (msg[0] == '\0') snprintf (msg, sizeof (msg), "Operation failed"); -- cgit