forked from luck/tmp_suning_uos_patched
[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>
This commit is contained in:
parent
d200778e12
commit
7083146564
|
@ -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"
|
||||
|
@ -189,6 +190,7 @@ static struct dentry *gfs2_get_parent(struct dentry *child)
|
|||
return ERR_PTR(-ENOMEM);
|
||||
}
|
||||
|
||||
dentry->d_op = &gfs2_dops;
|
||||
return dentry;
|
||||
}
|
||||
|
||||
|
@ -269,6 +271,7 @@ static struct dentry *gfs2_get_dentry(struct super_block *sb, void *inum_obj)
|
|||
return ERR_PTR(-ENOMEM);
|
||||
}
|
||||
|
||||
dentry->d_op = &gfs2_dops;
|
||||
return dentry;
|
||||
|
||||
fail_rgd:
|
||||
|
|
Loading…
Reference in New Issue
Block a user