Create crawling threads which crawl objects in base pool and deduplicate
based on their deduplication efficiency. Crawler samples objects and finds
duplicated chunks within the samples. It regards an object which has
duplicated chunks higher than object_dedup_threshold value as an efficient
object to be deduplicated. Besides the chunk which is duplicated more than
chunk_dedup_threshold times is also deduplicated.
The commit contains basic crawling which crawls all objects in base pool
instead of sampling among the objects.
[usage]
ceph_dedup_tool --op sample-dedup --pool POOL --chunk-pool POOL \
--chunk-altorithm ALGO --fingerprint-algorithm FP \
--object-dedup-threshold <percentile> --chunk-dedup-threshold <number>