Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3fb6120 authored by Al Viro's avatar Al Viro
Browse files

switch posix_acl_create() to umode_t *



so we can pass &inode->i_mode to it

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 782b94cd
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -182,11 +182,11 @@ int v9fs_set_create_acl(struct dentry *dentry,
	return 0;
}

int v9fs_acl_mode(struct inode *dir, mode_t *modep,
int v9fs_acl_mode(struct inode *dir, umode_t *modep,
		  struct posix_acl **dpacl, struct posix_acl **pacl)
{
	int retval = 0;
	mode_t mode = *modep;
	umode_t mode = *modep;
	struct posix_acl *acl = NULL;

	if (!S_ISLNK(mode)) {
+2 −2
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ extern struct posix_acl *v9fs_iop_get_acl(struct inode *inode, int type);
extern int v9fs_acl_chmod(struct dentry *);
extern int v9fs_set_create_acl(struct dentry *,
			       struct posix_acl **, struct posix_acl **);
extern int v9fs_acl_mode(struct inode *dir, mode_t *modep,
extern int v9fs_acl_mode(struct inode *dir, umode_t *modep,
			 struct posix_acl **dpacl, struct posix_acl **pacl);
#else
#define v9fs_iop_get_acl NULL
@@ -38,7 +38,7 @@ static inline int v9fs_set_create_acl(struct dentry *dentry,
{
	return 0;
}
static inline int v9fs_acl_mode(struct inode *dir, mode_t *modep,
static inline int v9fs_acl_mode(struct inode *dir, umode_t *modep,
				struct posix_acl **dpacl,
				struct posix_acl **pacl)
{
+3 −3
Original line number Diff line number Diff line
@@ -206,7 +206,7 @@ v9fs_vfs_create_dotl(struct inode *dir, struct dentry *dentry, int omode,
	int err = 0;
	gid_t gid;
	int flags;
	mode_t mode;
	umode_t mode;
	char *name = NULL;
	struct file *filp;
	struct p9_qid qid;
@@ -348,7 +348,7 @@ static int v9fs_vfs_mkdir_dotl(struct inode *dir,
	struct p9_fid *fid = NULL, *dfid = NULL;
	gid_t gid;
	char *name;
	mode_t mode;
	umode_t mode;
	struct inode *inode;
	struct p9_qid qid;
	struct dentry *dir_dentry;
@@ -751,7 +751,7 @@ v9fs_vfs_mknod_dotl(struct inode *dir, struct dentry *dentry, int omode,
	int err;
	gid_t gid;
	char *name;
	mode_t mode;
	umode_t mode;
	struct v9fs_session_info *v9ses;
	struct p9_fid *fid = NULL, *dfid = NULL;
	struct inode *inode;
+1 −4
Original line number Diff line number Diff line
@@ -222,19 +222,16 @@ int btrfs_init_acl(struct btrfs_trans_handle *trans,
	}

	if (IS_POSIXACL(dir) && acl) {
		mode_t mode = inode->i_mode;

		if (S_ISDIR(inode->i_mode)) {
			ret = btrfs_set_acl(trans, inode, acl,
					    ACL_TYPE_DEFAULT);
			if (ret)
				goto failed;
		}
		ret = posix_acl_create(&acl, GFP_NOFS, &mode);
		ret = posix_acl_create(&acl, GFP_NOFS, &inode->i_mode);
		if (ret < 0)
			return ret;

		inode->i_mode = mode;
		if (ret > 0) {
			/* we need an acl */
			ret = btrfs_set_acl(trans, inode, acl, ACL_TYPE_ACCESS);
+1 −3
Original line number Diff line number Diff line
@@ -253,16 +253,14 @@ ext2_init_acl(struct inode *inode, struct inode *dir)
			inode->i_mode &= ~current_umask();
	}
	if (test_opt(inode->i_sb, POSIX_ACL) && acl) {
		mode_t mode = inode->i_mode;
		if (S_ISDIR(inode->i_mode)) {
			error = ext2_set_acl(inode, ACL_TYPE_DEFAULT, acl);
			if (error)
				goto cleanup;
		}
		error = posix_acl_create(&acl, GFP_KERNEL, &mode);
		error = posix_acl_create(&acl, GFP_KERNEL, &inode->i_mode);
		if (error < 0)
			return error;
		inode->i_mode = mode;
		if (error > 0) {
			/* This is an extended ACL */
			error = ext2_set_acl(inode, ACL_TYPE_ACCESS, acl);
Loading