aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/inode.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/gfs2/inode.h')
-rw-r--r--fs/gfs2/inode.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/fs/gfs2/inode.h b/fs/gfs2/inode.h
index 4df7da51f715..e42ae38d6778 100644
--- a/fs/gfs2/inode.h
+++ b/fs/gfs2/inode.h
@@ -60,14 +60,23 @@ int gfs2_setattr_simple(struct gfs2_inode *ip, struct iattr *attr);
60 60
61int gfs2_repermission(struct inode *inode, int mask, struct nameidata *nd); 61int gfs2_repermission(struct inode *inode, int mask, struct nameidata *nd);
62 62
63static inline int gfs2_lookup_simple(struct gfs2_inode *dip, char *name, 63static inline int gfs2_lookup_simple(struct inode *dip, char *name,
64 struct gfs2_inode **ipp) 64 struct inode **ipp)
65{ 65{
66 struct gfs2_inode *ip;
66 struct qstr qstr; 67 struct qstr qstr;
68 int err;
67 memset(&qstr, 0, sizeof(struct qstr)); 69 memset(&qstr, 0, sizeof(struct qstr));
68 qstr.name = name; 70 qstr.name = name;
69 qstr.len = strlen(name); 71 qstr.len = strlen(name);
70 return gfs2_lookupi(dip, &qstr, 1, ipp); 72 err = gfs2_lookupi(get_v2ip(dip), &qstr, 1, &ip);
73 if (err == 0) {
74 *ipp = gfs2_ip2v(ip);
75 if (*ipp == NULL)
76 err = -ENOMEM;
77 gfs2_inode_put(ip);
78 }
79 return err;
71} 80}
72 81
73#endif /* __INODE_DOT_H__ */ 82#endif /* __INODE_DOT_H__ */