- Set missing flag when initiating a plex rebuild with the rebuildparity

command.
- Check if plex is already syncing or rebuilding before initiating a parity
  rebuild or check.
This commit is contained in:
Ulf Lilleengen 2010-03-08 21:16:28 +00:00
parent f464670689
commit 77d2a01ea8
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=204886

View file

@ -788,7 +788,15 @@ gv_worker(void *arg)
"completely accessible", p->name);
break;
}
if (p->flags & GV_PLEX_SYNCING ||
p->flags & GV_PLEX_REBUILDING ||
p->flags & GV_PLEX_GROWING) {
G_VINUM_DEBUG(0, "plex %s is busy with "
"syncing or parity build", p->name);
break;
}
p->synced = 0;
p->flags |= GV_PLEX_REBUILDING;
g_topology_assert_not();
g_topology_lock();
err = gv_access(p->vol_sc->provider, 1, 1, 0);
@ -811,6 +819,13 @@ gv_worker(void *arg)
"completely accessible", p->name);
break;
}
if (p->flags & GV_PLEX_SYNCING ||
p->flags & GV_PLEX_REBUILDING ||
p->flags & GV_PLEX_GROWING) {
G_VINUM_DEBUG(0, "plex %s is busy with "
"syncing or parity build", p->name);
break;
}
p->synced = 0;
g_topology_assert_not();
g_topology_lock();