X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=fs%2Ffuse%2Fdir.c;h=8890eba1db524dbd020a5f32554c645f3efab809;hb=2b36f412ab6f2e5b64af9832b20eb7ef67d025b4;hp=406bf61ed510ffbe66def51015943de76d1c3094;hpb=463020ce428e2f00d4f33a383d6f39c7453a6854;p=powerpc.git diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c index 406bf61ed5..8890eba1db 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/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); @@ -248,7 +248,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,