[dm-devel] dm-cache invalidate_cblocks range parsing

Mears, Morgan Morgan.Mears at netapp.com
Sun Nov 24 02:25:33 UTC 2013


If one specifies a cblock range in the dm-cache invalidate_cblocks message
(commit 65790ff919e2e07ccb4457415c11075b245d643b), the final cblock in the 
range does not get invalidated.  For example, after:

	dmsetup message cache 0 invalidate_cblocks 10-11

cblock 11 will still be in the cache.  The reason is the (begin != end)
check in process_invalidation_request() (dm-cache-target.c); were it to
change to (begin <= end), the final block would be treated like the rest.

However, parse_cblock_range() relies on the current behavior for the single
block case; if the change above were applied, an extra block would be
invalidated for each single-block invalidation request.

So: is the current behavior intentional?

--Morgan





More information about the dm-devel mailing list