|
@@ -307,7 +307,7 @@ struct inode *gfs2_lookupi(struct inode *dir, const struct qstr *name,
|
|
|
}
|
|
|
|
|
|
if (!is_root) {
|
|
|
- error = gfs2_permission(dir, MAY_EXEC, 0);
|
|
|
+ error = gfs2_permission(dir, MAY_EXEC);
|
|
|
if (error)
|
|
|
goto out;
|
|
|
}
|
|
@@ -337,7 +337,7 @@ static int create_ok(struct gfs2_inode *dip, const struct qstr *name,
|
|
|
{
|
|
|
int error;
|
|
|
|
|
|
- error = gfs2_permission(&dip->i_inode, MAY_WRITE | MAY_EXEC, 0);
|
|
|
+ error = gfs2_permission(&dip->i_inode, MAY_WRITE | MAY_EXEC);
|
|
|
if (error)
|
|
|
return error;
|
|
|
|
|
@@ -857,7 +857,7 @@ static int gfs2_link(struct dentry *old_dentry, struct inode *dir,
|
|
|
if (inode->i_nlink == 0)
|
|
|
goto out_gunlock;
|
|
|
|
|
|
- error = gfs2_permission(dir, MAY_WRITE | MAY_EXEC, 0);
|
|
|
+ error = gfs2_permission(dir, MAY_WRITE | MAY_EXEC);
|
|
|
if (error)
|
|
|
goto out_gunlock;
|
|
|
|
|
@@ -990,7 +990,7 @@ static int gfs2_unlink_ok(struct gfs2_inode *dip, const struct qstr *name,
|
|
|
if (IS_APPEND(&dip->i_inode))
|
|
|
return -EPERM;
|
|
|
|
|
|
- error = gfs2_permission(&dip->i_inode, MAY_WRITE | MAY_EXEC, 0);
|
|
|
+ error = gfs2_permission(&dip->i_inode, MAY_WRITE | MAY_EXEC);
|
|
|
if (error)
|
|
|
return error;
|
|
|
|
|
@@ -1336,7 +1336,7 @@ static int gfs2_rename(struct inode *odir, struct dentry *odentry,
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- error = gfs2_permission(ndir, MAY_WRITE | MAY_EXEC, 0);
|
|
|
+ error = gfs2_permission(ndir, MAY_WRITE | MAY_EXEC);
|
|
|
if (error)
|
|
|
goto out_gunlock;
|
|
|
|
|
@@ -1371,7 +1371,7 @@ static int gfs2_rename(struct inode *odir, struct dentry *odentry,
|
|
|
/* Check out the dir to be renamed */
|
|
|
|
|
|
if (dir_rename) {
|
|
|
- error = gfs2_permission(odentry->d_inode, MAY_WRITE, 0);
|
|
|
+ error = gfs2_permission(odentry->d_inode, MAY_WRITE);
|
|
|
if (error)
|
|
|
goto out_gunlock;
|
|
|
}
|
|
@@ -1543,7 +1543,7 @@ static void gfs2_put_link(struct dentry *dentry, struct nameidata *nd, void *p)
|
|
|
* Returns: errno
|
|
|
*/
|
|
|
|
|
|
-int gfs2_permission(struct inode *inode, int mask, unsigned int flags)
|
|
|
+int gfs2_permission(struct inode *inode, int mask)
|
|
|
{
|
|
|
struct gfs2_inode *ip;
|
|
|
struct gfs2_holder i_gh;
|
|
@@ -1553,7 +1553,7 @@ int gfs2_permission(struct inode *inode, int mask, unsigned int flags)
|
|
|
|
|
|
ip = GFS2_I(inode);
|
|
|
if (gfs2_glock_is_locked_by_me(ip->i_gl) == NULL) {
|
|
|
- if (flags & IPERM_FLAG_RCU)
|
|
|
+ if (mask & MAY_NOT_BLOCK)
|
|
|
return -ECHILD;
|
|
|
error = gfs2_glock_nq_init(ip->i_gl, LM_ST_SHARED, LM_FLAG_ANY, &i_gh);
|
|
|
if (error)
|