diff --git a/fs/jffs2/acl.c b/fs/jffs2/acl.c
index a46101e..6f7b7cc 100644
|
a
|
b
|
|
| 21 | 21 | #include <linux/mtd/mtd.h> |
| 22 | 22 | #include "nodelist.h" |
| 23 | 23 | |
| | 24 | static int jffs2_acl_set_i_mode(struct inode *inode) |
| | 25 | { |
| | 26 | struct iattr iattr; |
| | 27 | |
| | 28 | iattr.ia_valid = ATTR_MODE; |
| | 29 | iattr.ia_mode = inode->i_mode; |
| | 30 | |
| | 31 | return jffs2_do_setattr(inode, &iattr); |
| | 32 | } |
| | 33 | |
| 24 | 34 | static size_t jffs2_acl_size(int count) |
| 25 | 35 | { |
| 26 | 36 | if (count <= 4) { |
| … |
… |
|
| 248 | 258 | return rc; |
| 249 | 259 | if (inode->i_mode != mode) { |
| 250 | 260 | inode->i_mode = mode; |
| 251 | | jffs2_dirty_inode(inode); |
| | 261 | jffs2_acl_set_i_mode(inode); |
| 252 | 262 | } |
| 253 | 263 | if (rc == 0) |
| 254 | 264 | acl = NULL; |
| … |
… |
|
| 320 | 330 | acl = jffs2_get_acl(dir, ACL_TYPE_DEFAULT); |
| 321 | 331 | if (IS_ERR(acl)) |
| 322 | 332 | return PTR_ERR(acl); |
| 323 | | if (!acl) |
| | 333 | if (!acl) { |
| 324 | 334 | inode->i_mode &= ~current->fs->umask; |
| | 335 | jffs2_acl_set_i_mode(inode); |
| | 336 | } |
| 325 | 337 | } |
| 326 | 338 | if (acl) { |
| 327 | 339 | if (S_ISDIR(inode->i_mode)) { |
diff --git a/fs/jffs2/fs.c b/fs/jffs2/fs.c
index 1d3b7a9..dd50a25 100644
|
a
|
b
|
|
| 24 | 24 | |
| 25 | 25 | static int jffs2_flash_setup(struct jffs2_sb_info *c); |
| 26 | 26 | |
| 27 | | static int jffs2_do_setattr (struct inode *inode, struct iattr *iattr) |
| | 27 | int jffs2_do_setattr (struct inode *inode, struct iattr *iattr) |
| 28 | 28 | { |
| 29 | 29 | struct jffs2_full_dnode *old_metadata, *new_metadata; |
| 30 | 30 | struct jffs2_inode_info *f = JFFS2_INODE_INFO(inode); |