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

Commit f185ff97 authored by Jaegeuk Kim's avatar Jaegeuk Kim
Browse files

f2fs: don't need to get f2fs_lock_op for the inline_data test



This patch locates checking the inline_data prior to calling f2fs_lock_op()
in truncate_blocks(), since getting the lock is unnecessary.

Signed-off-by: default avatarJaegeuk Kim <jaegeuk.kim@samsung.com>
parent e4024e86
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -261,14 +261,14 @@ static int truncate_blocks(struct inode *inode, u64 from)

	trace_f2fs_truncate_blocks_enter(inode, from);

	if (f2fs_has_inline_data(inode))
		goto done;

	free_from = (pgoff_t)
			((from + blocksize - 1) >> (sbi->log_blocksize));

	f2fs_lock_op(sbi);

	if (f2fs_has_inline_data(inode))
		goto done;

	set_new_dnode(&dn, inode, NULL, NULL, 0);
	err = get_dnode_of_data(&dn, free_from, LOOKUP_NODE);
	if (err) {
@@ -295,9 +295,8 @@ static int truncate_blocks(struct inode *inode, u64 from)
	f2fs_put_dnode(&dn);
free_next:
	err = truncate_inode_blocks(inode, free_from);
done:
	f2fs_unlock_op(sbi);

done:
	/* lastly zero out the first data page */
	truncate_partial_data_page(inode, from);