Re: [f2fs-dev] [PATCH 2/2] f2fs: recover some i_inline flags

2018-01-20 Thread Chao Yu
On 2018/1/20 12:26, Jaegeuk Kim wrote:
> This fixes lost i_inline flags during roll-forward.
> 
> Signed-off-by: Jaegeuk Kim 
> ---
>  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;

How about adding recover_inline_flags() including below changes?

>  
> + if (raw->i_inline & F2FS_PIN_FILE)
> + set_inode_flag(inode, FI_PIN_FILE);

else
clear_inode_flag(inode, FI_PIN_FILE); ?

Thanks,

> + 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 = "";
>   else
> 


Re: [f2fs-dev] [PATCH 2/2] f2fs: recover some i_inline flags

2018-01-20 Thread Chao Yu
On 2018/1/20 12:26, Jaegeuk Kim wrote:
> This fixes lost i_inline flags during roll-forward.
> 
> Signed-off-by: Jaegeuk Kim 
> ---
>  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;

How about adding recover_inline_flags() including below changes?

>  
> + if (raw->i_inline & F2FS_PIN_FILE)
> + set_inode_flag(inode, FI_PIN_FILE);

else
clear_inode_flag(inode, FI_PIN_FILE); ?

Thanks,

> + 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 = "";
>   else
> 


[PATCH 2/2] f2fs: recover some i_inline flags

2018-01-19 Thread Jaegeuk Kim
This fixes lost i_inline flags during roll-forward.

Signed-off-by: Jaegeuk Kim 
---
 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 = "";
else
-- 
2.15.0.531.g2ccb3012c9-goog



[PATCH 2/2] f2fs: recover some i_inline flags

2018-01-19 Thread Jaegeuk Kim
This fixes lost i_inline flags during roll-forward.

Signed-off-by: Jaegeuk Kim 
---
 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 = "";
else
-- 
2.15.0.531.g2ccb3012c9-goog