diff --git a/drivers/md/dm-cache-policy-hints.c b/drivers/md/dm-cache-policy-hints.c index 321d3b0..679eea4 100644 --- a/drivers/md/dm-cache-policy-hints.c +++ b/drivers/md/dm-cache-policy-hints.c @@ -102,7 +102,8 @@ static void free_hash(struct hash *hash) } /* Free/alloc basic cache entry structures. */ -static void __free_cache_entries(struct list_head *q) { +static void __free_cache_entries(struct list_head *q) +{ struct entry *e; while ((e = queue_pop(q))) @@ -447,9 +448,11 @@ static void calc_hint_value_counters(struct policy *p) /* Macro to set hint ptr for width on LHS based on RHS width<<1 */ #define PTR_INC(lhs, rhs, c) \ - inc = 2 * p->hint_counter[c]; \ - ptrs->le ## lhs ## _hints = (__le ## lhs *) ptrs->le ## rhs ## _hints + inc; \ - ptrs->u ## lhs ## _hints = (uint ## lhs ## _t *) ptrs->u ## rhs ## _hints + inc; + do { \ + inc = 2 * p->hint_counter[c]; \ + ptrs->le ## lhs ## _hints = (__le ## lhs *) ptrs->le ## rhs ## _hints + inc; \ + ptrs->u ## lhs ## _hints = (uint ## lhs ## _t *) ptrs->u ## rhs ## _hints + inc; \ + } while (0) static void set_hints_ptrs(struct policy *p, struct hints_ptrs *ptrs) { @@ -460,7 +463,7 @@ static void set_hints_ptrs(struct policy *p, struct hints_ptrs *ptrs) PTR_INC(32, 64, 3) PTR_INC(16, 32, 2) - PTR_INC( 8, 16, 1) + PTR_INC(8, 16, 1) } static void __hints_xfer_disk(struct policy *p, bool to_disk) @@ -552,7 +555,7 @@ static int hints_walk_mappings(struct dm_cache_policy *pe, policy_walk_fn fn, vo mutex_lock(&p->lock); list_for_each_entry(e, &p->queues.used, list) { - r = fn(context, e->cblock, e->oblock, (void*) p->hints_buffer); + r = fn(context, e->cblock, e->oblock, (void *) p->hints_buffer); if (r) break; } @@ -563,7 +566,7 @@ static int hints_walk_mappings(struct dm_cache_policy *pe, policy_walk_fn fn, vo } static struct entry *__hints_force_remove_mapping(struct policy *p, - dm_oblock_t oblock) + dm_oblock_t oblock) { struct entry *e = lookup_cache_entry(p, oblock);