lru_cache.c (drbd-9.1.8) | : | lru_cache.c (drbd-9.1.9) | ||
---|---|---|---|---|
skipping to change at line 128 | skipping to change at line 128 | |||
e->lc_index = i; | e->lc_index = i; | |||
e->lc_number = LC_FREE; | e->lc_number = LC_FREE; | |||
e->lc_new_number = LC_FREE; | e->lc_new_number = LC_FREE; | |||
list_add(&e->list, &lc->free); | list_add(&e->list, &lc->free); | |||
element[i] = e; | element[i] = e; | |||
} | } | |||
if (i == e_count) | if (i == e_count) | |||
return lc; | return lc; | |||
/* else: could not allocate all elements, give up */ | /* else: could not allocate all elements, give up */ | |||
for (i--; i; i--) { | while (i--) { | |||
void *p = element[i]; | void *p = element[i]; | |||
kmem_cache_free(cache, (unsigned char *)p - e_off); | kmem_cache_free(cache, (unsigned char *)p - e_off); | |||
} | } | |||
kfree(lc); | kfree(lc); | |||
out_fail: | out_fail: | |||
kfree(element); | kfree(element); | |||
kfree(slot); | kfree(slot); | |||
return NULL; | return NULL; | |||
} | } | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added |