Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 27922b4260f65d317aabda37e42bbbff > files > 1252

kernel-2.6.18-238.el5.src.rpm

From: Robert Peterson <rpeterso@redhat.com>
Subject: [PATCH] GFS2: bz 222302: gfs2 knows of directories which it chooses  not to display
Date: Fri, 26 Jan 2007 09:12:54 -0600
Bugzilla: 222302
Message-Id: <45BA1A76.3070905@redhat.com>
Changelog: [gfs2] corrrectly display revalidated directories


This patch is for bugzilla bug bz #222302:

Moving a virtual IP from node to node between two NFS-over-GFS2
servers was causing one of the GFS2 servers to become confused and
reference a deleted inode.  The problem was due to vfs dentries that did
not reference the gfs2_dops and therefore didn't call the gfs2 revalidate
code to revalidate a dentry after a file or directory had been deleted &
recreated.  This patch is a crosswrite from a RHEL4 bug found in
GFS1 as bz #190756 and it is against kernel-2.6.18-6.el5.
This patch is in the latest -nmw branch of Steve Whitehouse's upstream
git tree.


Signed-off-by: Bob Peterson <rpeterso@redhat.com>

--- linux-2.6.18.i386/fs/gfs2/ops_export.c	2007-01-26 09:00:56.000000000 -0600
+++ linux-2.6.18.i386/fs/gfs2/ops_export.c	2007-01-25 13:17:48.000000000 -0600
@@ -22,6 +22,7 @@
 #include "glock.h"
 #include "glops.h"
 #include "inode.h"
+#include "ops_dentry.h"
 #include "ops_export.h"
 #include "rgrp.h"
 #include "util.h"
@@ -195,6 +196,7 @@ static struct dentry *gfs2_get_parent(st
 		return ERR_PTR(-ENOMEM);
 	}
 
+	dentry->d_op = &gfs2_dops;
 	return dentry;
 }
 
@@ -275,6 +277,7 @@ out_inode:
 		return ERR_PTR(-ENOMEM);
 	}
 
+	dentry->d_op = &gfs2_dops;
 	return dentry;
 
 fail_rgd: