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

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

f2fs: run fstrim asynchronously if runtime discard is on



We don't need to wait for whole bunch of discard candidates in fstrim, since
runtime discard will issue them in idle time.

Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent 0643d71e
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -2520,9 +2520,18 @@ int f2fs_trim_fs(struct f2fs_sb_info *sbi, struct fstrim_range *range)

	__init_discard_policy(sbi, &dpolicy, DPOLICY_FSTRIM, cpc.trim_minlen);
	__issue_discard_cmd_range(sbi, &dpolicy, start_block, end_block);

	/*
	 * We filed discard candidates, but actually we don't need to wait for
	 * all of them, since they'll be issued in idle time along with runtime
	 * discard option. User configuration looks like using runtime discard
	 * or periodic fstrim instead of it.
	 */
	if (!test_opt(sbi, DISCARD)) {
		trimmed = __wait_discard_cmd_range(sbi, &dpolicy,
					start_block, end_block);
		range->len = F2FS_BLK_TO_BYTES(trimmed);
	}
out:
	return err;
}