diff options
author | Bob Peterson <rpeterso@redhat.com> | 2013-06-14 08:39:18 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2013-06-14 08:27:17 -0400 |
commit | 512cbf02fde42b747c5752f135afd3f3f6d598e2 (patch) | |
tree | 7c03ec9d076729c3669ba63b620b3efeab399656 | |
parent | 6d4ade986f9c8df31e68fd30643997f79cc5a5f8 (diff) |
GFS2: fix regression in dir_double_exhash
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>
-rw-r--r-- | fs/gfs2/dir.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c index f0c70529948f..147fcc557299 100644 --- a/fs/gfs2/dir.c +++ b/fs/gfs2/dir.c | |||
@@ -1125,13 +1125,14 @@ static int dir_double_exhash(struct gfs2_inode *dip) | |||
1125 | if (IS_ERR(hc)) | 1125 | if (IS_ERR(hc)) |
1126 | return PTR_ERR(hc); | 1126 | return PTR_ERR(hc); |
1127 | 1127 | ||
1128 | h = hc2 = kmalloc(hsize_bytes * 2, GFP_NOFS | __GFP_NOWARN); | 1128 | hc2 = kmalloc(hsize_bytes * 2, GFP_NOFS | __GFP_NOWARN); |
1129 | if (hc2 == NULL) | 1129 | if (hc2 == NULL) |
1130 | hc2 = __vmalloc(hsize_bytes * 2, GFP_NOFS, PAGE_KERNEL); | 1130 | hc2 = __vmalloc(hsize_bytes * 2, GFP_NOFS, PAGE_KERNEL); |
1131 | 1131 | ||
1132 | if (!hc2) | 1132 | if (!hc2) |
1133 | return -ENOMEM; | 1133 | return -ENOMEM; |
1134 | 1134 | ||
1135 | h = hc2; | ||
1135 | error = gfs2_meta_inode_buffer(dip, &dibh); | 1136 | error = gfs2_meta_inode_buffer(dip, &dibh); |
1136 | if (error) | 1137 | if (error) |
1137 | goto out_kfree; | 1138 | goto out_kfree; |