You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add a condition to not add the relinking key to the leafs of the chain used for online
coalesce.
Tapdisk will have done the rebase itself and the scan before doing the
relink would drop the VDIs from the children list and the tag would never
be removed.
It would then block the vdi_activate that check if relink is happening
before continuing.
Signed-off-by: Damien Thenot <damien.thenot@vates.tech>
Copy file name to clipboardExpand all lines: drivers/cleanup.py
+46-14Lines changed: 46 additions & 14 deletions
Original file line number
Diff line number
Diff line change
@@ -1092,7 +1092,18 @@ def _reload(self):
1092
1092
raise
1093
1093
self.refresh()
1094
1094
1095
-
def_tagChildrenForRelink(self):
1095
+
def_needRelink(self, list_not_to_relink):
1096
+
"""
1097
+
If we coalesce up the chain, we shouldn't need to do the relink at all, we only need to do the relink on the children if their direct parent was the one we were coalescing
#Leaf opened on another host, we need to call online coalesce
2523
-
util.SMlog("Remote coalesce for {}".format(vdi.path))
2548
+
Util.log("Remote coalesce for {}".format(vdi.path))
2524
2549
vdi._doCoalesceOnHost(list(host_refs)[0])
2550
+
# If we use a host OpaqueRef to do a online coalesce, this vdi will not need to be relinked since it was done by tapdisk
2551
+
# If we coalesce up the chain, we shouldn't need to do the relink at all, we only need to do the relink on the children if their direct parent was the one we were coalescing
vdi._relinkSkip()#TODO: We could check if the parent is already the right one before doing the relink, or we could do the relink a second time, it doesn't seem to cause issues
0 commit comments