f2fs: fix to disable compression on directory
It needs to call f2fs_disable_compressed_file() to disable compression on directory. Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
9b6ed143c1
commit
aa576970fb
@ -3849,10 +3849,12 @@ static inline u64 f2fs_disable_compressed_file(struct inode *inode)
|
|||||||
|
|
||||||
if (!f2fs_compressed_file(inode))
|
if (!f2fs_compressed_file(inode))
|
||||||
return 0;
|
return 0;
|
||||||
|
if (S_ISREG(inode->i_mode)) {
|
||||||
if (get_dirty_pages(inode))
|
if (get_dirty_pages(inode))
|
||||||
return 1;
|
return 1;
|
||||||
if (fi->i_compr_blocks)
|
if (fi->i_compr_blocks)
|
||||||
return fi->i_compr_blocks;
|
return fi->i_compr_blocks;
|
||||||
|
}
|
||||||
|
|
||||||
fi->i_flags &= ~F2FS_COMPR_FL;
|
fi->i_flags &= ~F2FS_COMPR_FL;
|
||||||
stat_dec_compr_inode(inode);
|
stat_dec_compr_inode(inode);
|
||||||
|
@ -1815,7 +1815,7 @@ static int f2fs_setflags_common(struct inode *inode, u32 iflags, u32 mask)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((iflags ^ masked_flags) & F2FS_COMPR_FL) {
|
if ((iflags ^ masked_flags) & F2FS_COMPR_FL) {
|
||||||
if (S_ISREG(inode->i_mode) && (masked_flags & F2FS_COMPR_FL)) {
|
if (masked_flags & F2FS_COMPR_FL) {
|
||||||
if (f2fs_disable_compressed_file(inode))
|
if (f2fs_disable_compressed_file(inode))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user