|
@@ -1068,6 +1068,8 @@ static int fuse_access(struct inode *inode, int mask)
|
|
|
struct fuse_access_in inarg;
|
|
|
int err;
|
|
|
|
|
|
+ BUG_ON(mask & MAY_NOT_BLOCK);
|
|
|
+
|
|
|
if (fc->no_access)
|
|
|
return 0;
|
|
|
|
|
@@ -1155,9 +1157,6 @@ static int fuse_permission(struct inode *inode, int mask)
|
|
|
noticed immediately, only after the attribute
|
|
|
timeout has expired */
|
|
|
} else if (mask & (MAY_ACCESS | MAY_CHDIR)) {
|
|
|
- if (mask & MAY_NOT_BLOCK)
|
|
|
- return -ECHILD;
|
|
|
-
|
|
|
err = fuse_access(inode, mask);
|
|
|
} else if ((mask & MAY_EXEC) && S_ISREG(inode->i_mode)) {
|
|
|
if (!(inode->i_mode & S_IXUGO)) {
|