Move to kernel style SPDX license identifiers
[lttng-tools.git] / src / bin / lttng-sessiond / ust-registry.c
index 615078b66bd97793713ded0ee3cad8b95d86e242..2013902e9effa52b6e3c38c1d95ef03b3f68221b 100644 (file)
@@ -1,18 +1,8 @@
 /*
- * Copyright (C) 2013 David Goulet <dgoulet@efficios.com>
+ * Copyright (C) 2013 David Goulet <dgoulet@efficios.com>
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License, version 2 only, as
- * published by the Free Software Foundation.
+ * SPDX-License-Identifier: GPL-2.0-only
  *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 51
- * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
 #define _LGPL_SOURCE
@@ -549,8 +539,8 @@ static void destroy_enum_rcu(struct rcu_head *head)
  * Lookup enumeration by name and comparing enumeration entries.
  * Needs to be called from RCU read-side critical section.
  */
-struct ust_registry_enum *
-       ust_registry_lookup_enum(struct ust_registry_session *session,
+static struct ust_registry_enum *ust_registry_lookup_enum(
+               struct ust_registry_session *session,
                const struct ust_registry_enum *reg_enum_lookup)
 {
        struct ust_registry_enum *reg_enum = NULL;
@@ -558,8 +548,8 @@ struct ust_registry_enum *
        struct lttng_ht_iter iter;
 
        cds_lfht_lookup(session->enums->ht,
-                       ht_hash_enum((void *) &reg_enum_lookup, lttng_ht_seed),
-                       ht_match_enum, &reg_enum_lookup, &iter.iter);
+                       ht_hash_enum((void *) reg_enum_lookup, lttng_ht_seed),
+                       ht_match_enum, reg_enum_lookup, &iter.iter);
        node = lttng_ht_iter_get_node_str(&iter);
        if (!node) {
                goto end;
@@ -681,7 +671,7 @@ end:
  * the enumeration.
  * This MUST be called within a RCU read side lock section.
  */
-void ust_registry_destroy_enum(struct ust_registry_session *reg_session,
+static void ust_registry_destroy_enum(struct ust_registry_session *reg_session,
                struct ust_registry_enum *reg_enum)
 {
        int ret;
@@ -880,7 +870,9 @@ int ust_registry_session_init(struct ust_registry_session **sessionp,
                const char *root_shm_path,
                const char *shm_path,
                uid_t euid,
-               gid_t egid)
+               gid_t egid,
+               uint64_t tracing_id,
+               uid_t tracing_uid)
 {
        int ret;
        struct ust_registry_session *session;
@@ -962,6 +954,9 @@ int ust_registry_session_init(struct ust_registry_session **sessionp,
                goto error;
        }
 
+       session->tracing_id = tracing_id;
+       session->tracing_uid = tracing_uid;
+
        pthread_mutex_lock(&session->lock);
        ret = ust_metadata_session_statedump(session, app, major, minor);
        pthread_mutex_unlock(&session->lock);
@@ -1031,7 +1026,8 @@ void ust_registry_session_destroy(struct ust_registry_session *reg)
                 * Try deleting the directory hierarchy.
                 */
                (void) run_as_rmdir_recursive(reg->root_shm_path,
-                               reg->uid, reg->gid);
+                               reg->uid, reg->gid,
+                               LTTNG_DIRECTORY_HANDLE_SKIP_NON_EMPTY_FLAG);
        }
        /* Destroy the enum hash table */
        if (reg->enums) {
This page took 0.025885 seconds and 5 git commands to generate.