[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