[PATCH 2/2] f2fs: recover some i_inline flags
From: Jaegeuk Kim
Date: Fri Jan 19 2018 - 23:27:57 EST
This fixes lost i_inline flags during roll-forward.
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
---
fs/f2fs/recovery.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/fs/f2fs/recovery.c b/fs/f2fs/recovery.c
index cbeef73bc4dd..2354f1e05e19 100644
--- a/fs/f2fs/recovery.c
+++ b/fs/f2fs/recovery.c
@@ -211,6 +211,15 @@ static void recover_inode(struct inode *inode, struct page *page)
F2FS_I(inode)->i_advise = raw->i_advise;
+ if (raw->i_inline & F2FS_PIN_FILE)
+ set_inode_flag(inode, FI_PIN_FILE);
+ if (raw->i_inline & F2FS_DATA_EXIST)
+ set_inode_flag(inode, FI_DATA_EXIST);
+ else
+ clear_inode_flag(inode, FI_DATA_EXIST);
+ if (!(raw->i_inline & F2FS_INLINE_DOTS))
+ clear_inode_flag(inode, FI_INLINE_DOTS);
+
if (file_enc_name(inode))
name = "<encrypted>";
else
--
2.15.0.531.g2ccb3012c9-goog