aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2021-05-25 12:00:46 -0700
committerJaegeuk Kim <jaegeuk@kernel.org>2021-05-26 10:07:46 -0700
commit820b5e3723be20b776a36a635c0aff2c84fea6bb (patch)
treefb2ee55b03473866e190337b2cc975ab50c8be0e
parent1d2683f551c6d78c325dac7526dea3571879b845 (diff)
downloadf2fs-tools-820b5e3723be20b776a36a635c0aff2c84fea6bb.tar.gz
sload.f2fs: use F2FS_COMPRESS_RELEASED instead of IMMUTABLE bit
Let's use F2FS_COMPRESS_RELEASED to disallow writes only. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r--fsck/segment.c6
-rw-r--r--include/f2fs_fs.h2
2 files changed, 5 insertions, 3 deletions
diff --git a/fsck/segment.c b/fsck/segment.c
index 0b25736..0156690 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 4c1d06c..8969ae2 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)