Re: [Cluster-devel] [PATCH] GFS2: Hash the negative dentry during inode lookup

2014-09-11 Thread Steven Whitehouse

Hi,

On 10/09/14 19:09, Benjamin Coddington wrote:

Fix a regression introduced by:
6d4ade986f9c8df31e68 GFS2: Add atomic_open support
where an early return misses d_splice_alias() which had been
adding the negative dentry.

Signed-off-by: Benjamin Coddington bcodd...@redhat.com
---
  fs/gfs2/inode.c |4 +++-
  1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index e62e594..9317ddc 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.c
@@ -840,8 +840,10 @@ static struct dentry *__gfs2_lookup(struct inode *dir, 
struct dentry *dentry,
int error;
  
  	inode = gfs2_lookupi(dir, dentry-d_name, 0);

-   if (!inode)
+   if (inode == NULL) {
+   d_add(dentry, NULL);
return NULL;
+   }
if (IS_ERR(inode))
return ERR_CAST(inode);
  


Now in the GFS2 -nmw tree, and I've added Bob's signed-off-by too. Thanks,

Steve.



[Cluster-devel] [PATCH] GFS2: Hash the negative dentry during inode lookup

2014-09-10 Thread Benjamin Coddington
Fix a regression introduced by:
6d4ade986f9c8df31e68 GFS2: Add atomic_open support
where an early return misses d_splice_alias() which had been
adding the negative dentry.

Signed-off-by: Benjamin Coddington bcodd...@redhat.com
---
 fs/gfs2/inode.c |4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index e62e594..9317ddc 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.c
@@ -840,8 +840,10 @@ static struct dentry *__gfs2_lookup(struct inode *dir, 
struct dentry *dentry,
int error;
 
inode = gfs2_lookupi(dir, dentry-d_name, 0);
-   if (!inode)
+   if (inode == NULL) {
+   d_add(dentry, NULL);
return NULL;
+   }
if (IS_ERR(inode))
return ERR_CAST(inode);
 
-- 
1.7.1