aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/ops_export.c
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2006-03-28 14:14:04 -0500
committerSteven Whitehouse <swhiteho@redhat.com>2006-03-28 14:14:04 -0500
commit71b86f562b5eb6f94ea00bba060caa64d0137969 (patch)
tree63d982e09a9cb934fe656afe115031c0a9dc5e4a /fs/gfs2/ops_export.c
parent94aabbd99370f738da4f6cb4ea0b94cd9024002f (diff)
[GFS2] Further updates to dir and logging code
This reduces the size of the directory code by about 3k and gets readdir() to use the functions which were introduced in the previous directory code update. Two memory allocations are merged into one. Eliminates zeroing of some buffers which were never used before they were initialised by other data. There is still scope for further improvement in the directory code. On the logging side, a hand created mutex has been replaced by a standard Linux mutex in the log allocation code. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/ops_export.c')
-rw-r--r--fs/gfs2/ops_export.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/gfs2/ops_export.c b/fs/gfs2/ops_export.c
index b27bce74a795..be16c68263d1 100644
--- a/fs/gfs2/ops_export.c
+++ b/fs/gfs2/ops_export.c
@@ -13,6 +13,7 @@
13#include <linux/completion.h> 13#include <linux/completion.h>
14#include <linux/buffer_head.h> 14#include <linux/buffer_head.h>
15#include <linux/gfs2_ondisk.h> 15#include <linux/gfs2_ondisk.h>
16#include <linux/crc32.h>
16#include <asm/semaphore.h> 17#include <asm/semaphore.h>
17 18
18#include "gfs2.h" 19#include "gfs2.h"
@@ -153,7 +154,7 @@ static int gfs2_get_name(struct dentry *parent, char *name,
153 if (error) 154 if (error)
154 return error; 155 return error;
155 156
156 error = gfs2_dir_read(dip, &offset, &gnfd, get_name_filldir); 157 error = gfs2_dir_read(dir, &offset, &gnfd, get_name_filldir);
157 158
158 gfs2_glock_dq_uninit(&gh); 159 gfs2_glock_dq_uninit(&gh);
159 160
@@ -165,12 +166,11 @@ static int gfs2_get_name(struct dentry *parent, char *name,
165 166
166static struct dentry *gfs2_get_parent(struct dentry *child) 167static struct dentry *gfs2_get_parent(struct dentry *child)
167{ 168{
168 struct qstr dotdot = { .name = "..", .len = 2 }; 169 struct qstr dotdot;
169 struct inode *inode; 170 struct inode *inode;
170 struct dentry *dentry; 171 struct dentry *dentry;
171 172
172 dotdot.hash = gfs2_disk_hash(dotdot.name, dotdot.len); 173 gfs2_str2qstr(&dotdot, "..");
173
174 inode = gfs2_lookupi(child->d_inode, &dotdot, 1, NULL); 174 inode = gfs2_lookupi(child->d_inode, &dotdot, 1, NULL);
175 175
176 if (!inode) 176 if (!inode)