};
#undef X
const struct u32_scrub *f;
+ uint32_t needrepair = hme->e.fs.mask;
foreach_scrub_type(f, hme->e.fs.mask, FS_STRUCTURES) {
enum repair_outcome outcome =
if (outcome == REPAIR_FAILED)
return NEED_FULL_REPAIR;
+
+ needrepair &= ~f->event_mask;
}
+ if (needrepair)
+ return NEED_FULL_REPAIR;
return REPAIR_DONE;
}
{0, 0},
};
#undef X
- const struct u32_scrub *f;
+ const struct u32_scrub *f;
+ uint32_t needrepair = hme->e.group.mask;
foreach_scrub_type(f, hme->e.group.mask, AG_STRUCTURES) {
enum repair_outcome outcome =
if (outcome == REPAIR_FAILED)
return NEED_FULL_REPAIR;
+
+ needrepair &= ~f->event_mask;
}
+ if (needrepair)
+ return NEED_FULL_REPAIR;
return REPAIR_DONE;
}
{0, 0},
};
#undef X
- const struct u32_scrub *f;
+ const struct u32_scrub *f;
+ uint32_t needrepair = hme->e.group.mask;
foreach_scrub_type(f, hme->e.group.mask, RTG_STRUCTURES) {
enum repair_outcome outcome =
if (outcome == REPAIR_FAILED)
return NEED_FULL_REPAIR;
+
+ needrepair &= ~f->event_mask;
}
+ if (needrepair)
+ return NEED_FULL_REPAIR;
return REPAIR_DONE;
}
struct hme_prefix new_pfx = { };
const struct hme_prefix *pfx = orig_pfx;
const struct u32_scrub *f;
+ uint32_t needrepair = hme->e.inode.mask;
foreach_scrub_type(f, hme->e.inode.mask, INODE_STRUCTURES) {
enum repair_outcome outcome =
if (outcome == REPAIR_FAILED)
return NEED_FULL_REPAIR;
+
+ needrepair &= ~f->event_mask;
}
+ if (needrepair)
+ return NEED_FULL_REPAIR;
return REPAIR_DONE;
}