From 03cbe604e432e2ad343ef4a8a4f5642599c80704 Mon Sep 17 00:00:00 2001
From: Daniel Salzman <daniel.salzman@nic.cz>
Date: Fri, 2 Sep 2016 22:50:49 +0200
Subject: [PATCH] ctl: remove useless RCU locking

Only control operations can change the shared items (conf, log, zonedb).
Zone contents, which is modifiable by events or zone control, must be generally
protected with a centralized access.
---
 src/knot/ctl/commands.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/src/knot/ctl/commands.c b/src/knot/ctl/commands.c
index 840e32f39c..e46b695222 100644
--- a/src/knot/ctl/commands.c
+++ b/src/knot/ctl/commands.c
@@ -16,7 +16,6 @@
 
 #include <string.h>
 #include <unistd.h>
-#include <urcu.h>
 
 #include "knot/common/log.h"
 #include "knot/conf/confio.h"
@@ -95,16 +94,12 @@ static int zones_apply(ctl_args_t *args, int (*fcn)(zone_t *, ctl_args_t *))
 {
 	// Process all configured zones if none is specified.
 	if (args->data[KNOT_CTL_IDX_ZONE] == NULL) {
-		rcu_read_lock();
 		knot_zonedb_foreach(args->server->zone_db, fcn, args);
-		rcu_read_unlock();
 		return KNOT_EOK;
 	}
 
 	int ret = KNOT_EOK;
 
-	rcu_read_lock();
-
 	while (true) {
 		zone_t *zone;
 		ret = get_zone(args, &zone);
@@ -125,8 +120,6 @@ static int zones_apply(ctl_args_t *args, int (*fcn)(zone_t *, ctl_args_t *))
 		ctl_log_data(&args->data);
 	}
 
-	rcu_read_unlock();
-
 	return ret;
 }
 
@@ -343,9 +336,7 @@ static int zone_txn_commit(zone_t *zone, ctl_args_t *args)
 		return KNOT_TXN_ENOTEXISTS;
 	}
 
-	rcu_read_unlock();
 	int ret = zone_update_commit(conf(), zone->control_update);
-	rcu_read_lock();
 	if (ret != KNOT_EOK) {
 		return ret;
 	}
-- 
GitLab