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

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



CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	wcheng sourceware org	2007-06-05 18:21:23

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

Log message:
	Bugzilla 242759:
	
	Bump into this problem while debugging bug #236565 (GFS SPECsfs panic).
	Apparently a minor oversight while adding new function into GFS for
	RHEL5. GFS versions <= RHEL4 is immuned from this issue.
	
	Upon memory pressure, VM starts to release inode cache entries that would
	fail gfs iget. GFS1 flags this error as "ENOMEM" but returns from gfs_create
	call without releasing the glock.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/ops_inode.c.diff?cvsroot=cluster&r1=1.17&r2=1.18

--- cluster/gfs-kernel/src/gfs/ops_inode.c	2007/06/05 18:15:51	1.17
+++ cluster/gfs-kernel/src/gfs/ops_inode.c	2007/06/05 18:21:22	1.18
@@ -151,9 +151,9 @@
 	gfs_inode_put(ip);
 
 	if (!inode)
-		return -ENOMEM;
-
-	error = gfs_security_init(dip, ip);
+		error = -ENOMEM;
+	else
+		error = gfs_security_init(dip, ip);
 
 	gfs_glock_dq_uninit(&d_gh);
 	gfs_glock_dq_uninit(&i_gh);


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