jffs2: update ctime when changing the file's permission by setfacl
authorJan Kara <jack@suse.cz>
Fri, 4 Jun 2010 15:07:55 +0000 (17:07 +0200)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Sun, 6 Jun 2010 10:27:10 +0000 (11:27 +0100)
jffs2 didn't update the ctime of the file when its permission was changed.

Steps to reproduce:
 # touch aaa
 # stat -c %Z aaa
 1275289822
 # setfacl -m  'u::x,g::x,o::x' aaa
 # stat -c %Z aaa
 1275289822                         <- unchanged

But, according to the spec of the ctime, jffs2 must update it.

Port of ext3 patch by Miao Xie <miaox@cn.fujitsu.com>.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
fs/jffs2/acl.c

index 7cdc3196476ace72ef11fb53bbe80fb86b3dfbeb..64d3b4b48dbfa4a9bd2940ff232266b5791665dd 100644 (file)
@@ -234,8 +234,9 @@ static int jffs2_set_acl(struct inode *inode, int type, struct posix_acl *acl)
                        if (inode->i_mode != mode) {
                                struct iattr attr;
 
-                               attr.ia_valid = ATTR_MODE;
+                               attr.ia_valid = ATTR_MODE | ATTR_CTIME;
                                attr.ia_mode = mode;
+                               attr.ia_ctime = CURRENT_TIME_SEC;
                                rc = jffs2_do_setattr(inode, &attr);
                                if (rc < 0)
                                        return rc;