On 03/10, Yunlei He wrote:
> If an encrypted block has been read to memory, we just dirty it
> and return directly.
> 
> Signed-off-by: Yunlei He <heyun...@huawei.com>
> ---
>  fs/f2fs/gc.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
> index 418fd98..ca94518 100644
> --- a/fs/f2fs/gc.c
> +++ b/fs/f2fs/gc.c
> @@ -564,7 +564,7 @@ static bool is_alive(struct f2fs_sb_info *sbi, struct 
> f2fs_summary *sum,
>  }
>  
>  static void move_encrypted_block(struct inode *inode, block_t bidx,
> -                                                     unsigned int segno, int 
> off)
> +                                     int gc_type, unsigned int segno, int 
> off)
>  {
>       struct f2fs_io_info fio = {
>               .sbi = F2FS_I_SB(inode),
> @@ -607,6 +607,12 @@ static void move_encrypted_block(struct inode *inode, 
> block_t bidx,
>        */
>       f2fs_wait_on_page_writeback(page, DATA, true);
>  
> +     if (gc_type == BG_GC && PageUptodate(page) &&
> +                             fscrypt_has_encryption_key(inode)) {

Why do we need the encryption key?

Thanks,

> +             set_page_dirty(page);
> +             goto put_out;
> +     }
> +
>       get_node_info(fio.sbi, dn.nid, &ni);
>       set_summary(&sum, dn.nid, dn.ofs_in_node, ni.version);
>  
> @@ -827,7 +833,8 @@ static void gc_data_segment(struct f2fs_sb_info *sbi, 
> struct f2fs_summary *sum,
>                       start_bidx = start_bidx_of_node(nofs, inode)
>                                                               + ofs_in_node;
>                       if (f2fs_encrypted_inode(inode) && 
> S_ISREG(inode->i_mode))
> -                             move_encrypted_block(inode, start_bidx, segno, 
> off);
> +                             move_encrypted_block(inode, start_bidx,
> +                                                             gc_type, segno, 
> off);
>                       else
>                               move_data_page(inode, start_bidx, gc_type, 
> segno, off);
>  
> -- 
> 2.10.1
> 
> 
> ------------------------------------------------------------------------------
> Announcing the Oxford Dictionaries API! The API offers world-renowned
> dictionary content that is easy and intuitive to access. Sign up for an
> account today to start using our lexical data to power your apps and
> projects. Get started today and enter our developer competition.
> http://sdm.link/oxford
> _______________________________________________
> Linux-f2fs-devel mailing list
> Linux-f2fs-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to