aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2005-03-05 16:46:52 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2005-03-05 16:46:52 +0000
commita528879399d7fcee0a24dd1665a9012c514a7b8c (patch)
tree756b2611c563665dd538f7cfc0076fe36fa0d38b
parent31fa41c6fd34acc89aa8df9f18bf80487db71711 (diff)
downloadlibfuse-a528879399d7fcee0a24dd1665a9012c514a7b8c.tar.gz
fix
-rw-r--r--kernel/configure.ac2
-rw-r--r--kernel/inode.c24
2 files changed, 11 insertions, 15 deletions
diff --git a/kernel/configure.ac b/kernel/configure.ac
index 62c2b2f..a27ceca 100644
--- a/kernel/configure.ac
+++ b/kernel/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT(fuse-kernel, 2.2)
+AC_INIT(fuse-kernel, 2.2.1)
AC_CONFIG_HEADERS([config.h])
AC_PROG_INSTALL
diff --git a/kernel/inode.c b/kernel/inode.c
index f702a4a..d935d58 100644
--- a/kernel/inode.c
+++ b/kernel/inode.c
@@ -520,34 +520,30 @@ static struct inode *get_root_inode(struct super_block *sb, unsigned mode)
#ifdef KERNEL_2_6
static struct dentry *fuse_get_dentry(struct super_block *sb, void *vobjp)
{
- int err;
__u32 *objp = vobjp;
unsigned long nodeid = objp[0];
__u32 generation = objp[1];
struct inode *inode;
struct dentry *entry;
- err = -ESTALE;
if (nodeid == 0)
- goto error;
+ return ERR_PTR(-ESTALE);
inode = ilookup5(sb, nodeid, fuse_inode_eq, &nodeid);
if (!inode)
- goto error;
- if (inode->i_generation != generation)
- goto error_iput;
+ return ERR_PTR(-ESTALE);
+ if (inode->i_generation != generation) {
+ iput(inode);
+ return ERR_PTR(-ESTALE);
+ }
- err = -ENOMEM;
entry = d_alloc_anon(inode);
- if (!entry)
- goto error_iput;
+ if (!entry) {
+ iput(inode);
+ return ERR_PTR(-ENOMEM);
+ }
return entry;
-
- error_iput:
- iput(inode);
- error:
- return ERR_PTR(err);
}
static int fuse_encode_fh(struct dentry *dentry, __u32 *fh, int *max_len,