From mboxrd@z Thu Jan 1 00:00:00 1970 From: jbrassow@sourceware.org Date: 20 Jun 2008 21:31:12 -0000 Subject: [Cluster-devel] Cluster Project branch, RHEL5, updated. cmirror_1_1_15-123-g0670e03 Message-ID: <20080620213112.9319.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Cluster Project". http://sources.redhat.com/git/gitweb.cgi?p=cluster.git;a=commitdiff;h=0670e032ed29a421a14f0b7e176e254880de28ea The branch, RHEL5 has been updated via 0670e032ed29a421a14f0b7e176e254880de28ea (commit) from 15ae6919dd7c33b1b6746c12a1170c794e736f52 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 0670e032ed29a421a14f0b7e176e254880de28ea Author: Jonathan Brassow Date: Fri Jun 20 16:30:25 2008 -0500 clogd: Fix bug 429608 - disk->core log forgets sync status If the constructor arguments were not in the order expected, there could be a failure to detect 'sync' specification. The code now goes over all the constructor args to look for 'sync' arguments. ----------------------------------------------------------------------- Summary of changes: cmirror/src/functions.c | 19 +++++++------------ 1 files changed, 7 insertions(+), 12 deletions(-) diff --git a/cmirror/src/functions.c b/cmirror/src/functions.c index 9bafd07..d41accf 100644 --- a/cmirror/src/functions.c +++ b/cmirror/src/functions.c @@ -332,6 +332,7 @@ static int find_disk_path(char *major_minor_str, char *path_rtn, int *unlink_pat static int _clog_ctr(int argc, char **argv, uint64_t device_size) { + int i; int r = 0; char *p; uint64_t region_size; @@ -347,8 +348,6 @@ static int _clog_ctr(int argc, char **argv, uint64_t device_size) size_t page_size; int pages; - ENTER(); - /* If core log request, then argv[0] will be region_size */ if (!strtoll(argv[0], &p, 0) || *p) { disk_log = 1; @@ -393,10 +392,12 @@ static int _clog_ctr(int argc, char **argv, uint64_t device_size) region_count++; } - if (!strcmp(argv[argc - 1], "sync")) - sync = FORCESYNC; - else if (!strcmp(argv[argc - 1], "nosync")) - sync = NOSYNC; + for (i = 0; i < argc; i++) { + if (!strcmp(argv[i], "sync")) + sync = FORCESYNC; + else if (!strcmp(argv[i], "nosync")) + sync = NOSYNC; + } lc = malloc(sizeof(*lc)); if (!lc) { @@ -480,7 +481,6 @@ static int _clog_ctr(int argc, char **argv, uint64_t device_size) list_add(&lc->list, &log_pending_list); - EXIT(); return 0; fail: if (lc) { @@ -494,7 +494,6 @@ fail: close(lc->disk_fd); free(lc); } - EXIT(); return r; } @@ -1427,9 +1426,6 @@ int do_request(struct clog_tfr *tfr, int server) { int r; - /* FIXME: ENTER discards null check */ - ENTER("%s", RQ_TYPE(tfr->request_type)); - if (!tfr) return 0; @@ -1505,7 +1501,6 @@ int do_request(struct clog_tfr *tfr, int server) tfr->data_size = 0; } - EXIT(); return 0; } hooks/post-receive -- Cluster Project