Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 15c6e3aa authored by Jaegeuk Kim's avatar Jaegeuk Kim
Browse files

f2fs: fix to unlock f2fs_lock at the omitted error case



If it occurs an error, we should call f2fs_unlock_op.

Signed-off-by: default avatarJaegeuk Kim <jaegeuk.kim@samsung.com>
parent 76f60268
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -81,8 +81,10 @@ static int __f2fs_convert_inline_data(struct inode *inode, struct page *page)

	f2fs_lock_op(sbi);
	ipage = get_node_page(sbi, inode->i_ino);
	if (IS_ERR(ipage))
		return PTR_ERR(ipage);
	if (IS_ERR(ipage)) {
		err = PTR_ERR(ipage);
		goto out;
	}

	/*
	 * i_addr[0] is not used for inline data,
@@ -90,10 +92,8 @@ static int __f2fs_convert_inline_data(struct inode *inode, struct page *page)
	 */
	set_new_dnode(&dn, inode, ipage, NULL, 0);
	err = f2fs_reserve_block(&dn, 0);
	if (err) {
		f2fs_unlock_op(sbi);
		return err;
	}
	if (err)
		goto out;

	zero_user_segment(page, MAX_INLINE_DATA, PAGE_CACHE_SIZE);

@@ -118,6 +118,7 @@ static int __f2fs_convert_inline_data(struct inode *inode, struct page *page)

	sync_inode_page(&dn);
	f2fs_put_dnode(&dn);
out:
	f2fs_unlock_op(sbi);
	return err;
}