Found by "Supriti Singh" <Supriti.Singh@suse.com>.
Fixes http://tracker.ceph.com/issues/20663
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
v = lat.p->cache[slot];
if (v) {
if (CEQ()(*v, k)) {
- if (flags & (FLAG_LOCK|FLAG_UNLOCK))
+ if ((flags & FLAG_LOCK) && (flags & FLAG_UNLOCK))
lat.lock->unlock();
return v;
}
lat.p->cache[slot] = v;
}
}
- if (flags & (FLAG_LOCK|FLAG_UNLOCK))
+ if ((flags & FLAG_LOCK) && (flags & FLAG_UNLOCK))
lat.lock->unlock();
return v;
} /* find_latch */