Commit 17d7c4f3 authored by Nils Goroll's avatar Nils Goroll

When we see a segment overrun, re-check if VSM still valid

Trying to tackle #2460
parent 94209b58
......@@ -128,8 +128,12 @@ vslc_vsm_next(const struct VSL_cursor *cursor)
while (1) {
i = vslc_vsm_check(&c->cursor, &c->next);
if (i <= 0)
return (-3); /* Overrun */
if (i <= 0) {
if (VSM_StillValid(c->vsm, &c->vf) != VSM_valid)
return (-2); /* VSL abandoned */
else
return (-3); /* Overrun */
}
t = *(volatile const uint32_t *)c->next.ptr;
AN(t);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment