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

Commit ffcbcb67 authored by Heinz Mauelshagen's avatar Heinz Mauelshagen Committed by Mike Snitzer
Browse files

dm cache: optimize commit_if_needed



Check commit_requested flag _before_ calling
dm_cache_changed_this_transaction() superfluously.

Also, be sure to set last_commit_jiffies _after_ dm_cache_commit()
completes.

Signed-off-by: default avatarHeinz Mauelshagen <heinzm@redhat.com>
Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
parent 40c57f47
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -1234,15 +1234,17 @@ static int need_commit_due_to_time(struct cache *cache)

static int commit_if_needed(struct cache *cache)
{
	if (dm_cache_changed_this_transaction(cache->cmd) &&
	    (cache->commit_requested || need_commit_due_to_time(cache))) {
	int r = 0;

	if ((cache->commit_requested || need_commit_due_to_time(cache)) &&
	    dm_cache_changed_this_transaction(cache->cmd)) {
		atomic_inc(&cache->stats.commit_count);
		cache->last_commit_jiffies = jiffies;
		cache->commit_requested = false;
		return dm_cache_commit(cache->cmd, false);
		r = dm_cache_commit(cache->cmd, false);
		cache->last_commit_jiffies = jiffies;
	}

	return 0;
	return r;
}

static void process_deferred_bios(struct cache *cache)