aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Peterson <rpeterso@redhat.com>2007-01-11 14:25:00 -0500
committerSteven Whitehouse <swhiteho@redhat.com>2007-02-05 13:36:46 -0500
commit70831465646b1fef9bf7b51b64409276411e9746 (patch)
tree98fd30f0d3cbc5726b641ba0cb3f72764d251b15
parentd200778e1257eeb92242355de6f191a0a5ad43c4 (diff)
[GFS2] gfs2 knows of directories which it chooses not to display
This is for Red Hat 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 directory had been deleted & recreated. This patch is a crosswrite from a RHEL4 bug found in GFS1 as bz #190756 and it is against the latest -nmw git tree. Signed-off-by: Robert Peterson <rpeterso@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
-rw-r--r--fs/gfs2/ops_export.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/gfs2/ops_export.c b/fs/gfs2/ops_export.c
index b4e7b8775315..6ea979c74b6b 100644
--- a/fs/gfs2/ops_export.c
+++ b/fs/gfs2/ops_export.c
@@ -22,6 +22,7 @@
22#include "glock.h" 22#include "glock.h"
23#include "glops.h" 23#include "glops.h"
24#include "inode.h" 24#include "inode.h"
25#include "ops_dentry.h"
25#include "ops_export.h" 26#include "ops_export.h"
26#include "rgrp.h" 27#include "rgrp.h"
27#include "util.h" 28#include "util.h"
@@ -189,6 +190,7 @@ static struct dentry *gfs2_get_parent(struct dentry *child)
189 return ERR_PTR(-ENOMEM); 190 return ERR_PTR(-ENOMEM);
190 } 191 }
191 192
193 dentry->d_op = &gfs2_dops;
192 return dentry; 194 return dentry;
193} 195}
194 196
@@ -269,6 +271,7 @@ out_inode:
269 return ERR_PTR(-ENOMEM); 271 return ERR_PTR(-ENOMEM);
270 } 272 }
271 273
274 dentry->d_op = &gfs2_dops;
272 return dentry; 275 return dentry;
273 276
274fail_rgd: 277fail_rgd: