3.16.49-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Jaegeuk Kim <[email protected]>

commit 93607124c5450148e592c3d18ac533b4e5f25b8b upstream.

This patch fixes missing inode flag loaded from disk, reported by Tom.

[tom@localhost ~]$ sudo mount /dev/loop0 /mnt/
[tom@localhost ~]$ sudo chown tom:tom /mnt/
[tom@localhost ~]$ touch /mnt/testfile
[tom@localhost ~]$ sudo chattr +i /mnt/testfile
[tom@localhost ~]$ echo test > /mnt/testfile
bash: /mnt/testfile: Operation not permitted
[tom@localhost ~]$ rm /mnt/testfile
rm: cannot remove '/mnt/testfile': Operation not permitted
[tom@localhost ~]$ sudo umount /mnt/
[tom@localhost ~]$ sudo mount /dev/loop0 /mnt/
[tom@localhost ~]$ lsattr /mnt/testfile
----i-------------- /mnt/testfile
[tom@localhost ~]$ echo test > /mnt/testfile
[tom@localhost ~]$ rm /mnt/testfile
[tom@localhost ~]$ sudo umount /mnt/

Reported-by: Tom Yan <[email protected]>
Signed-off-by: Jaegeuk Kim <[email protected]>
[bwh: Backported to 3.16: mark_inode_dirty() is in the right place, so only
 f2fs_iget() needs to be changed]
Signed-off-by: Ben Hutchings <[email protected]>
---
--- a/fs/f2fs/inode.c
+++ b/fs/f2fs/inode.c
@@ -168,6 +168,7 @@ make_now:
                ret = -EIO;
                goto bad_inode;
        }
+       f2fs_set_inode_flags(inode);
        unlock_new_inode(inode);
        trace_f2fs_iget(inode);
        return inode;

Reply via email to