Backport: Fix: remove inode from inode registry ht
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 6 Jul 2018 23:14:43 +0000 (19:14 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 6 Jul 2018 23:17:58 +0000 (19:17 -0400)
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/common/fd-tracker/inode.c

index e0d8bbfcc8605796d36ee6634cfd8551b8067a34..f02f0a812d67d516df48c7702b72f42f1be35ddb 100644 (file)
@@ -103,6 +103,9 @@ void lttng_inode_destroy(struct lttng_inode *inode)
                        PERROR("Failed to unlink %s", inode->path);
                }
        }
+       rcu_read_lock();
+       cds_lfht_del(inode->registry_ht, &inode->registry_node);
+       rcu_read_unlock();
        call_rcu(&inode->rcu_head, lttng_inode_delete);
 }
 
@@ -249,6 +252,7 @@ struct lttng_inode *lttng_inode_create(const struct inode_id *id,
        cds_lfht_node_init(&inode->registry_node);
        inode->id = *id;
        inode->path = strdup(path);
+       inode->registry_ht = ht;
        if (!inode->path) {
                goto error;
        }
This page took 0.026944 seconds and 5 git commands to generate.