From c28411bce33cdd53bf62133bc496f1d065bdee71 Mon Sep 17 00:00:00 2001 From: Wang Han <416810799@qq.com> Date: Sat, 15 Mar 2025 07:39:19 +0800 Subject: [PATCH] Skip staging package when searching manager (#2511) --- kernel/throne_tracker.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kernel/throne_tracker.c b/kernel/throne_tracker.c index d7c1dae1..65530e3a 100644 --- a/kernel/throne_tracker.c +++ b/kernel/throne_tracker.c @@ -148,6 +148,12 @@ FILLDIR_RETURN_TYPE my_actor(struct dir_context *ctx, const char *name, if (!strncmp(name, "..", namelen) || !strncmp(name, ".", namelen)) return FILLDIR_ACTOR_CONTINUE; // Skip "." and ".." + if (d_type == DT_DIR && namelen >= 8 && !strncmp(name, "vmdl", 4) && + !strncmp(name + namelen - 4, ".tmp", 4)) { + pr_info("Skipping directory: %.*s\n", namelen, name); + return FILLDIR_ACTOR_CONTINUE; // Skip staging package + } + if (snprintf(dirpath, DATA_PATH_LEN, "%s/%.*s", my_ctx->parent_dir, namelen, name) >= DATA_PATH_LEN) { pr_err("Path too long: %s/%.*s\n", my_ctx->parent_dir, namelen,