diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2007-05-02 17:48:09 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2007-05-02 17:48:09 +0000 |
commit | b318b3d69b852fa474576ddcb05286aa6c08577c (patch) | |
tree | e98bbcda283c0fdeb3ddfdc3c0dbcceffc37066f /kernel/dir.c | |
parent | 79b6209843823ff2776c79563748e18db1b1c946 (diff) | |
download | libfuse-b318b3d69b852fa474576ddcb05286aa6c08577c.tar.gz |
kernel: sync with mainline...
Diffstat (limited to 'kernel/dir.c')
-rw-r--r-- | kernel/dir.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/dir.c b/kernel/dir.c index 32e6003..121a350 100644 --- a/kernel/dir.c +++ b/kernel/dir.c @@ -195,7 +195,7 @@ static struct dentry_operations fuse_dentry_operations = { .d_revalidate = fuse_dentry_revalidate, }; -static int valid_mode(int m) +int fuse_valid_type(int m) { return S_ISREG(m) || S_ISDIR(m) || S_ISLNK(m) || S_ISCHR(m) || S_ISBLK(m) || S_ISFIFO(m) || S_ISSOCK(m); @@ -250,7 +250,8 @@ static struct dentry *fuse_lookup(struct inode *dir, struct dentry *entry, fuse_put_request(fc, req); /* Zero nodeid is same as -ENOENT, but with valid timeout */ if (!err && outarg.nodeid && - (invalid_nodeid(outarg.nodeid) || !valid_mode(outarg.attr.mode))) + (invalid_nodeid(outarg.nodeid) || + !fuse_valid_type(outarg.attr.mode))) err = -EIO; if (!err && outarg.nodeid) { inode = fuse_iget(dir->i_sb, outarg.nodeid, outarg.generation, |