|
@@ -182,7 +182,6 @@ static int jffs2_create(struct inode *dir_i, struct dentry *dentry, int mode,
|
|
|
struct jffs2_inode_info *f, *dir_f;
|
|
|
struct jffs2_sb_info *c;
|
|
|
struct inode *inode;
|
|
|
- struct posix_acl *acl;
|
|
|
int ret;
|
|
|
|
|
|
ri = jffs2_alloc_raw_inode();
|
|
@@ -193,7 +192,7 @@ static int jffs2_create(struct inode *dir_i, struct dentry *dentry, int mode,
|
|
|
|
|
|
D1(printk(KERN_DEBUG "jffs2_create()\n"));
|
|
|
|
|
|
- inode = jffs2_new_inode(dir_i, mode, ri, &acl);
|
|
|
+ inode = jffs2_new_inode(dir_i, mode, ri);
|
|
|
|
|
|
if (IS_ERR(inode)) {
|
|
|
D1(printk(KERN_DEBUG "jffs2_new_inode() failed\n"));
|
|
@@ -211,14 +210,6 @@ static int jffs2_create(struct inode *dir_i, struct dentry *dentry, int mode,
|
|
|
|
|
|
ret = jffs2_do_create(c, dir_f, f, ri,
|
|
|
dentry->d_name.name, dentry->d_name.len);
|
|
|
-
|
|
|
- if (ret)
|
|
|
- goto fail_acl;
|
|
|
-
|
|
|
- ret = jffs2_init_security(inode, dir_i);
|
|
|
- if (ret)
|
|
|
- goto fail_acl;
|
|
|
- ret = jffs2_init_acl(inode, acl);
|
|
|
if (ret)
|
|
|
goto fail;
|
|
|
|
|
@@ -231,8 +222,6 @@ static int jffs2_create(struct inode *dir_i, struct dentry *dentry, int mode,
|
|
|
inode->i_ino, inode->i_mode, inode->i_nlink, f->inocache->nlink, inode->i_mapping->nrpages));
|
|
|
return 0;
|
|
|
|
|
|
- fail_acl:
|
|
|
- posix_acl_release(acl);
|
|
|
fail:
|
|
|
make_bad_inode(inode);
|
|
|
iput(inode);
|
|
@@ -309,7 +298,6 @@ static int jffs2_symlink (struct inode *dir_i, struct dentry *dentry, const char
|
|
|
struct jffs2_full_dirent *fd;
|
|
|
int namelen;
|
|
|
uint32_t alloclen;
|
|
|
- struct posix_acl *acl;
|
|
|
int ret, targetlen = strlen(target);
|
|
|
|
|
|
/* FIXME: If you care. We'd need to use frags for the target
|
|
@@ -336,7 +324,7 @@ static int jffs2_symlink (struct inode *dir_i, struct dentry *dentry, const char
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
- inode = jffs2_new_inode(dir_i, S_IFLNK | S_IRWXUGO, ri, &acl);
|
|
|
+ inode = jffs2_new_inode(dir_i, S_IFLNK | S_IRWXUGO, ri);
|
|
|
|
|
|
if (IS_ERR(inode)) {
|
|
|
jffs2_free_raw_inode(ri);
|
|
@@ -366,7 +354,6 @@ static int jffs2_symlink (struct inode *dir_i, struct dentry *dentry, const char
|
|
|
up(&f->sem);
|
|
|
jffs2_complete_reservation(c);
|
|
|
jffs2_clear_inode(inode);
|
|
|
- posix_acl_release(acl);
|
|
|
return PTR_ERR(fn);
|
|
|
}
|
|
|
|
|
@@ -377,7 +364,6 @@ static int jffs2_symlink (struct inode *dir_i, struct dentry *dentry, const char
|
|
|
up(&f->sem);
|
|
|
jffs2_complete_reservation(c);
|
|
|
jffs2_clear_inode(inode);
|
|
|
- posix_acl_release(acl);
|
|
|
return -ENOMEM;
|
|
|
}
|
|
|
|
|
@@ -395,10 +381,9 @@ static int jffs2_symlink (struct inode *dir_i, struct dentry *dentry, const char
|
|
|
ret = jffs2_init_security(inode, dir_i);
|
|
|
if (ret) {
|
|
|
jffs2_clear_inode(inode);
|
|
|
- posix_acl_release(acl);
|
|
|
return ret;
|
|
|
}
|
|
|
- ret = jffs2_init_acl(inode, acl);
|
|
|
+ ret = jffs2_init_acl_post(inode);
|
|
|
if (ret) {
|
|
|
jffs2_clear_inode(inode);
|
|
|
return ret;
|
|
@@ -476,7 +461,6 @@ static int jffs2_mkdir (struct inode *dir_i, struct dentry *dentry, int mode)
|
|
|
struct jffs2_full_dirent *fd;
|
|
|
int namelen;
|
|
|
uint32_t alloclen;
|
|
|
- struct posix_acl *acl;
|
|
|
int ret;
|
|
|
|
|
|
mode |= S_IFDIR;
|
|
@@ -499,7 +483,7 @@ static int jffs2_mkdir (struct inode *dir_i, struct dentry *dentry, int mode)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
- inode = jffs2_new_inode(dir_i, mode, ri, &acl);
|
|
|
+ inode = jffs2_new_inode(dir_i, mode, ri);
|
|
|
|
|
|
if (IS_ERR(inode)) {
|
|
|
jffs2_free_raw_inode(ri);
|
|
@@ -526,7 +510,6 @@ static int jffs2_mkdir (struct inode *dir_i, struct dentry *dentry, int mode)
|
|
|
up(&f->sem);
|
|
|
jffs2_complete_reservation(c);
|
|
|
jffs2_clear_inode(inode);
|
|
|
- posix_acl_release(acl);
|
|
|
return PTR_ERR(fn);
|
|
|
}
|
|
|
/* No data here. Only a metadata node, which will be
|
|
@@ -540,10 +523,9 @@ static int jffs2_mkdir (struct inode *dir_i, struct dentry *dentry, int mode)
|
|
|
ret = jffs2_init_security(inode, dir_i);
|
|
|
if (ret) {
|
|
|
jffs2_clear_inode(inode);
|
|
|
- posix_acl_release(acl);
|
|
|
return ret;
|
|
|
}
|
|
|
- ret = jffs2_init_acl(inode, acl);
|
|
|
+ ret = jffs2_init_acl_post(inode);
|
|
|
if (ret) {
|
|
|
jffs2_clear_inode(inode);
|
|
|
return ret;
|
|
@@ -639,7 +621,6 @@ static int jffs2_mknod (struct inode *dir_i, struct dentry *dentry, int mode, de
|
|
|
union jffs2_device_node dev;
|
|
|
int devlen = 0;
|
|
|
uint32_t alloclen;
|
|
|
- struct posix_acl *acl;
|
|
|
int ret;
|
|
|
|
|
|
if (!new_valid_dev(rdev))
|
|
@@ -666,7 +647,7 @@ static int jffs2_mknod (struct inode *dir_i, struct dentry *dentry, int mode, de
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
- inode = jffs2_new_inode(dir_i, mode, ri, &acl);
|
|
|
+ inode = jffs2_new_inode(dir_i, mode, ri);
|
|
|
|
|
|
if (IS_ERR(inode)) {
|
|
|
jffs2_free_raw_inode(ri);
|
|
@@ -695,7 +676,6 @@ static int jffs2_mknod (struct inode *dir_i, struct dentry *dentry, int mode, de
|
|
|
up(&f->sem);
|
|
|
jffs2_complete_reservation(c);
|
|
|
jffs2_clear_inode(inode);
|
|
|
- posix_acl_release(acl);
|
|
|
return PTR_ERR(fn);
|
|
|
}
|
|
|
/* No data here. Only a metadata node, which will be
|
|
@@ -709,10 +689,9 @@ static int jffs2_mknod (struct inode *dir_i, struct dentry *dentry, int mode, de
|
|
|
ret = jffs2_init_security(inode, dir_i);
|
|
|
if (ret) {
|
|
|
jffs2_clear_inode(inode);
|
|
|
- posix_acl_release(acl);
|
|
|
return ret;
|
|
|
}
|
|
|
- ret = jffs2_init_acl(inode, acl);
|
|
|
+ ret = jffs2_init_acl_post(inode);
|
|
|
if (ret) {
|
|
|
jffs2_clear_inode(inode);
|
|
|
return ret;
|