f2fs: skip if inline_data was converted already
This patch checks inline_data one more time under the inode page lock whether its inline_data is converted or not. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
202095a7a0
commit
ec4e7af4ca
|
@ -68,7 +68,7 @@ out:
|
||||||
|
|
||||||
static int __f2fs_convert_inline_data(struct inode *inode, struct page *page)
|
static int __f2fs_convert_inline_data(struct inode *inode, struct page *page)
|
||||||
{
|
{
|
||||||
int err;
|
int err = 0;
|
||||||
struct page *ipage;
|
struct page *ipage;
|
||||||
struct dnode_of_data dn;
|
struct dnode_of_data dn;
|
||||||
void *src_addr, *dst_addr;
|
void *src_addr, *dst_addr;
|
||||||
|
@ -86,6 +86,10 @@ static int __f2fs_convert_inline_data(struct inode *inode, struct page *page)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* someone else converted inline_data already */
|
||||||
|
if (!f2fs_has_inline_data(inode))
|
||||||
|
goto out;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* i_addr[0] is not used for inline data,
|
* i_addr[0] is not used for inline data,
|
||||||
* so reserving new block will not destroy inline data
|
* so reserving new block will not destroy inline data
|
||||||
|
|
Loading…
Reference in New Issue