From 8bd16cc88527584e91baa8773b4f01e7c44708c1 Mon Sep 17 00:00:00 2001 From: ajha Date: Fri, 30 Aug 2013 15:14:46 +0530 Subject: features/changelog : Improvement in changelog "encoding-change". change in encoding method of changelog was critical section for "fop dispatch thread", "roll-over thread" and "reconfigure dispatch thread". In this patch the "encoding-method" is changed by the reconfigure dispatch thread lazily during handle_change, which solves the concurrency among the racing threads. BUG: 1002940 Change-Id: I78c3e8887efa46d0fcc60755cdf4243031cfa3eb Signed-off-by: Ajeet Jha Reviewed-on: http://review.gluster.org/5844 Reviewed-by: Venky Shankar Tested-by: Gluster Build System Reviewed-by: Harshavardhana --- xlators/features/changelog/src/changelog.c | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) (limited to 'xlators/features/changelog/src/changelog.c') diff --git a/xlators/features/changelog/src/changelog.c b/xlators/features/changelog/src/changelog.c index 0a70fa0c760..cea0e8c70b5 100644 --- a/xlators/features/changelog/src/changelog.c +++ b/xlators/features/changelog/src/changelog.c @@ -36,20 +36,6 @@ cb_bootstrap[] = { }, }; -static struct changelog_encoder -cb_encoder[] = { - [CHANGELOG_ENCODE_BINARY] = - { - .encoder = CHANGELOG_ENCODE_BINARY, - .encode = changelog_encode_binary, - }, - [CHANGELOG_ENCODE_ASCII] = - { - .encoder = CHANGELOG_ENCODE_ASCII, - .encode = changelog_encode_ascii, - }, -}; - /* Entry operations - TYPE III */ /** @@ -1363,8 +1349,7 @@ init (xlator_t *this) GF_OPTION_INIT ("fsync-interval", priv->fsync_interval, int32, out); - GF_ASSERT (cb_encoder[priv->encode_mode].encoder == priv->encode_mode); - priv->ce = &cb_encoder[priv->encode_mode]; + changelog_encode_change(priv); GF_ASSERT (cb_bootstrap[priv->op_mode].mode == priv->op_mode); priv->cb = &cb_bootstrap[priv->op_mode]; -- cgit