Merge tag 'dm-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
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
This commit is contained in:
@@ -959,23 +959,21 @@ out:
|
|||||||
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user