/* get the start and end of our scrub chunk
*
* Our scrub chunk has an important restriction we're going to need to
- * respect. We can't let head or snapdir be start or end.
- * Using a half-open interval means that if end == head|snapdir,
+ * respect. We can't let head be start or end.
+ * Using a half-open interval means that if end == head,
* we'd scrub/lock head and the clone right next to head in different
* chunks which would allow us to miss clones created between
* scrubbing that chunk and scrubbing the chunk including head.
if (!objects.empty()) {
hobject_t back = objects.back();
- while (candidate_end.has_snapset() &&
- candidate_end.get_head() == back.get_head()) {
+ while (candidate_end.is_head() &&
+ candidate_end == back.get_head()) {
candidate_end = back;
objects.pop_back();
if (objects.empty()) {
}
back = objects.back();
}
- if (candidate_end.has_snapset()) {
- assert(candidate_end.get_head() != back.get_head());
+ if (candidate_end.is_head()) {
+ assert(candidate_end != back.get_head());
candidate_end = candidate_end.get_object_boundary();
}
} else {
int num_digest_updates_pending;
// chunky scrub
- hobject_t start, end;
+ hobject_t start, end; // [start,end)
eversion_t subset_last_update;
// chunky scrub state