[Cluster-devel] cluster/gfs-kernel/src/gfs dir.c

wcheng at sourceware.org wcheng at sourceware.org
Tue Sep 26 14:30:56 UTC 2006


CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL4U4
Changes by:	wcheng at sourceware.org	2006-09-26 14:30:56

Modified files:
	gfs-kernel/src/gfs: dir.c 

Log message:
	Bugzilla 205592:
	
	One problem we've found is that under heavy system load, memory could
	be in shortage that results in kmalloc() failure. In previous versions,
	upon kmalloc() failure, in certain code paths, sometime it was impossible
	to back out - so GFS either panic or hung. In newer versions of GFS, a fix
	was added to allow memory allocation falling back to vmalloc() if kmalloc()
	failed. Unfortuntely, the linux/vmalloc.h header was not added. Since the
	compiler has not been not able to get the correct vmalloc() prototype, it
	assumes the default that casts vmalloc() return code to "int" which is 4
	byes. This could cause panic with 64 machines (e.g. x86_64) that uses 8
	bytes addressing.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/dir.c.diff?cvsroot=cluster&only_with_tag=RHEL4U4&r1=1.8.2.4&r2=1.8.2.4.2.1

--- cluster/gfs-kernel/src/gfs/dir.c	2006/02/19 23:37:23	1.8.2.4
+++ cluster/gfs-kernel/src/gfs/dir.c	2006/09/26 14:30:55	1.8.2.4.2.1
@@ -64,6 +64,7 @@
 #include <asm/semaphore.h>
 #include <linux/completion.h>
 #include <linux/buffer_head.h>
+#include <linux/vmalloc.h>
 
 #include "gfs.h"
 #include "dio.h"




More information about the Cluster-devel mailing list