Commit ee7075d45f57f90a42e61e016562ce8065668201

Authored by Linus Torvalds

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

Showing 1 changed file Side-by-side Diff

drivers/md/dm-cache-policy-mq.c
... ... @@ -959,23 +959,21 @@
959 959 return r;
960 960 }
961 961  
962   -static void remove_mapping(struct mq_policy *mq, dm_oblock_t oblock)
  962 +static void mq_remove_mapping(struct dm_cache_policy *p, dm_oblock_t oblock)
963 963 {
964   - struct entry *e = hash_lookup(mq, oblock);
  964 + struct mq_policy *mq = to_mq_policy(p);
  965 + struct entry *e;
965 966  
  967 + mutex_lock(&mq->lock);
  968 +
  969 + e = hash_lookup(mq, oblock);
  970 +
966 971 BUG_ON(!e || !e->in_cache);
967 972  
968 973 del(mq, e);
969 974 e->in_cache = false;
970 975 push(mq, e);
971   -}
972 976  
973   -static void mq_remove_mapping(struct dm_cache_policy *p, dm_oblock_t oblock)
974   -{
975   - struct mq_policy *mq = to_mq_policy(p);
976   -
977   - mutex_lock(&mq->lock);
978   - remove_mapping(mq, oblock);
979 977 mutex_unlock(&mq->lock);
980 978 }
981 979