The below commit disallows to set compression on empty created file which
has a inline_data. Let's fix it.

Fixes: 7165841d578e ("f2fs: fix to check inline_data during compressed inode 
conversion")
Signed-off-by: Jaegeuk Kim <[email protected]>
---
  Change log from v1:
   - add returning an error

 fs/f2fs/file.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 1c4004c9245f..8cd52b0965b1 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -1915,6 +1915,10 @@ static int f2fs_setflags_common(struct inode *inode, u32 
iflags, u32 mask)
                        if (!f2fs_disable_compressed_file(inode))
                                return -EINVAL;
                } else {
+                       /* try to convert inline_data to support compression */
+                       int err = f2fs_convert_inline_inode(inode);
+                       if (err)
+                               return err;
                        if (!f2fs_may_compress(inode))
                                return -EINVAL;
                        if (S_ISREG(inode->i_mode) && F2FS_HAS_BLOCKS(inode))
-- 
2.38.0.135.g90850a2211-goog



_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to