On Sun, Oct 21 2018 at 9:18am -0400, shenghui <shhuiw@xxxxxxxxxxx> wrote: > Hi Mikulas, > > Sorry to trouble you again. > > I'm reading the source code of dm-writecache, and noticed: > ----------------------------------------------------- > static struct wc_memory_entry *memory_entry(struct dm_writecache *wc, struct wc_entry *e) > { > if (is_power_of_2(sizeof(struct wc_entry)) && 0) // why this? > return &sb(wc)->entries[e - wc->entries]; > else > return &sb(wc)->entries[e->index]; > } > > Seems there is something wrong with the if condition, right? Certainly looks very wrong. I've staged this fix: https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git/commit/?h=dm-4.20&id=da4ad3a23af3d7f357b24b33e9fec7531b59ee49 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel