diff options
author | Jan Kara <jack@suse.cz> | 2016-11-29 11:13:13 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2016-11-29 11:13:13 -0500 |
commit | f8011d93a2d125b812e8b90bedb5be2a00149ac4 (patch) | |
tree | 29ccc3ad8c06bc770754c2118208e3d72ff7a66e /fs/ext4/ioctl.c | |
parent | 9060dd2c5036b12132f9b97e3486ca6422d5bdfc (diff) | |
download | op-kernel-dev-f8011d93a2d125b812e8b90bedb5be2a00149ac4.zip op-kernel-dev-f8011d93a2d125b812e8b90bedb5be2a00149ac4.tar.gz |
ext4: add EXT4_JOURNAL_DATA_FL and EXT4_EXTENTS_FL to modifiable mask
Add EXT4_JOURNAL_DATA_FL and EXT4_EXTENTS_FL to EXT4_FL_USER_MODIFIABLE
to recognize that they are modifiable by userspace. So far we got away
without having them there because ext4_ioctl_setflags() treats them in a
special way. But it was really confusing like that.
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/ioctl.c')
-rw-r--r-- | fs/ext4/ioctl.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c index fc1cd37..834a1c1 100644 --- a/fs/ext4/ioctl.c +++ b/fs/ext4/ioctl.c @@ -268,6 +268,9 @@ static int ext4_ioctl_setflags(struct inode *inode, for (i = 0, mask = 1; i < 32; i++, mask <<= 1) { if (!(mask & EXT4_FL_USER_MODIFIABLE)) continue; + /* These flags get special treatment later */ + if (mask == EXT4_JOURNAL_DATA_FL || mask == EXT4_EXTENTS_FL) + continue; if (mask & flags) ext4_set_inode_flag(inode, i); else |