static int smq_writeback_work(struct dm_cache_policy *p, dm_oblock_t *oblock, dm_cblock_t *cblock, bool critical_only) { int r; struct smq_policy *mq = to_smq_policy(p); mutex_lock(&mq->lock); r = __smq_writeback_work(mq, oblock, cblock, critical_only); mutex_unlock(&mq->lock); return r; }
static int smq_writeback_work(struct dm_cache_policy *p, dm_oblock_t *oblock, dm_cblock_t *cblock, bool critical_only) { int r; unsigned long flags; struct smq_policy *mq = to_smq_policy(p); spin_lock_irqsave(&mq->lock, flags); r = __smq_writeback_work(mq, oblock, cblock, critical_only); spin_unlock_irqrestore(&mq->lock, flags); return r; }