]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
GFS2: fix regression in dir_double_exhash
authorBob Peterson <rpeterso@redhat.com>
Fri, 14 Jun 2013 12:39:18 +0000 (08:39 -0400)
committerSteven Whitehouse <swhiteho@redhat.com>
Fri, 14 Jun 2013 12:27:17 +0000 (13:27 +0100)
Recent commit e8830d8 introduced a bug in function dir_double_exhash;
it was failing to set h in the fall-back case. This patch corrects it.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/dir.c

index f0c70529948f004252b57f4c7a1eb4b2ddf5b142..147fcc55729961317fe4d3dd0be00ac6551b00b2 100644 (file)
@@ -1125,13 +1125,14 @@ static int dir_double_exhash(struct gfs2_inode *dip)
        if (IS_ERR(hc))
                return PTR_ERR(hc);
 
-       h = hc2 = kmalloc(hsize_bytes * 2, GFP_NOFS | __GFP_NOWARN);
+       hc2 = kmalloc(hsize_bytes * 2, GFP_NOFS | __GFP_NOWARN);
        if (hc2 == NULL)
                hc2 = __vmalloc(hsize_bytes * 2, GFP_NOFS, PAGE_KERNEL);
 
        if (!hc2)
                return -ENOMEM;
 
+       h = hc2;
        error = gfs2_meta_inode_buffer(dip, &dibh);
        if (error)
                goto out_kfree;