• Eric Biggers's avatar
    f2fs: separate f2fs i_flags from fs_flags and ext4 i_flags · 36098557
    Eric Biggers authored
    f2fs copied all the on-disk i_flags from ext4, and along with it the
    assumption that the on-disk i_flags are the same as the bits used by
    FS_IOC_GETFLAGS and FS_IOC_SETFLAGS.  This is problematic because
    reserving an on-disk inode flag in either filesystem's i_flags or in
    these ioctls effectively reserves it in all the other places too.  In
    fact, most of the "f2fs i_flags" are not used by f2fs at all.
    
    Fix this by separating f2fs's i_flags from the ioctl bits and ext4's
    i_flags.
    
    In the process, un-reserve all "f2fs i_flags" that aren't actually
    supported by f2fs.  This included various flags that were not settable
    at all, as well as various flags that were settable by FS_IOC_SETFLAGS
    but didn't actually do anything.
    
    There's a slight chance we'll need to add some flag(s) back to
    FS_IOC_SETFLAGS in order to avoid breaking users who expect f2fs to
    accept some random flag(s).  But hopefully such users don't exist.
    Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
    Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
    Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
    36098557
f2fs.h 115 KB