FORCE = 2,
} update = NO;
- if (auth_object.digest_present && auth_object.omap_digest_present &&
- (!auth_oi.is_data_digest() || !auth_oi.is_omap_digest())) {
- dout(20) << __func__ << " missing digest on " << *k << dendl;
+ if (auth_object.digest_present && !auth_oi.is_data_digest()) {
+ dout(20) << __func__ << " missing data digest on " << *k << dendl;
+ update = MAYBE;
+ }
+ if (auth_object.omap_digest_present && !auth_oi.is_omap_digest()) {
+ dout(20) << __func__ << " missing omap digest on " << *k << dendl;
update = MAYBE;
}
utime_t age = now - auth_oi.local_mtime;
if (update == FORCE ||
age > cct->_conf->osd_deep_scrub_update_digest_min_age) {
- dout(20) << __func__ << " will update digest on " << *k << dendl;
boost::optional<uint32_t> data_digest, omap_digest;
- if (auth_oi.is_data_digest()) {
+ if (auth_object.digest_present) {
data_digest = auth_object.digest;
+ dout(20) << __func__ << " will update data digest on " << *k << dendl;
}
- if (auth_oi.is_omap_digest()) {
+ if (auth_object.omap_digest_present) {
omap_digest = auth_object.omap_digest;
+ dout(20) << __func__ << " will update omap digest on " << *k << dendl;
}
missing_digest[*k] = make_pair(data_digest, omap_digest);
} else {