RE: [f2fs-dev] [PATCH 05/13] f2fs: should clear the inline_xattr flag
From: Chao Yu
Date: Wed Aug 13 2014 - 06:20:35 EST
> -----Original Message-----
> From: Jaegeuk Kim [mailto:jaegeuk@xxxxxxxxxx]
> Sent: Wednesday, August 13, 2014 3:49 AM
> To: linux-kernel@xxxxxxxxxxxxxxx; linux-fsdevel@xxxxxxxxxxxxxxx;
> linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx
> Cc: Jaegeuk Kim
> Subject: [f2fs-dev] [PATCH 05/13] f2fs: should clear the inline_xattr flag
>
> During the recovery, we should clear the inline_xattr flag if its xattr node
> block is recovered.
>
> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx>
> ---
> fs/f2fs/node.c | 15 +++++++--------
> 1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
> index 093d799..151045f 100644
> --- a/fs/f2fs/node.c
> +++ b/fs/f2fs/node.c
> @@ -1557,26 +1557,25 @@ void recover_inline_xattr(struct inode *inode, struct page *page)
> struct page *ipage;
> struct f2fs_inode *ri;
>
> - if (!f2fs_has_inline_xattr(inode))
> - return;
> -
> if (!IS_INODE(page))
> return;
>
> - ri = F2FS_INODE(page);
> - if (!(ri->i_inline & F2FS_INLINE_XATTR))
> - return;
> -
> ipage = get_node_page(sbi, inode->i_ino);
> f2fs_bug_on(IS_ERR(ipage));
>
> + ri = F2FS_INODE(page);
> + if (!(ri->i_inline & F2FS_INLINE_XATTR)) {
> + clear_inode_flag(F2FS_I(inode), FI_INLINE_XATTR);
> + goto update_inode;
> + }
> +
> dst_addr = inline_xattr_addr(ipage);
> src_addr = inline_xattr_addr(page);
> inline_size = inline_xattr_size(inode);
>
> f2fs_wait_on_page_writeback(ipage, NODE);
> memcpy(dst_addr, src_addr, inline_size);
> -
> +update_inode:
> update_inode(inode, ipage);
> f2fs_put_page(ipage, 1);
> }
> --
> 1.8.5.2 (Apple Git-48)
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Linux-f2fs-devel mailing list
> Linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/