Re: [PATCH v2] staging: zcache: support multiple clients, prep forKVM and RAMster

From: Dan Carpenter
Date: Fri Jul 01 2011 - 04:39:39 EST


On Thu, Jun 30, 2011 at 04:28:14PM -0700, Dan Magenheimer wrote:
> Hi Dan --
>
> Thanks for the careful review. You're right... some
> of this was leftover from debugging an off-by-one error,
> though the code as is still works.
>
> OTOH, there's a good chance that much of this sysfs
> code will disappear before zcache would get promoted
> out of staging, since it is to help those experimenting
> with zcache to get more insight into what the underlying
> compression/accept-reject algorithms are doing.
>
> So I hope you (and GregKH) are OK that another version is
> not necessary at this time to fix these.

Off by one errors are kind of insidious. People cut and paste them
and they spread. If someone adds a new list of chunks then there
are now two examples that are correct and two which have an extra
element, so it's 50/50 that he'll copy the right one.

Btw, looking at it again, this seems like maybe a similar issue in
zbud_evict_zbpg():

515 /* now try freeing unbuddied pages, starting with least space avail */
516 for (i = 0; i < MAX_CHUNK; i++) {
517 retry_unbud_list_i:


MAX_CHUNKS is NCHUNKS - 1. Shouldn't that be i < NCHUNKS so that we
reach the last element in the list?

regards,
dan carpenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/