[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 4/7] block: Drop detached child from ignore list
From: |
Hanna Reitz |
Subject: |
[PATCH 4/7] block: Drop detached child from ignore list |
Date: |
Thu, 4 Nov 2021 11:38:46 +0100 |
bdrv_attach_child_common_abort() restores the parent's AioContext. To
do so, the child (which was supposed to be attached, but is now detached
again by this abort handler) is added to the ignore list for the
AioContext changing functions.
However, since we modify a BDS's children list in the BdrvChildClass's
.attach and .detach handlers, the child is already effectively detached
from the parent by this point. We do not need to put it into the ignore
list.
Use this opportunity to clean up the empty line structure: Keep setting
the ignore list, invoking the AioContext function, and freeing the
ignore list in blocks separated by empty lines.
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
---
block.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/block.c b/block.c
index b95f8dcf8f..6d230ad3d1 100644
--- a/block.c
+++ b/block.c
@@ -2774,14 +2774,16 @@ static void bdrv_attach_child_common_abort(void *opaque)
}
if (bdrv_child_get_parent_aio_context(child) != s->old_parent_ctx) {
- GSList *ignore = g_slist_prepend(NULL, child);
+ GSList *ignore;
+ /* No need to ignore `child`, because it has been detached already */
+ ignore = NULL;
child->klass->can_set_aio_ctx(child, s->old_parent_ctx, &ignore,
&error_abort);
g_slist_free(ignore);
- ignore = g_slist_prepend(NULL, child);
- child->klass->set_aio_ctx(child, s->old_parent_ctx, &ignore);
+ ignore = NULL;
+ child->klass->set_aio_ctx(child, s->old_parent_ctx, &ignore);
g_slist_free(ignore);
}
--
2.33.1
- [PATCH 0/7] block: Attempt on fixing 030-reported errors, Hanna Reitz, 2021/11/04
- [PATCH 1/7] stream: Traverse graph after modification, Hanna Reitz, 2021/11/04
- [PATCH 2/7] block: Manipulate children list in .attach/.detach, Hanna Reitz, 2021/11/04
- [PATCH 3/7] block: Unite remove_empty_child and child_free, Hanna Reitz, 2021/11/04
- [PATCH 4/7] block: Drop detached child from ignore list,
Hanna Reitz <=
- [PATCH 5/7] block: Pass BdrvChild ** to replace_child_noperm, Hanna Reitz, 2021/11/04
- [PATCH 7/7] iotests/030: Unthrottle parallel jobs in reverse, Hanna Reitz, 2021/11/04
- [PATCH 6/7] block: Let replace_child_noperm free children, Hanna Reitz, 2021/11/04
- Re: [PATCH 0/7] block: Attempt on fixing 030-reported errors, Kevin Wolf, 2021/11/04