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

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

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL4
Changes by:	wcheng sourceware org	2006-09-26 05:32:17

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.


--- cluster/gfs-kernel/src/gfs/dir.c	2006/02/19 23:37:23
+++ cluster/gfs-kernel/src/gfs/dir.c	2006/09/26 05:32:17
@@ -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"

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