[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Linux-cluster] [PATCH] wrong strings in quorum disk registration.

Hi all,

on the openais based cman-2.0.35-2.el5 the output of "cman_tool nodes"
or "clustat" provides a wrong quorum device name:

[root nodo01 ~]# cman_tool nodes
Node  Sts   Inc   Joined               Name
   0   X      0                        /dev/sdb1��
   1   M      4   2007-01-05 13:03:18  nodo01
   2   X      0                        nodo02

[root nodo01 ~]# clustat
/dev/sdb1�� not found
realloc 924
Member Status: Quorate

  Member Name                        ID   Status
  ------ ----                        ---- ------
  nodo01                                1 Online, Local
  nodo02                                2 Offline
  /dev/sdb1��                       0 Online, Estranged

Looking at the code look like the call to info_call in
cman_register_quorum_device passed a too small by one "inlen" argument
missing the ending \0 of the device name string.
I attached a patch the should fix this, I hope it's correct.


Simone Gotti

 Email.it, the professional e-mail, gratis per te: http://www.email.it/f
 Cassine di Pietra: una variet completa di vini del Veneto, 
* in pi un regalo per il primo ordine! Clicca subito qui
 Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=3925&d=5-1
diff -r -u -p cman-2.0.35.orig/cman/lib/libcman.c cman-2.0.35/cman/lib/libcman.c
--- cman-2.0.35.orig/cman/lib/libcman.c	2006-10-25 14:23:46.000000000 +0200
+++ cman-2.0.35/cman/lib/libcman.c	2007-01-05 13:13:53.000000000 +0100
@@ -1002,7 +1002,7 @@ int cman_register_quorum_device(cman_han
 	memcpy(buf, &votes, sizeof(int));
 	strcpy(buf+sizeof(int), name);
-	return info_call(h, CMAN_CMD_REG_QUORUMDEV, buf, strlen(name)+sizeof(int), NULL, 0);
+	return info_call(h, CMAN_CMD_REG_QUORUMDEV, buf, strlen(name)+1+sizeof(int), NULL, 0);
 int cman_unregister_quorum_device(cman_handle_t handle)

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]