Pārlūkot izejas kodu

knet: Fix knet log buffer size

knet sends log messages as struct knet_log_msg, not a string
of KNET_MAX_LOG_MSG_SIZE (which is only part of that structure).
So we were both losing and corrupting messages.

Signed-off-by: Christine Caulfield <ccaulfie@redhat.com>
Reviewed-by: Jan Friesse <jfriesse@redhat.com>
Christine Caulfield 7 gadi atpakaļ
vecāks
revīzija
5dda71ae29
1 mainītis faili ar 3 papildinājumiem un 3 dzēšanām
  1. 3 3
      exec/totemknet.c

+ 3 - 3
exec/totemknet.c

@@ -542,7 +542,7 @@ static int log_deliver_fn (
 	void *data)
 	void *data)
 {
 {
 	struct totemknet_instance *instance = (struct totemknet_instance *)data;
 	struct totemknet_instance *instance = (struct totemknet_instance *)data;
-	char buffer[KNET_MAX_LOG_MSG_SIZE*4];
+	char buffer[sizeof(struct knet_log_msg)*4];
 	char *bufptr = buffer;
 	char *bufptr = buffer;
 	int done = 0;
 	int done = 0;
 	int len;
 	int len;
@@ -572,8 +572,8 @@ static int log_deliver_fn (
 					    msg->msg);
 					    msg->msg);
 			break;
 			break;
 		}
 		}
-		bufptr += KNET_MAX_LOG_MSG_SIZE;
-		done += KNET_MAX_LOG_MSG_SIZE;
+		bufptr += sizeof(struct knet_log_msg);
+		done += sizeof(struct knet_log_msg);
 	}
 	}
 	return 0;
 	return 0;
 }
 }