|
@@ -259,7 +259,6 @@ static int ocfs2_mknod(struct inode *dir,
|
|
struct ocfs2_dir_lookup_result lookup = { NULL, };
|
|
struct ocfs2_dir_lookup_result lookup = { NULL, };
|
|
sigset_t oldset;
|
|
sigset_t oldset;
|
|
int did_block_signals = 0;
|
|
int did_block_signals = 0;
|
|
- struct posix_acl *default_acl = NULL, *acl = NULL;
|
|
|
|
struct ocfs2_dentry_lock *dl = NULL;
|
|
struct ocfs2_dentry_lock *dl = NULL;
|
|
|
|
|
|
trace_ocfs2_mknod(dir, dentry, dentry->d_name.len, dentry->d_name.name,
|
|
trace_ocfs2_mknod(dir, dentry, dentry->d_name.len, dentry->d_name.name,
|
|
@@ -367,12 +366,6 @@ static int ocfs2_mknod(struct inode *dir,
|
|
goto leave;
|
|
goto leave;
|
|
}
|
|
}
|
|
|
|
|
|
- status = posix_acl_create(dir, &inode->i_mode, &default_acl, &acl);
|
|
|
|
- if (status) {
|
|
|
|
- mlog_errno(status);
|
|
|
|
- goto leave;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
handle = ocfs2_start_trans(osb, ocfs2_mknod_credits(osb->sb,
|
|
handle = ocfs2_start_trans(osb, ocfs2_mknod_credits(osb->sb,
|
|
S_ISDIR(mode),
|
|
S_ISDIR(mode),
|
|
xattr_credits));
|
|
xattr_credits));
|
|
@@ -421,16 +414,8 @@ static int ocfs2_mknod(struct inode *dir,
|
|
inc_nlink(dir);
|
|
inc_nlink(dir);
|
|
}
|
|
}
|
|
|
|
|
|
- if (default_acl) {
|
|
|
|
- status = ocfs2_set_acl(handle, inode, new_fe_bh,
|
|
|
|
- ACL_TYPE_DEFAULT, default_acl,
|
|
|
|
- meta_ac, data_ac);
|
|
|
|
- }
|
|
|
|
- if (!status && acl) {
|
|
|
|
- status = ocfs2_set_acl(handle, inode, new_fe_bh,
|
|
|
|
- ACL_TYPE_ACCESS, acl,
|
|
|
|
- meta_ac, data_ac);
|
|
|
|
- }
|
|
|
|
|
|
+ status = ocfs2_init_acl(handle, inode, dir, new_fe_bh, parent_fe_bh,
|
|
|
|
+ meta_ac, data_ac);
|
|
|
|
|
|
if (status < 0) {
|
|
if (status < 0) {
|
|
mlog_errno(status);
|
|
mlog_errno(status);
|
|
@@ -472,10 +457,6 @@ static int ocfs2_mknod(struct inode *dir,
|
|
d_instantiate(dentry, inode);
|
|
d_instantiate(dentry, inode);
|
|
status = 0;
|
|
status = 0;
|
|
leave:
|
|
leave:
|
|
- if (default_acl)
|
|
|
|
- posix_acl_release(default_acl);
|
|
|
|
- if (acl)
|
|
|
|
- posix_acl_release(acl);
|
|
|
|
if (status < 0 && did_quota_inode)
|
|
if (status < 0 && did_quota_inode)
|
|
dquot_free_inode(inode);
|
|
dquot_free_inode(inode);
|
|
if (handle)
|
|
if (handle)
|