This fixes lost i_inline flags during roll-forward. Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org> --- 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