diff options
author | 2005-09-23 13:34:44 +0000 | |
---|---|---|
committer | 2005-09-23 13:34:44 +0000 | |
commit | 8722dd21264bc9a053578af726adeefa656e8b2b (patch) | |
tree | 824c2f6baeaa1b898d72cddb069f2860eab8fe51 | |
parent | 6becf0b8644c0536fa12faef3d023134dcb3a100 (diff) |
fix
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | kernel/dir.c | 4 |
2 files changed, 3 insertions, 3 deletions
@@ -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> diff --git a/kernel/dir.c b/kernel/dir.c index 3428668..735e8fe 100644 --- a/kernel/dir.c +++ b/kernel/dir.c @@ -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) { |