From mboxrd@z Thu Jan 1 00:00:00 1970 From: wcheng@sourceware.org Date: 5 Jun 2007 17:46:38 -0000 Subject: [Cluster-devel] cluster/gfs-kernel/src/gfs ops_inode.c Message-ID: <20070605174638.14921.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit CVSROOT: /cvs/cluster Module name: cluster Branch: RHEL5 Changes by: wcheng at sourceware.org 2007-06-05 17:46:38 Modified files: gfs-kernel/src/gfs: ops_inode.c Log message: Bugzilla 242759 Upon memory pressure, vm could start to release inode cache entries. Any process trying to get an inode during this time period will fail. GFS flags the error as "ENOMEM" but leaves gfs_create() call without unlocking the associated directory and file glocks. This patch fixes this minor coding oversight. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/ops_inode.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.15.2.1&r2=1.15.2.2 --- cluster/gfs-kernel/src/gfs/ops_inode.c 2007/06/05 05:43:14 1.15.2.1 +++ cluster/gfs-kernel/src/gfs/ops_inode.c 2007/06/05 17:46:38 1.15.2.2 @@ -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);