[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH 1/4] LostIOv2: Knoten beim unlink aus Liste löschen
! LostIOv2: Wenn Userspace-Services einen Knoten gelöscht haben, dann
wurde der zwar beim Kernel abgemeldet und der Speicher freigegeben,
aber er wurde nicht aus der Userspace-Liste der Verzeichniseinträge
gelöscht. Über kurz oder lang gibt das Rot.
Signed-off-by: Kevin Wolf <kevin@xxxxxxxxxx>
---
src/modules/lib/lostio/lio_server.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/modules/lib/lostio/lio_server.c b/src/modules/lib/lostio/lio_server.c
index 2f3825d..e90e3f7 100644
--- a/src/modules/lib/lostio/lio_server.c
+++ b/src/modules/lib/lostio/lio_server.c
@@ -527,5 +527,16 @@ struct lio_node* lio_resource_get_child(struct lio_resource* parent,
void lio_resource_remove_child(struct lio_resource* parent,
struct lio_node* child)
{
- lio_srv_node_remove(parent->server.id, child->name);
+ struct lio_node* node;
+ size_t i;
+
+ for (i = 0; (node = list_get_element_at(parent->children, i)); i++) {
+ if (node == child) {
+ list_remove(parent->children, i);
+ lio_srv_node_remove(parent->server.id, child->name);
+ return;
+ }
+ }
+
+ abort();
}
--
2.1.4