Merge branch 'miklos.fileattr' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.git] / fs / fuse / dir.c
index 44f7bfd..1b6c001 100644 (file)
@@ -252,7 +252,7 @@ static int fuse_dentry_revalidate(struct dentry *entry, unsigned int flags)
                if (ret == -ENOMEM)
                        goto out;
                if (ret || fuse_invalid_attr(&outarg.attr) ||
-                   (outarg.attr.mode ^ inode->i_mode) & S_IFMT)
+                   inode_wrong_type(inode, outarg.attr.mode))
                        goto invalid;
 
                forget_all_cached_acls(inode);
@@ -1054,7 +1054,7 @@ static int fuse_do_getattr(struct inode *inode, struct kstat *stat,
        err = fuse_simple_request(fm, &args);
        if (!err) {
                if (fuse_invalid_attr(&outarg.attr) ||
-                   (inode->i_mode ^ outarg.attr.mode) & S_IFMT) {
+                   inode_wrong_type(inode, outarg.attr.mode)) {
                        fuse_make_bad(inode);
                        err = -EIO;
                } else {
@@ -1703,7 +1703,7 @@ int fuse_do_setattr(struct dentry *dentry, struct iattr *attr,
        }
 
        if (fuse_invalid_attr(&outarg.attr) ||
-           (inode->i_mode ^ outarg.attr.mode) & S_IFMT) {
+           inode_wrong_type(inode, outarg.attr.mode)) {
                fuse_make_bad(inode);
                err = -EIO;
                goto error;