|
|
723150 |
From 7a5d77d8a65d65ed7c5fa94abf952669993f45c2 Mon Sep 17 00:00:00 2001
|
|
|
723150 |
From: Ludwig Krispenz <lkrispen@redhat.com>
|
|
|
723150 |
Date: Tue, 7 Feb 2017 17:02:00 +0100
|
|
|
723150 |
Subject: [PATCH] fix for reg in 49008, check if ruv element exists
|
|
|
723150 |
|
|
|
723150 |
(cherry picked from commit 23d98baa8aadab80691680ba065563ad1e35591c)
|
|
|
723150 |
---
|
|
|
723150 |
ldap/servers/plugins/replication/repl5_ruv.c | 10 ++++++++--
|
|
|
723150 |
1 file changed, 8 insertions(+), 2 deletions(-)
|
|
|
723150 |
|
|
|
723150 |
diff --git a/ldap/servers/plugins/replication/repl5_ruv.c b/ldap/servers/plugins/replication/repl5_ruv.c
|
|
|
723150 |
index c2d3bb4..5086313 100644
|
|
|
723150 |
--- a/ldap/servers/plugins/replication/repl5_ruv.c
|
|
|
723150 |
+++ b/ldap/servers/plugins/replication/repl5_ruv.c
|
|
|
723150 |
@@ -1703,8 +1703,14 @@ int ruv_cancel_csn_inprogress (RUV *ruv, const CSN *csn, ReplicaId local_rid)
|
|
|
723150 |
replica = ruvGetReplica (ruv, prim_rid);
|
|
|
723150 |
rc = csnplRemoveAll (replica->csnpl, prim_csn);
|
|
|
723150 |
if (prim_rid != local_rid) {
|
|
|
723150 |
- replica = ruvGetReplica (ruv, local_rid);
|
|
|
723150 |
- rc = csnplRemoveAll (replica->csnpl, prim_csn);
|
|
|
723150 |
+ if( local_rid != READ_ONLY_REPLICA_ID) {
|
|
|
723150 |
+ replica = ruvGetReplica (ruv, local_rid);
|
|
|
723150 |
+ if (replica) {
|
|
|
723150 |
+ rc = csnplRemoveAll (replica->csnpl, prim_csn);
|
|
|
723150 |
+ } else {
|
|
|
723150 |
+ rc = RUV_NOTFOUND;
|
|
|
723150 |
+ }
|
|
|
723150 |
+ }
|
|
|
723150 |
}
|
|
|
723150 |
} else {
|
|
|
723150 |
rc = csnplRemove (replica->csnpl, csn);
|
|
|
723150 |
--
|
|
|
723150 |
2.7.4
|
|
|
723150 |
|