From 5316905d12bde98d08bb0ff7d4519783484410de Mon Sep 17 00:00:00 2001 From: Auke Kok Date: Fri, 10 May 2024 13:41:32 -0400 Subject: [PATCH] Fix symlink insertion. This block never called insert_fs_item() creating dangling keys that never got inserted. Additionally, the _sk_second member is le64 and we have to use the proper intrinsic to increment it. Signed-off-by: Auke Kok --- utils/src/parallel_restore.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/utils/src/parallel_restore.c b/utils/src/parallel_restore.c index d7d20736..2e411ec9 100644 --- a/utils/src/parallel_restore.c +++ b/utils/src/parallel_restore.c @@ -664,8 +664,14 @@ static spr_err_t insert_symlink_items(struct scoutfs_parallel_restore_writer *wr bti->key = key; memcpy(bti->val, target + off, bytes); + err = insert_fs_item(wri, bti); + if (err) { + free(bti); + goto out; + } + off += bytes; - key._sk_second++; + le64_add_cpu(&key._sk_second, 1); } err = 0;