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

Commit ee7075d4 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull device mapper fix from Mike Snitzer:
 "A patch to fix dm-cache-policy-mq's remove_mapping() conflict with
  sparc32"

* tag 'dm-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
  dm cache: avoid conflicting remove_mapping() in mq policy
parents 41aacc1e b936bf8b
Loading
Loading
Loading
Loading
+7 −9
Original line number Original line Diff line number Diff line
@@ -959,23 +959,21 @@ static int mq_walk_mappings(struct dm_cache_policy *p, policy_walk_fn fn,
	return r;
	return r;
}
}


static void remove_mapping(struct mq_policy *mq, dm_oblock_t oblock)
static void mq_remove_mapping(struct dm_cache_policy *p, dm_oblock_t oblock)
{
{
	struct entry *e = hash_lookup(mq, oblock);
	struct mq_policy *mq = to_mq_policy(p);
	struct entry *e;

	mutex_lock(&mq->lock);

	e = hash_lookup(mq, oblock);


	BUG_ON(!e || !e->in_cache);
	BUG_ON(!e || !e->in_cache);


	del(mq, e);
	del(mq, e);
	e->in_cache = false;
	e->in_cache = false;
	push(mq, e);
	push(mq, e);
}


static void mq_remove_mapping(struct dm_cache_policy *p, dm_oblock_t oblock)
{
	struct mq_policy *mq = to_mq_policy(p);

	mutex_lock(&mq->lock);
	remove_mapping(mq, oblock);
	mutex_unlock(&mq->lock);
	mutex_unlock(&mq->lock);
}
}