ext4: only set project inherit bit for directory
It doesn't make any sense to have project inherit bits for regular files, even though this won't cause any problem, but it is better fix this. Signed-off-by: Wang Shilong <wshilong@ddn.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Andreas Dilger <adilger@dilger.ca>
This commit is contained in:
parent
02b016ca7f
commit
7ddf79a103
2 changed files with 4 additions and 1 deletions
|
@ -421,7 +421,8 @@ struct flex_groups {
|
||||||
EXT4_PROJINHERIT_FL | EXT4_CASEFOLD_FL)
|
EXT4_PROJINHERIT_FL | EXT4_CASEFOLD_FL)
|
||||||
|
|
||||||
/* Flags that are appropriate for regular files (all but dir-specific ones). */
|
/* Flags that are appropriate for regular files (all but dir-specific ones). */
|
||||||
#define EXT4_REG_FLMASK (~(EXT4_DIRSYNC_FL | EXT4_TOPDIR_FL | EXT4_CASEFOLD_FL))
|
#define EXT4_REG_FLMASK (~(EXT4_DIRSYNC_FL | EXT4_TOPDIR_FL | EXT4_CASEFOLD_FL |\
|
||||||
|
EXT4_PROJINHERIT_FL))
|
||||||
|
|
||||||
/* Flags that are appropriate for non-directories/regular files. */
|
/* Flags that are appropriate for non-directories/regular files. */
|
||||||
#define EXT4_OTHER_FLMASK (EXT4_NODUMP_FL | EXT4_NOATIME_FL)
|
#define EXT4_OTHER_FLMASK (EXT4_NODUMP_FL | EXT4_NOATIME_FL)
|
||||||
|
|
|
@ -779,6 +779,8 @@ long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
||||||
return ext4_ioc_getfsmap(sb, (void __user *)arg);
|
return ext4_ioc_getfsmap(sb, (void __user *)arg);
|
||||||
case EXT4_IOC_GETFLAGS:
|
case EXT4_IOC_GETFLAGS:
|
||||||
flags = ei->i_flags & EXT4_FL_USER_VISIBLE;
|
flags = ei->i_flags & EXT4_FL_USER_VISIBLE;
|
||||||
|
if (S_ISREG(inode->i_mode))
|
||||||
|
flags &= ~EXT4_PROJINHERIT_FL;
|
||||||
return put_user(flags, (int __user *) arg);
|
return put_user(flags, (int __user *) arg);
|
||||||
case EXT4_IOC_SETFLAGS: {
|
case EXT4_IOC_SETFLAGS: {
|
||||||
int err;
|
int err;
|
||||||
|
|
Loading…
Reference in a new issue