From a680d4fb87bad829989949e5ea4fc6db90453456 Mon Sep 17 00:00:00 2001 From: Arian van Putten Date: Wed, 31 May 2023 13:27:13 +0200 Subject: [PATCH] bootctl: also print efi files not owned by systemd in status We should not skip over unknown entries in EFI/BOOT/ but also print them out in status so people are aware that they are there. --- src/boot/bootctl-status.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/boot/bootctl-status.c b/src/boot/bootctl-status.c index 0e4e87ae241..3e9baea4d9d 100644 --- a/src/boot/bootctl-status.c +++ b/src/boot/bootctl-status.c @@ -226,9 +226,8 @@ static int enumerate_binaries( return log_error_errno(errno, "Failed to open file for reading: %m"); r = get_file_version(fd, &v); - if (r == -ESRCH) /* Not the file we are looking for. */ - continue; - if (r < 0) + + if (r < 0 && r != -ESRCH) return r; if (*previous) { /* Let's output the previous entry now, since now we know that there will be @@ -243,7 +242,10 @@ static int enumerate_binaries( /* Do not output this entry immediately, but store what should be printed in a state * variable, because we only will know the tree glyph to print (branch or final edge) once we * read one more entry */ - r = asprintf(previous, "/%s/%s (%s%s%s)", path, de->d_name, ansi_highlight(), v, ansi_normal()); + if (r == -ESRCH) /* No systemd-owned file but still interesting to print */ + r = asprintf(previous, "/%s/%s", path, de->d_name); + else /* if (r >= 0) */ + r = asprintf(previous, "/%s/%s (%s%s%s)", path, de->d_name, ansi_highlight(), v, ansi_normal()); if (r < 0) return log_oom(); -- 2.47.3