summaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-cache-policy-mq.c
diff options
context:
space:
mode:
authorKevin Hilman <khilman@linaro.org>2014-01-21 16:55:05 -0800
committerKevin Hilman <khilman@linaro.org>2014-01-21 16:55:17 -0800
commit935b0d622f16538d071af823388c21c2e6f66134 (patch)
treee076fb718a68241d21a73bb338c8e97175187a7e /drivers/md/dm-cache-policy-mq.c
parent310c85476d5047f5ace4d1c527e1bbbc0c7ad672 (diff)
parent30d831156b3a7f249c08cbe457a0d728160db39b (diff)
downloadlinux-935b0d622f16538d071af823388c21c2e6f66134.tar.gz
linux-935b0d622f16538d071af823388c21c2e6f66134.tar.bz2
linux-935b0d622f16538d071af823388c21c2e6f66134.zip
Merge tag 'bcm-for-3.14-dt' of git://github.com/broadcom/bcm11351 into next/dt
From Christian Daudt: Add i2c, usb and clock DT configuration to bcm mobile. * tag 'bcm-for-3.14-dt' of git://github.com/broadcom/bcm11351: (697 commits) clk: bcm281xx: define kona clock binding ARM: dts: add usb udc support to bcm281xx ARM: dts: Specify clocks for timer on bcm11351 Documentation: dt: kona-timer: Add clocks property ARM: dts: Specify clocks for SDHCIs on bcm11351 Documentation: dt: kona-sdhci: Add clocks property ARM: dts: Specify clocks for UARTs on bcm11351 ARM: dts: bcm281xx: Add i2c busses ARM: dts: Declare clocks as fixed on bcm11351 ARM: dts: bcm28155-ap: Enable all the i2c busses +Linux 3.13-rc5 ... Signed-off-by: Kevin Hilman <khilman@linaro.org>
Diffstat (limited to 'drivers/md/dm-cache-policy-mq.c')
-rw-r--r--drivers/md/dm-cache-policy-mq.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/md/dm-cache-policy-mq.c b/drivers/md/dm-cache-policy-mq.c
index 416b7b752a6e..64780ad73bb0 100644
--- a/drivers/md/dm-cache-policy-mq.c
+++ b/drivers/md/dm-cache-policy-mq.c
@@ -730,15 +730,18 @@ static int pre_cache_entry_found(struct mq_policy *mq, struct entry *e,
int r = 0;
bool updated = updated_this_tick(mq, e);
- requeue_and_update_tick(mq, e);
-
if ((!discarded_oblock && updated) ||
- !should_promote(mq, e, discarded_oblock, data_dir))
+ !should_promote(mq, e, discarded_oblock, data_dir)) {
+ requeue_and_update_tick(mq, e);
result->op = POLICY_MISS;
- else if (!can_migrate)
+
+ } else if (!can_migrate)
r = -EWOULDBLOCK;
- else
+
+ else {
+ requeue_and_update_tick(mq, e);
r = pre_cache_to_cache(mq, e, result);
+ }
return r;
}