[SCM] CTDB repository - branch master updated - 52716d26eb84104d65828bed38e69f214a5fa824

Ronnie Sahlberg sahlberg at samba.org
Thu Jul 17 09:13:50 GMT 2008


The branch, master has been updated
       via  52716d26eb84104d65828bed38e69f214a5fa824 (commit)
       via  52a38487f981fd5981c02a7a063ad2c598591c10 (commit)
      from  ccf9334bd20b1398623dd649987aa15119dac14e (commit)

http://gitweb.samba.org/?p=sahlberg/ctdb.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 52716d26eb84104d65828bed38e69f214a5fa824
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Thu Jul 17 18:53:54 2008 +1000

    Allow the fix-to-make-persistent-writes-safer work with unpatched samba versions

commit 52a38487f981fd5981c02a7a063ad2c598591c10
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Thu Jul 17 18:47:20 2008 +1000

    Only decrement the "number of persistent writes in flight" If/when
    it is >0    or we will break if used against an unpatched samba server

-----------------------------------------------------------------------

Summary of changes:
 packaging/RPM/ctdb.spec  |    5 ++++-
 server/ctdb_persistent.c |    8 ++++++--
 2 files changed, 10 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/packaging/RPM/ctdb.spec b/packaging/RPM/ctdb.spec
index 84f9cf6..6e40619 100644
--- a/packaging/RPM/ctdb.spec
+++ b/packaging/RPM/ctdb.spec
@@ -5,7 +5,7 @@ Vendor: Samba Team
 Packager: Samba Team <samba at samba.org>
 Name: ctdb
 Version: 1.0
-Release: 48
+Release: 49
 Epoch: 0
 License: GNU GPL version 3
 Group: System Environment/Daemons
@@ -118,6 +118,9 @@ fi
 %{_includedir}/ctdb_private.h
 
 %changelog
+* Thu Jul 17 2008 : Version 1.0.49
+ - Update the safe persistent update fix to work with unpatched samba
+   servers.
 * Thu Jul 17 2008 : Version 1.0.48
  - Update the spec file.
  - Do not start new user-triggered eventscripts if we are already
diff --git a/server/ctdb_persistent.c b/server/ctdb_persistent.c
index 66311a9..455ccba 100644
--- a/server/ctdb_persistent.c
+++ b/server/ctdb_persistent.c
@@ -89,7 +89,9 @@ int32_t ctdb_control_persistent_store(struct ctdb_context *ctdb,
 		DEBUG(DEBUG_ERR,(__location__ " can not match persistent_store to a client. Returning error\n"));
 		return -1;
 	}
-	client->num_persistent_updates--;
+	if (client->num_persistent_updates > 0) {
+		client->num_persistent_updates--;
+	}
 
 	state = talloc_zero(ctdb, struct ctdb_persistent_state);
 	CTDB_NO_MEMORY(ctdb, state);
@@ -454,7 +456,9 @@ int32_t ctdb_control_cancel_persistent_update(struct ctdb_context *ctdb,
 		return -1;
 	}
 
-	client->num_persistent_updates--;
+	if (client->num_persistent_updates > 0) {
+		client->num_persistent_updates--;
+	}
 
 	return 0;
 }


-- 
CTDB repository


More information about the samba-cvs mailing list