sload.f2fs: use F2FS_COMPRESS_RELEASED instead of IMMUTABLE bit
authorJaegeuk Kim <jaegeuk@kernel.org>
Tue, 25 May 2021 19:00:46 +0000 (12:00 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Wed, 26 May 2021 17:07:46 +0000 (10:07 -0700)
Let's use F2FS_COMPRESS_RELEASED to disallow writes only.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fsck/segment.c
include/f2fs_fs.h

index 0b25736..0156690 100644 (file)
@@ -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,
index 4c1d06c..8969ae2 100644 (file)
@@ -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)