Let's use F2FS_COMPRESS_RELEASED to disallow writes only.

Signed-off-by: Jaegeuk Kim <[email protected]>
---
 fsck/segment.c    | 6 +++---
 include/f2fs_fs.h | 2 ++
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/fsck/segment.c b/fsck/segment.c
index 0b257364fd5b..0156690ed9aa 100644
--- a/fsck/segment.c
+++ b/fsck/segment.c
@@ -521,9 +521,9 @@ int f2fs_build_file(struct f2fs_sb_info *sbi, struct dentry 
*de)
                node_blk->i.i_compress_algrithm = c.compress.alg;
                node_blk->i.i_log_cluster_size =
                                c.compress.cc.log_cluster_size;
-               node_blk->i.i_flags = cpu_to_le32(
-                               F2FS_COMPR_FL |
-                               (c.compress.readonly ? FS_IMMUTABLE_FL : 0));
+               node_blk->i.i_flags = cpu_to_le32(F2FS_COMPR_FL);
+               if (c.compress.readonly)
+                       node_blk->i.i_inline |= F2FS_COMPRESS_RELEASED;
                ASSERT(write_inode(node_blk, ni.blk_addr) >= 0);
 
                while (!eof && (n = bulkread(fd, rbuf, c.compress.cc.rlen,
diff --git a/include/f2fs_fs.h b/include/f2fs_fs.h
index 4c1d06cdae39..8969ae2ebc34 100644
--- a/include/f2fs_fs.h
+++ b/include/f2fs_fs.h
@@ -889,6 +889,8 @@ struct f2fs_extent {
 #define F2FS_DATA_EXIST                0x08    /* file inline data exist flag 
*/
 #define F2FS_INLINE_DOTS       0x10    /* file having implicit dot dentries */
 #define F2FS_EXTRA_ATTR                0x20    /* file having extra attribute 
*/
+#define F2FS_PIN_FILE          0x40    /* file should not be gced */
+#define F2FS_COMPRESS_RELEASED 0x80    /* file released compressed blocks */
 
 #if !defined(offsetof)
 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
-- 
2.32.0.rc0.204.g9fa02ecfa5-goog



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

Reply via email to