aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/gfs2/inode.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index 6bc443644c3c..bab338f6b610 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.c
@@ -361,8 +361,18 @@ out:
361struct inode *gfs2_lookup_simple(struct inode *dip, const char *name) 361struct inode *gfs2_lookup_simple(struct inode *dip, const char *name)
362{ 362{
363 struct qstr qstr; 363 struct qstr qstr;
364 struct inode *inode;
364 gfs2_str2qstr(&qstr, name); 365 gfs2_str2qstr(&qstr, name);
365 return gfs2_lookupi(dip, &qstr, 1, NULL); 366 inode = gfs2_lookupi(dip, &qstr, 1, NULL);
367 /* gfs2_lookupi has inconsistent callers: vfs
368 * related routines expect NULL for no entry found,
369 * gfs2_lookup_simple callers expect ENOENT
370 * and do not check for NULL.
371 */
372 if (inode == NULL)
373 return ERR_PTR(-ENOENT);
374 else
375 return inode;
366} 376}
367 377
368 378