diff options
Diffstat (limited to 'fs/jffs2/fs.c')
| -rw-r--r-- | fs/jffs2/fs.c | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/fs/jffs2/fs.c b/fs/jffs2/fs.c index ed85f9afdbc8..d2e06f7ea96f 100644 --- a/fs/jffs2/fs.c +++ b/fs/jffs2/fs.c | |||
| @@ -402,8 +402,7 @@ void jffs2_write_super (struct super_block *sb) | |||
| 402 | 402 | ||
| 403 | /* jffs2_new_inode: allocate a new inode and inocache, add it to the hash, | 403 | /* jffs2_new_inode: allocate a new inode and inocache, add it to the hash, |
| 404 | fill in the raw_inode while you're at it. */ | 404 | fill in the raw_inode while you're at it. */ |
| 405 | struct inode *jffs2_new_inode (struct inode *dir_i, int mode, struct jffs2_raw_inode *ri, | 405 | struct inode *jffs2_new_inode (struct inode *dir_i, int mode, struct jffs2_raw_inode *ri) |
| 406 | struct posix_acl **acl) | ||
| 407 | { | 406 | { |
| 408 | struct inode *inode; | 407 | struct inode *inode; |
| 409 | struct super_block *sb = dir_i->i_sb; | 408 | struct super_block *sb = dir_i->i_sb; |
| @@ -438,19 +437,11 @@ struct inode *jffs2_new_inode (struct inode *dir_i, int mode, struct jffs2_raw_i | |||
| 438 | 437 | ||
| 439 | /* POSIX ACLs have to be processed now, at least partly. | 438 | /* POSIX ACLs have to be processed now, at least partly. |
| 440 | The umask is only applied if there's no default ACL */ | 439 | The umask is only applied if there's no default ACL */ |
| 441 | if (!S_ISLNK(mode)) { | 440 | ret = jffs2_init_acl_pre(dir_i, inode, &mode); |
| 442 | *acl = jffs2_get_acl(dir_i, ACL_TYPE_DEFAULT); | 441 | if (ret) { |
| 443 | if (IS_ERR(*acl)) { | 442 | make_bad_inode(inode); |
| 444 | make_bad_inode(inode); | 443 | iput(inode); |
| 445 | iput(inode); | 444 | return ERR_PTR(ret); |
| 446 | inode = (void *)*acl; | ||
| 447 | *acl = NULL; | ||
| 448 | return inode; | ||
| 449 | } | ||
| 450 | if (!(*acl)) | ||
| 451 | mode &= ~current->fs->umask; | ||
| 452 | } else { | ||
| 453 | *acl = NULL; | ||
| 454 | } | 445 | } |
| 455 | ret = jffs2_do_new_inode (c, f, mode, ri); | 446 | ret = jffs2_do_new_inode (c, f, mode, ri); |
| 456 | if (ret) { | 447 | if (ret) { |
