fix
authorMiklos Szeredi <miklos@szeredi.hu>
Fri, 23 Sep 2005 13:34:44 +0000 (13:34 +0000)
committerMiklos Szeredi <miklos@szeredi.hu>
Fri, 23 Sep 2005 13:34:44 +0000 (13:34 +0000)
ChangeLog
kernel/dir.c

index 8c91f35933570227e939bf1def99b5f8fef1987c..21cf0297abdbc0c3a5066dd6357ec16007de5d19 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,6 @@
 2005-09-23  Miklos Szeredi <miklos@szeredi.hu>
 
-       * Check for special node ID values in LOOKUP/MK*
+       * Check for special node ID values in lookup and creation
 
 2005-09-22  Miklos Szeredi <miklos@szeredi.hu>
 
index 34286687274167dd2a4872c57389e57f3adad6d8..735e8fe0a7c718b874ccc78f76e655df3267ba66 100644 (file)
@@ -112,9 +112,9 @@ static int fuse_lookup_iget(struct inode *dir, struct dentry *entry,
        fuse_lookup_init(req, dir, entry, &outarg);
        request_send(fc, req);
        err = req->out.h.error;
-       if (!err && outarg.nodeid == FUSE_ROOT_ID)
+       if (!err && (!outarg.nodeid || outarg.nodeid == FUSE_ROOT_ID))
                err = -EIO;
-       else if (!err && outarg.nodeid) {
+       if (!err) {
                inode = fuse_iget(dir->i_sb, outarg.nodeid, outarg.generation,
                                  &outarg.attr);
                if (!inode) {