f2fs: allow to clear F2FS_COMPR_FL flag
If regular inode has no compressed cluster, allow using 'chattr -c' to remove its compress flag, recovering it to a non-compressed file. Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
6cfdf15fdb
commit
2536ac6872
|
@ -1817,10 +1817,10 @@ static int f2fs_setflags_common(struct inode *inode, u32 iflags, u32 mask)
|
|||
}
|
||||
|
||||
if ((iflags ^ masked_flags) & F2FS_COMPR_FL) {
|
||||
if (S_ISREG(inode->i_mode) &&
|
||||
(masked_flags & F2FS_COMPR_FL || i_size_read(inode) ||
|
||||
F2FS_HAS_BLOCKS(inode)))
|
||||
return -EINVAL;
|
||||
if (S_ISREG(inode->i_mode) && (masked_flags & F2FS_COMPR_FL)) {
|
||||
if (f2fs_disable_compressed_file(inode))
|
||||
return -EINVAL;
|
||||
}
|
||||
if (iflags & F2FS_NOCOMP_FL)
|
||||
return -EINVAL;
|
||||
if (iflags & F2FS_COMPR_FL) {
|
||||
|
|
Loading…
Reference in New Issue