_scrub must set head when it encounters a head snap
curclone counts down, not up
Signed-off-by: Samuel Just <samuelj@hq.newdream.net>
// what will be next?
if (snapset.clones.empty())
head = sobject_t(); // no clones.
- else
+ else {
curclone = snapset.clones.size()-1;
+ head = p->first;
+ }
// subtract off any clone overlap
for (map<snapid_t,interval_set<uint64_t> >::iterator q = snapset.clone_overlap.begin();
// ...
// what's next?
- curclone++;
- if (curclone == snapset.clones.size())
+ if (curclone == 0)
head = sobject_t();
+ else
+ curclone--;
} else {
// it's unversioned.